Participe do teste de descontinuação para armazenamento de terceiros não particionado, service workers e APIs de comunicação

A partir do Chrome 115, armazenamento, service workers e APIs de comunicação são particionados em contextos de terceiros. Além de serem isoladas pela política de mesma origem, as APIs afetadas usadas em contextos de terceiros também são separadas pelo site do contexto de nível superior. Os sites que não tiveram tempo para implementar a compatibilidade com o particionamento de armazenamento de terceiros podem participar de um teste de descontinuação para cancelar a partição temporariamente (manter o isolamento com a política de mesma origem, mas remover o isolamento pelo site de nível superior) e restaurar o comportamento anterior de armazenamento, service workers e APIs de comunicação no conteúdo incorporado no site.

Além de um teste geral de descontinuação do desparticionamento, é possível participar de um teste de descontinuação específico apenas para window.sessionStorage. Esse teste está disponível devido à necessidade de alguns sites migrarem o fluxo signInWithRedirect do Firebase. Para mais informações sobre essa migração, consulte este artigo.

Testes de descontinuação disponíveis

A partir do Chrome 115, abriremos dois testes de descontinuação:

  1. DisableThirdPartyStoragePartitioning: permite que um site de nível superior remova a partição (remove temporariamente o isolamento por site de nível superior) em APIs de armazenamento, service workers e comunicação no conteúdo de terceiros incorporado nas páginas.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: permite que um site desparticione sessionStorage nas navegações.

Isso permitirá que os sites descubram e corrijam problemas antes que o particionamento de terceiros inicie o processo de lançamento no Chrome 115.

Confira abaixo uma visão geral do teste de descontinuação e o que esperar. Se você tiver feedback para compartilhar ou se tiver algum problema durante o teste, informe-nos no repositório do GitHub sobre o teste de descontinuação do armazenamento particionado.

DisableThirdPartyStoragePartitioning

As APIs a seguir permanecerão não particionadas em contextos de terceiros caso você registre o site de nível superior no teste de descontinuação do DisableThirdPartyStoragePartitioning: APIs Storage (como localStorage, sessionStorage, IndexedDB, Cota e outras), APIs Communication (como BroadcastChannel, SharedWorkers e WebLocks) e a API ServiceWorker.

Exemplo:

Diagrama de particionamento de armazenamento

Para uma explicação mais detalhada, confira a explicação do projeto.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Se você se inscrever no teste de descontinuação do DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, navegar em uma guia até uma origem registrada fará com que todos os iframes entre sites da mesma origem permaneçam não particionados apenas para Window.sessionStorage e somente durante o ciclo de vida dessa guia específica. Enquanto o teste de descontinuação do DisableThirdPartyStoragePartitioning afeta todos os contextos de terceiros incorporados na origem registrada, o teste de descontinuação do DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning registra uma determinada origem para receber acesso não particionado quando incorporado a contextos de terceiros.

Exemplo:

Diagrama de particionamento de armazenamento após parição geral.

O que isso significa para os desenvolvedores da Web?

Os sites precisam auditar o uso de armazenamento não particionado, service worker e APIs de comunicação em contextos de terceiros e, se necessário, preparar-se para o particionamento de terceiros antes que esses testes de descontinuação expirem. A intenção é expirar esses testes de descontinuação com o lançamento do Chrome 127 em 3 de setembro de 2024.

Para instruir o navegador a cancelar a partição do armazenamento no conteúdo de terceiros incorporado nas páginas, os sites de nível superior precisam se registrar em um ou em ambos os testes de descontinuação e adicionar os tokens de teste correspondentes aos cabeçalhos de resposta HTTP. Confira o exemplo detalhado abaixo.

Cada teste de descontinuação está disponível no Windows, Mac, Linux, Chrome OS e Android.

Participar dos testes de descontinuação

Confira a seguir uma breve visão geral de como participar de um ou de ambos os testes de descontinuação. Para instruções mais detalhadas, acesse Introdução aos testes de origem.

  1. Inicie o Chrome 115 (ou mais recente) e verifique se a flag ThirdPartyStoragePartitioning está ativada.
  2. Verifique se o comportamento do conteúdo de terceiros incorporado no site de nível superior foi corrompido pelo particionamento de armazenamento. Caso contrário, não será necessário participar dos testes de descontinuação.
  3. Inscreva-se para o teste de descontinuação e receba um token para seus domínios acessando:
    1. Para um site de nível superior desparticionar armazenamento, service workers e APIs de comunicação no conteúdo incorporado de terceiros: DisableThirdPartyStoragePartitioning
    2. Para um site de nível superior desparticionar sessionStorage nas navegações: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Adicione um token de teste de origem à sua página:
    1. Para o teste do DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, é possível adicionar um Origin-Trial: <DEPRECATION TRIAL TOKEN> ao cabeçalho de resposta HTTP do site de nível superior, em que <DEPRECATION TRIAL TOKEN> contém o token que você recebeu ao se registrar no teste de descontinuação. Você também pode fazer isso por meio de HTML ` mesma tag.
    2. Para o teste de DisableThirdPartyStoragePartitioning, o token precisa ser fornecido por uma tag HTML <meta> injetada via JavaScript. O método de cabeçalho HTTP não é compatível.
  5. Carregue seu site no Chrome 115 (ou posterior) com o ThirdPartyStoragePartitioning ainda ativado e verifique se algum problema relacionado ao particionamento foi mitigado corretamente.
  6. Para interromper a participação no teste de descontinuação, basta remover o token adicionado na etapa 2.

O teste de descontinuação do DisableThirdPartyStoragePartitioning oferece suporte ao recurso de testes de origem de terceiros, mas o script de terceiros que injeta o token precisa ser avaliado no frame de nível superior antes que o iframe de terceiros que não terá o particionamento aplicado seja carregado. O teste de descontinuação do DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning não tem suporte a testes de origem de terceiros, porque o inscrito precisa ter sido o site de nível superior em algum momento do ciclo de vida da guia especificada. O guia para resolver problemas de testes de origem do Chrome (em inglês) fornece uma lista de verificação completa para garantir que seu token esteja configurado corretamente.

Compartilhar feedback

Envie feedback ou problemas encontrados para o repositório do GitHub de teste de descontinuação do armazenamento particionado.