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, as APIs de armazenamento, workers de serviço e comunicação são particionadas 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 remover a partição temporariamente (continuar o isolamento com a mesma política de origem, mas remover o isolamento por 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 de suspensão de uso geral para desparticionamento, é possível participar de um teste de suspensão de uso específico para window.sessionStorage. Esse teste está disponível devido à necessidade de alguns sites migrarem o fluxo do Firebase signInWithRedirect. Para mais informações sobre essa migração, consulte Práticas recomendadas para usar o signInWithRedirect em navegadores que bloqueiam o acesso ao armazenamento de terceiros.

Para que os desenvolvedores tenham mais tempo para se adaptar à nova implementação do particionamento de armazenamento, os testes de descontinuação vão estar disponíveis até o lançamento do Chrome 127, programado para 23 de julho de 2024. O teste de descontinuação vai expirar para os usuários das versões 111 a 126 do Chrome em 3 de setembro de 2024.

Testes de descontinuação disponíveis

A partir do Chrome 115, dois testes de descontinuação estão disponíveis:

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

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

DisableThirdPartyStoragePartitioning

As APIs a seguir vão permanecer não particionadas em contextos de terceiros se você inscrever o site de nível superior no teste de descontinuação DisableThirdPartyStoragePartitioning: APIs de armazenamento (como localStorage, sessionStorage, IndexedDB, Quota e outras), APIs de comunicação (como BroadcastChannel, SharedWorkers e WebLocks) e API ServiceWorker.

Exemplo:

Diagrama de particionamento de armazenamento

Para uma explicação mais detalhada, consulte o projeto explicativo.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

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

Exemplo:

Diagrama de particionamento de armazenamento após a particionamento geral.

O que isso significa para os desenvolvedores da Web?

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

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

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

Participar dos testes de descontinuação

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

  1. Inicie o Chrome versão 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 é interrompido pelo particionamento de armazenamento. Caso contrário, não é necessário participar dos testes de descontinuação.
  3. Para se inscrever no teste de descontinuação e receber um token para seus domínios, acesse:
    1. Para que um site de nível superior remova a partição de armazenamento, service workers e APIs de comunicação no conteúdo incorporado de terceiros: DisableThirdPartyStoragePartitioning
    2. Para que um site de nível superior não particione o sessionStorage em navegações: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Adicione um token de teste de origem à sua página:
    1. Para o teste DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, adicione 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 recebido ao se inscrever no teste de descontinuação. Também é possível fazer isso usando o HTML ` .
    2. Para o teste DisableThirdPartyStoragePartitioning, o token precisa ser fornecido por uma tag HTML <meta> injetada por JavaScript. O método de cabeçalho HTTP não é compatível.
  5. Carregue seu site no Chrome 115 (ou versão mais recente) com ThirdPartyStoragePartitioning ainda ativado e verifique se todos os problemas relacionados à partição foram mitigados corretamente.
  6. Para deixar de participar do teste de descontinuação, basta remover o token que você adicionou 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 tem particionamento aplicado seja carregado. O teste de descontinuação de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning não oferece suporte a testes de origem de terceiros, porque o participante precisa ter sido o site de nível superior em algum momento da vida útil da guia. O guia de solução de problemas com testes de origem do Chrome oferece 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 do teste de descontinuação do armazenamento particionado.