cookies

Habilita extens√Ķes a obter e atribuir cookies, e ser notificado quando eles mudam.

Para usar esta API, voc√™ precisa incluir a API permission "cookies" em seu arquivo manifest.json, bem como a host permissions para os sites cujos cookies voc√™ precisa acessar. Veja cookie Permissions.

Permiss√Ķes

Para usar esta API, uma extens√£o especificar a "cookies" API permission em seu arquivo manifest, junto com a host permissions para qualquer site que deseja acessar os cookies. O add-on pode ler ou escrever qualquer cookie no qual poderia ser lido ou escrito pela URL correspondente nas permiss√Ķes de host, por exemplo:

http://*.example.com/

Uma extens√£o com esta permiss√£o de host pode:

  • Ler um cookie inseguro para www.example.com, com qualquer caminho.
  • Escrever um cookie seguro ou inseguro para www.example.com, com qualquer caminho.

n√£o pode:

  • Ler um cookie seguro de www.example.com.
http://www.example.com/

Uma extens√£o com esta permiss√£o de host pode:

  • Ler um cookie n√£o seguro para www.example.com, com qualquer caminho.
  • Ler um cookie n√£o seguro para .example.com, com qualquer caminho.
  • Escrever um cookie seguro ou n√£o seguro para www.example.com com qualquer caminho.
  • Escrever um cookie seguro ou n√£o seguro para .example.com com qualquer caminho.

n√£o pode:

  • Ler ou escrever um cookie para foo.example.com.
  • Ler ou escrever um cookie para foo.www.example.com.
*://*.example.com/

Uma extens√£o com esta permiss√£o de host pode:

  • Ler ou escrever um cookie seguro ou inseguro para www.example.com com qualquer caminho.

Isolamento de primera parte

Cookies de terceiros s√£o aquleles enviados por sites em que voc√™ est√° num dado momento, por exemplo:

  1. Voc√™ acessa bbc.com. Ele cont√©m uma publicidade do tracker.com que atribui um cookie associado com o dom√≠nio "tracker.com".
  2. Voc√™ acessa cnn.com. Ele tamb√©m cont√©m uma publicidade do tracker.com que atribui um cookie associado ao dom√≠nio "tracker.com".
  3. Eventualmente ambos os cookies podem ser enviados para tracker.com. Quem ent√£o pode descobrir que o mesmo usu√°rio visitou ambos os sites.

Quando um isolamento de primeira parte est√° ativo, cookies s√£o ainda qualificados pelo dom√≠nio da p√°gina original visitada pelo usu√°rio (essencialmente, o dom√≠nio exibe o usu√°rio na barra da URL, tamb√©m conhecido como "dom√≠nio de primeira parte). Isto significa que n√£o √© possivel para um rastreador correlacionar o cookie da bbc.com com o cookie da cnn.com, ent√£o o rastreador n√£o pode monitorar um simples usu√°rios atrav√©s de ambos os sites.

Isolamento de primera parte pode ser habilitado diretamente pelo usu√°rio ajustando a configura√ß√£o do navegador , e pode ser atribuia do extens√Ķes usando a configura√ß√£o firstPartyIsolate atribuida a API privacy. Observe que este isolamento de primeira parte est√° habilitado por padr√£o no navegador Tor.

Na API cookies, o dom√≠nio de primeira parte √© representado usando o atributo firstPartyDomain. Todos os cookies atribuidos enquanto o isolamento de primeira parte est√° habilitado ter√° este atributo atribuito para o dom√≠nio da p√°gina original. No exemplo acima, deveria ser "bbc.com" para um cookie e "cnn.com" para outro. Todos os cookies atribuidos pelos websites enquanto o isolamento de primeira parte estiver desabilitado ter√£o sua propriedade atribuida a uma string vazia.

As APIs cookies.get(), cookies.getAll(), cookies.set() and cookies.remove() aceitam a opção firstPartyDomain.

Quando o isolamento de primeira parte est√° habilitado, voc√™ deve informar esta op√ß√£o ou a chamada da API ir√° falhar e retornar uma promise rejeitada. For get(), set(), and remove() you must pass a string value. Para um getAll(), voc√™ pode passar null, e ir√° obter todos os cookies que possuem ou n√£o um valor n√£o vazio para o firstPartyDomain.

Quando o isolamento de primeira parte est√° desabilitado, o par√Ęmetro firstPartyDomain √© opcional por padr√£o √© uma string vazia.  Uma string n√£o vazia pode ser utilizada para recuperar ou podificar cookies de isolamento de primeira parte.  Da mesma forma, passando null como firstPartyDomain para o getAll() retornar√° todos os cookies.

Tipos

cookies.Cookie
Representa a informação sobre um cookie HTTP.
cookies.CookieStore
Representa um cookie armazenado no navegador.
cookies.OnChangedCause
Representa o motivo da mudança de um cookie.

Métodos

cookies.get()
Recupera informa√ß√Ķes sobre um √ļnico cookie.
cookies.getAll()
Recupera todos os cookies com o padr√£o de um conjunto de filtros fornecido.
cookies.set()
Atribui um cookie com um dado fornecido; pode sobrescrever cookies equivalentes caso existam.
cookies.remove()
Remove um cookie pelo nome.
cookies.getAllCookieStores()
Lista todos os cookies armazenados.

Manipulador de eventos

cookies.onChanged
Disparado quando um cookie é criado ou removido.

Compatibilidade de navegadores

BCD tables only load in the browser

Example extensions

Agradecimentos

Esta API √© baseada na API chrome.cookies do Chromium. Esta documenta√ß√£o √© derivada do cookies.json no c√≥digo do Chromium.