No Chrome 132, os desenvolvedores podem participar de um teste para desenvolvedores e conhecer uma nova abordagem de pop-ups da Web: pop-ups particionados. Este teste de desenvolvedor está disponível apenas para computadores e ainda não está disponível no Android.
Um pop-up particionado é um novo tipo de pop-up projetado para interações de curta duração, como logins ou confirmações rápidas. Ele carrega conteúdo da Web com dois recursos exclusivos:
Por que precisamos de pop-ups particionados?
Os pop-ups particionados foram criados para manter as propriedades de privacidade de um iFrame particionado e as propriedades de segurança de pop-ups.
À medida que mais usuários ativam a navegação sem cookies de terceiros, os fluxos que dependem do armazenamento de dados em um pop-up para recuperação em um contexto de terceiros mais tarde (por exemplo, para manter a sessão do usuário em vários sites) podem ser interrompidos. O objetivo dos pop-ups particionados é resolver esse problema.
Como funcionam os pop-ups particionados?
O armazenamento de cada pop-up particionado é particionado para o abridor. O particionamento de armazenamento limita o acesso a dados entre sites, reduzindo os riscos de rastreamento e ataques de injeção de script. Saiba como funciona o particionamento de armazenamento na nossa documentação.
Considere um site opener.example
que incorpora conteúdo de
third-party.example
. Para mostrar conteúdo personalizado em opener.example
, o
usuário precisa fazer login em third-party.example
. Quando os cookies de terceiros são
bloqueados no navegador do usuário, o fluxo de pop-up atual é o seguinte:
- O usuário clica em um botão de login.
- Uma caixa de diálogo é aberta.
- O usuário faz login no contexto de nível superior de
third-party.example
, e um cookie de autenticação não particionado é gravado. - O conteúdo
third-party.example
incorporado emopener.example
não tem acesso aos próprios cookies de nível superior gravados emthird-party.example
quando apresentado em um contexto próprio. Isso acontece porque o cookie de autenticação não é particionado e, portanto, é um cookie de terceiros.
O armazenamento de um pop-up particionado é particionado para o abridor. Isso muda as etapas 3 a 4 dos fluxos:
O usuário faz login no contexto de nível superior de
third-party.example
. Como ele é aberto em um pop-up particionado, o armazenamento é particionado poropener.example
.O conteúdo
third-party.example
incorporado noopener.example
tem acesso ao próprio cookie definido no pop-up, já que eles compartilham o mesmo armazenamento particionado.
Interface semelhante a uma modal em relação à guia de abertura
O objetivo dos pop-ups particionados é ajudar o usuário a entender que o abridor e o pop-up estão relacionados:
- Quando o usuário muda para outra guia, o pop-in fica invisível e inacessível automaticamente, da mesma forma que um modal só fica visível quando a guia de abertura está ativa.
- Quando o usuário retorna à guia de abertura, o pop-up é mostrado novamente.
- O usuário não pode fazer mudanças na barra de endereço do navegador do pop-up.
Faça um teste
O Chrome 132 apresenta um teste para desenvolvedores do recurso de pop-ups particionados. Isso significa que o recurso vai estar disponível com uma flag. Confira como testar pop-ups particionados:
- Verifique se você está usando o Chrome 132 ou mais recente.
- Navegue até
chrome://flags#partitioned-popins
e ative a flag de recurso. - Reinicie o Chrome.
- Teste nossa demonstração.
Usar pop-ups particionados no seu site
Para usar um pop-up particionado no seu site, chame o método window.open()
com o parâmetro popin
transmitido:
window.open("third-party-popin.example", "_blank", "popin");
Envie feedback
Estamos testando pop-ups divididos e queremos o feedback dos desenvolvedores. Confira alguns possíveis cenários de caso de uso:
- Fluxo de autenticação do usuário. Se você tiver implementado um fluxo de autenticação personalizado e a autenticação ocorrer em um domínio diferente do seu site (por exemplo, os usuários do
site.example
fazem login noauth-site.example
), tente abrir a página de autenticação em um pop-up para usar o cookie de sessão na página de abertura. - Conteúdo incorporado. Use pop-ups particionados para mostrar mais conteúdo de um widget de terceiros, como uma caixa de diálogo de configurações, uma imagem ou um PDF (ou outro conteúdo que normalmente é carregado em um pop-up), renderizado em uma janela maior. Nesse caso, o objetivo dos pop-ups particionados é manter o estado da sessão do usuário entre o widget de terceiros e o site.
Se você tiver algum desses cenários nas suas soluções, outros casos de uso em mente ou quiser ajudar a moldar o futuro desse recurso, teste-o e nos avise:
- Você teve algum problema?
- Você tem sugestões para melhorar a experiência do usuário?
- Você tem alguma sugestão para melhorar a interface? Especificamente, você acha que a interface indica claramente que o abridor e o pop-up estão relacionados?
- Você acha esse recurso útil?
- Há outros casos de uso para os pop-ups particionados?
Envie uma solicitação no GitHub para compartilhar sua opinião.