Fichier manifeste – Bac à sable

Avertissement : À partir de la version 57, Chrome n'autorisera plus le contenu Web externe (y compris les cadres et les scripts intégrés) dans les pages en bac à sable. Veuillez utiliser une vue Web à la place.

Définit un ensemble de pages d'applications ou d'extensions à diffuser dans une origine unique en bac à sable. et éventuellement Content Security Policy à utiliser. Le fait d'être dans un bac à sable a deux conséquences :

  1. Une page placée dans un bac à sable n'a pas accès aux API d'extension ou d'application, ni à un accès direct aux pages non placées dans un bac à sable (elle peut communiquer avec elles via postMessage()).
  2. Une page en bac à sable n'est pas soumise à la Content Security Policy (CSP) utilisée par le reste des l'application ou l'extension (elle possède sa propre valeur CSP) ; Cela signifie, par exemple, qu'il peut Utilisez un script intégré et eval.

    Par exemple, voici comment spécifier que deux pages d'extension doivent être diffusées dans un bac à sable avec une balise CSP personnalisée:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    Si aucune valeur n'est spécifiée, la valeur par défaut de content_security_policy est sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. Vous pouvez spécifier votre valeur CSP pour restreindre davantage le bac à sable, mais la valeur la directive sandbox et peut ne pas contenir le jeton allow-same-origin (consultez la page HTML5 spécification des éventuels jetons de bac à sable). De plus, il se peut que le fournisseur de services cloud que vous spécifiez n'autorise pas le chargement contenu Web externe dans des pages en bac à sable.

Notez que vous ne devez lister que les pages que vous prévoyez de charger dans des fenêtres ou des cadres. Ressources utilisées par les pages en bac à sable (par exemple, les feuilles de style ou les fichiers sources JavaScript) n'ont pas besoin d'apparaître dans le sandboxed_page, ils utiliseront le bac à sable de la page qui les intègre.

"Using eval in Chrome Extensions. de manière sécurisée" explique plus en détail l'implémentation d'un workflow de bac à sable qui permet d'utiliser des bibliothèques qui auraient autrement des problèmes d'exécution sous le Règlement relatif à la sécurité du contenu par défaut de l'extension.

La page de bac à sable ne peut être spécifiée que lorsque vous utilisez manifest_version 2 ou une version ultérieure.