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 plutôt utiliser une webview.

Définit un ensemble de pages d'application ou d'extension qui doivent être diffusées dans une origine unique de bac à sable, et éventuellement une Content Security Policy à utiliser avec ces pages. La présence dans un bac à sable a deux conséquences:

  1. Une page en bac à sable n'a pas accès aux API d'extension ou d'application, ni à un accès direct à des pages hors 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 de l'application ou de l'extension (elle possède sa propre valeur CSP). Cela signifie, par exemple, qu'il peut utiliser 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 un CSP personnalisé:

    {
      ...
      "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 content_security_policy par défaut est sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. Vous pouvez spécifier la valeur de votre CSP pour restreindre davantage l'utilisation du bac à sable, mais celle-ci doit comporter la directive sandbox et le jeton allow-same-origin (voir la spécification HTML5 pour connaître les éventuels jetons de bac à sable). En outre, le CSP que vous spécifiez peut ne pas autoriser le chargement de contenu Web externe dans des pages en bac à sable.

Notez que vous ne devez répertorier que les pages qui devraient être chargées dans des fenêtres ou des cadres. Les ressources utilisées par les pages en bac à sable (par exemple, les feuilles de style ou les fichiers sources JavaScript) n'ont pas besoin de figurer dans la liste sandboxed_page, mais le bac à sable de la page qui les intègre.

"Utiliser eval dans les extensions Chrome. "En sécurité" décrit plus en détail la mise en œuvre d'un workflow de bac à sable permettant d'utiliser des bibliothèques qui auraient sinon des problèmes à s'exécuter avec la Content Security Policy par défaut de l'extension.

Vous ne pouvez spécifier une page en bac à sable que si vous utilisez manifest_version 2 ou une version ultérieure.