externally_connectable

A propriedade do manifesto "externally_connectable" declara quais extensões e páginas da Web podem se conectar à sua extensão usando runtime.connect() e runtime.sendMessage().

Para ver um tutorial sobre a transmissão de mensagens, consulte mensagens entre extensões e como enviar mensagens de páginas da Web.

Conectar sem external_connectable

Se a chave externally_connectable não for declarada no manifesto da extensão, todas as extensões poderão se conectar, mas nenhuma página da Web poderá se conectar. Como consequência, ao atualizar seu manifesto para usar externally_connectable, se "ids": ["*"] não for especificado, outras extensões não poderão se conectar à sua extensão. Essa pode ser uma consequência não intencional, então lembre-se.

Manifesto

{
  "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
  },
  ...
}

Referência

A chave de manifesto "externally_connectable" inclui as seguintes propriedades opcionais:

"ids"
Os IDs das extensões que têm permissão para se conectar. Se deixado em branco ou não especificado, nenhuma extensão ou app poderá se conectar. O caractere curinga "*" vai permitir que todas as extensões e apps se conectem.
"matches"
Os padrões de URL das páginas da Web que têm permissão para se conectar. Se deixado em branco ou não especificado, nenhuma página da Web poderá se conectar. Os padrões não podem incluir domínios com caractere curinga nem subdomínios de domínios de nível superior(em vigor), por exemplo:
✅ URLs válidos ❌ URLs inválidos
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
Permite que a extensão use o ID do canal TLS da página da Web conectada a ela. A página da Web também precisa optar por enviar o ID do canal TLS para a extensão, definindo includeTlsChannelId como true nas opções do ambiente de execução.connect connectInfo ou Runtime.sendMessage. Se definido como false, runtime.MessageSender.tlsChannelId nunca será definido em nenhuma circunstância.

Isso não afeta os scripts de conteúdo.