externally_connectable

La propiedad "externally_connectable" del manifiesto declara qué extensiones y páginas web pueden conectarse a tu extensión con runtime.connect() y runtime.sendMessage().

Para obtener un instructivo sobre el paso de mensajes, consulta Mensajería entre extensiones y Envío de mensajes desde páginas web.

Conéctate sin externally_connectable

Si la clave externally_connectable no se declara en el manifiesto de tu extensión, todas las extensiones pueden conectarse, pero ninguna página web puede hacerlo. Como consecuencia, cuando actualices tu manifiesto para usar externally_connectable, si "ids": ["*"] no se especifica, otras extensiones perderán la capacidad de conectarse a tu extensión. Esta puede ser una consecuencia no deseada, así que tenla en cuenta.

Manifiesto

{
  "name": "My externally connectable extension",
  "externally_connectable": {
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
    ],
    // If this field is not specified, no web pages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    "accepts_tls_channel_id": false
  },
  ...
}

Referencia

La clave "externally_connectable" del manifiesto incluye las siguientes propiedades opcionales:

"ids"
Los IDs de las extensiones que pueden conectarse. Si se deja vacío o no se especifica, ninguna extensión o app puede conectarse. El comodín "*" permitirá que se conecten todas las extensiones y apps.
"matches"
Los patrones de coincidencia para las páginas web que pueden conectarse. Si se deja vacío o no se especifica, ninguna página web puede conectarse.
"accepts_tls_channel_id"
Permite que la extensión use el ID de canal TLS de la página web que se conecta a ella. La página web también debe habilitar el envío del ID de canal TLS a la extensión estableciendo includeTlsChannelId en true en connectInfo de runtime.connect o en las opciones de runtime.sendMessage. Si se establece en false, runtime.MessageSender.tlsChannelId nunca se establecerá bajo ninguna circunstancia.

Esto no afecta a las secuencias de comandos de contenido.