Manifiesto: Zona de pruebas

Advertencia: A partir de la versión 57, Chrome ya no permitirá contenido web externo (incluido marcos y secuencias de comandos incorporados) dentro de páginas de la zona de pruebas. En su lugar, usa WebView.

Define un conjunto de páginas de aplicaciones o extensiones que se publicarán en un origen único de zona de pruebas. y, opcionalmente, una política de seguridad de contenido para usar con ellos. Estar en una zona de pruebas tiene dos implicaciones:

  1. Una página de zona de pruebas no tendrá acceso a las APIs de extensiones o de aplicaciones, ni acceso directo a páginas no protegidas por zonas de pruebas (es posible que se comunique con ellas a través de postMessage()).
  2. Una página de zona de pruebas no está sujeta a la Política de Seguridad del Contenido (CSP) que utilizan el resto de los la app o extensión (tiene su propio valor de CSP independiente). Esto significa que, por ejemplo, se pueden Usa una secuencia de comandos intercalada y eval.

    Por ejemplo, aquí te mostramos cómo especificar que dos páginas de extensión se deben publicar en una zona de pruebas con una CSP personalizada:

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

    Si no se especifica, el valor predeterminado de content_security_policy es el siguiente: sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; Puedes especificar tu valor de CSP para restringir aún más la zona de pruebas, pero debe tener el directiva sandbox y que no tenga el token allow-same-origin (consulta el vínculo HTML5 especificación para posibles tokens de la zona de pruebas). Además, es posible que la CSP que especifiques no permita la carga contenido web externo dentro de páginas de la zona de pruebas.

Ten en cuenta que solo necesitas enumerar las páginas que esperabas que se cargaran en ventanas o marcos. Recursos utilizadas por las páginas de zona de pruebas (por ejemplo, hojas de estilo o archivos fuente JavaScript) no deben aparecer en el sandboxed_page, usarán la zona de pruebas de la página en la que los incorporas.

"Usa eval en extensiones de Chrome. de manera segura" se explica en más detalle sobre la implementación de un flujo de trabajo de zona de pruebas que habilite el uso de bibliotecas que, de lo contrario, tendrían problemas para ejecutarse la Política de Seguridad del Contenido predeterminada de una extensión.

La página de zona de pruebas solo se puede especificar cuando se usa manifest_version 2 o una versión posterior.