Manifiesto: Zona de pruebas

Define un conjunto de páginas de extensión que se publicarán en un origen único de zona de pruebas. El La Política de Seguridad del Contenido que usan las páginas de zona de pruebas de una extensión se especifica en el Tecla "content_security_policy".

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 ni tendrá acceso directo a páginas que no están incluidas en la zona de pruebas (es posible que se comunique con ellas mediante 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 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:

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

Si no se especifica, el valor predeterminado de "content_security_policy" es 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 incluir el directiva "sandbox" y NO DEBE tener el token allow-same-origin (consulta el documento HTML5 especificación para posibles tokens de la zona de pruebas).

Ten en cuenta que solo necesitas enumerar las páginas que esperas que se carguen en ventanas o marcos. Recursos utilizadas por las páginas de zona de pruebas (por ejemplo, hojas de estilo o archivos fuente JavaScript) no tienen que aparecer en el Lista pages porque usará la zona de pruebas del marco que los incorpora.

En "Cómo usar eval() en extensiones de Chrome", se detalla cómo implementar 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.