Chrome 127 Beta

Salvo indicação em contrário, as mudanças abaixo se aplicam à versão mais recente do canal Beta do Chrome para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 127 está na versão Beta desde 12 de junho de 2024. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.

CSS

Nesta versão, adicionamos três novos recursos CSS.

CSS "font-size-adjust"

A propriedade CSS font-size-adjust oferece uma maneira de modificar o tamanho de letras minúsculas em relação ao tamanho de letras maiúsculas, que define o tamanho geral da fonte. Essa propriedade é útil em situações em que pode ocorrer uma substituição de fonte.

O Chrome 127 inclui a sintaxe de dois valores para transmitir uma métrica de fonte e um valor.

Texto alternativo com vários argumentos em conteúdo gerado por CSS

A propriedade CSS content permite especificar um texto alternativo para acessibilidade com a seguinte sintaxe:

.has-before-content::before {
    content: url("cat.jpg") / "A cute cat";
  }

A sintaxe mostrada, em que o texto alternativo é fornecido por uma única string, já é compatível com o Chrome. No Chrome 127, o texto alternativo pode ser fornecido por um número arbitrário de elementos, que, além das strings, podem ser funções ou contadores attr(). Exemplo:

.has-before-content::before {
  content: url("cat.jpg") / "A cute " attr(data-animal);
}

Essa entrada de recurso não inclui a adição de suporte de contador.

Suporte a transições de visualização em iframes

No Chrome 127, haverá transições simultâneas de visualização de um mesmo documento em um frame principal e um iframe de mesma origem.

Antes, executar uma transição de visualização usando o document.startViewTransition em um iframe de mesma origem não funcionaria se o frame principal estivesse executando uma transição ao mesmo tempo. A transição do iframe seria ignorada automaticamente. Agora, as duas transições serão executadas.

As transições de visualização em navegações entre documentos de mesma origem em um iframe também vão ser compatíveis.

APIs Web

Adições à API Attribution Reporting

O Chrome 127 inclui mais dois recursos para a API Attribution Reporting. Os relatórios agregados de depuração permitem que os autores das chamadas de API continuem recebendo informações de depuração, mesmo após a descontinuação dos cookies de terceiros. Eles oferecem mais controle sobre a filtragem de atribuição.

Configuração automática de conteúdo em tela cheia

Uma nova configuração de conteúdo "tela cheia automática" permite que administradores corporativos permitam que os sites entrem no modo de tela cheia sem um gesto do usuário. Os usuários também podem permitir que Apps Isolados da Web usem esse recurso nas páginas de configurações do site.

Combinado com a permissão de gerenciamento de janelas e pop-ups desbloqueados, esse recurso desbloqueia recursos valiosos de tela cheia:

  • Abra um pop-up em tela cheia em outra tela com um gesto.
  • Mostrar conteúdo em tela cheia em várias telas com um gesto.
  • Mostra conteúdo em tela cheia em uma nova tela conectada.
  • Troque janelas em tela cheia entre telas com um gesto.
  • Mostrar conteúdo em tela cheia após o consumo ou expiração do gesto do usuário.

Bit de cadeia de ancestral entre sites para CookiePartitionKey de cookies particionados

O Chrome 127 adiciona um bit ancestral entre sites ao keyring do CookiePartitionKey do cookie particionado. Essa alteração unifica a chave de partição com os valores de chave de partição usados no particionamento de armazenamento e adiciona proteção contra ataques de clickjacking, impedindo que os frames incorporados entre sites tenham acesso aos cookies particionados do site de nível superior.

Se uma empresa encontrar alguma falha com iframes incorporados, ela poderá usar a política CookiesAllowedForUrls ou usar cookies SameSite=None sem o atributo particionado e invocar a API Storage Access (SAA) para garantir que os iframes incorporados tenham acesso aos mesmos cookies que o domínio de nível superior.

Documento picture-in-picture: propagar ativação do usuário

Isso torna as ativações do usuário em uma janela picture-in-picture do documento utilizáveis dentro da janela de abertura e o contrário. Isso torna mais ergonômico usar APIs controladas pela ativação do usuário, já que, geralmente, os manipuladores de eventos na janela picture-in-picture do documento são executados no contexto da abertura. Portanto, o contexto da abertura precisa de acesso ao gesto do usuário.

Integridade do mapa de importação

No momento, os módulos ES importados não podem ter a integridade verificada e, portanto, não podem ser executados em ambientes que exigem integridade de sub-recursos ou com diretivas da CSP require-sri-for.

Esse recurso adiciona uma seção integrity para importar mapas, permitindo que os desenvolvedores associem URLs do módulo ES aos metadados de integridade e garantam que eles sejam carregados apenas quando corresponderem aos hashes esperados.

Contêineres de rolagem focalizáveis do teclado

Esse recurso apresenta as seguintes mudanças:

Por padrão, os controles de rolagem podem ser focados por clique e programaticamente com foco. Por padrão, os controles de rolagem sem filhos focalizáveis são focalizáveis pelo teclado.

Essa é uma melhoria importante para ajudar a tornar os controles de rolagem e o conteúdo dos controles mais acessíveis a todos os usuários. Leia mais sobre os benefícios na postagem "Rolagens focalizáveis do teclado". Os controles de rolagem focalizáveis do teclado serão ativados por padrão a partir do Chrome 127. Se os sites precisarem de tempo para se adaptar a esse novo recurso, há algumas opções:

Compatibilidade com No-Vary-Search para pré-renderização

Estende a compatibilidade com o No-Vary-Search para pré-renderizar sobre o suporte anterior à pré-busca. Isso permite que uma entrada de pré-renderização corresponda mesmo que determinados parâmetros de consulta de URL sejam alterados. O cabeçalho de resposta HTTP No-Vary-Search declara que algumas ou todas as partes da consulta de um URL podem ser ignoradas para fins de correspondência de cache.

Eventos do instantâneo

Os eventos de ajuste permitem que os desenvolvedores detectem de maneira confiável quando o alvo de ajuste de um rolador muda e fazem ajustes de estilo.

Os pontos de ajuste de rolagem do CSS geralmente são usados como um mecanismo para criar componentes de seleção interativa de rolagem, em que a seleção é determinada com observadores de intersecção JavaScript e uma estimativa do fim da rolagem. Com a criação de eventos integrados, o estado invisível se tornará útil no momento certo e sempre correto.

Esse recurso adiciona dois eventos JavaScript: scrollsnapchange e scrollsnapchanging. O evento scrollsnapchange permite que os desenvolvedores saibam, na conclusão de uma operação de rolagem (incluindo o ajuste), que o elemento em que um botão de rolagem é inserido mudou. O evento scrollsnapchanging dá aos desenvolvedores uma dica, durante uma operação de rolagem, de que o user agent pretende ajustar o contêiner de rolagem a um novo destino de ajuste com base na entrada de rolagem até o momento.

Capítulo de vídeo em MediaMetadata

Agora é possível adicionar informações de capítulos individuais, como o título da seção, o carimbo de data/hora e uma captura de tela aos metadados de mídia. Isso permite que os usuários naveguem pelo conteúdo da mídia.

Essa informação só vai aparecer nas notificações de mídia do ChromeOS, e não nos controles de mídia globais do navegador Chrome.

WebGPU: atributo de informações do GPUAdapter

Adiciona um atributo de informações síncrono GPUAdapter para recuperar as mesmas informações sobre o adaptador físico que com o método assíncrono de GPUAdapter requestAdapterInfo().

Testes de origem em andamento

No Chrome 127, é possível ativar os novos testes de origem a seguir.

Transporte de dicionário de compactação com o Shared Brotli e o Shared Zstandard

Esse recurso adiciona suporte ao uso de respostas anteriores designadas, como um dicionário externo para respostas HTTP compactadas de Brotli (ou Zstandard).

Suspensão do uso de 0.0.0.0 para acesso à rede privada (PNA)

Propomos bloquear o acesso ao endereço IP 0.0.0.0 antes do lançamento completo da PNA.

O Chrome está descontinuando o acesso direto a endpoints de rede privada em sites públicos como parte da especificação da PNA (em inglês). Esta especificação considera os serviços que detectam no localhost (127.0.0.0/8) como particulares. A proteção PNA do Chrome (lançada como parte de https://chromestatus.com/feature/5436853517811712) pode ser ignorada usando o endereço IP 0.0.0.0 para acessar serviços que detectam no localhost no macOS e Linux.

Isso também pode ser usado em ataques de revinculação de DNS direcionados a um aplicativo da Web que detecta no localhost.

Como o 0.0.0.0 não é (e não deve ser) usado na prática, ele será descontinuado separadamente do restante da descontinuação das solicitações de rede privada.

Suspensão do uso de cookies de terceiros

Pretendemos descontinuar e remover o acesso padrão a cookies de terceiros (também conhecidos como entre sites), começando com um período de teste inicial de 1% no primeiro trimestre de 2024, seguido por uma suspensão gradual para começar no primeiro trimestre de 2025. Essa desativação está sujeita a questões de concorrência restantes da Autoridade de Concorrência e Mercados do Reino Unido.

A eliminação de cookies de terceiros é um esforço central para a iniciativa do Sandbox de privacidade, que busca reduzir de maneira responsável o rastreamento entre sites na Web (e em outros lugares), além de oferecer suporte aos principais casos de uso com novas tecnologias.

Como particionar as APIs de armazenamento, service workers e comunicação

No Chrome 115, as APIs de armazenamento, service workers e comunicação são particionadas em contextos de terceiros. Do Chrome 113 ao 126, os sites participaram de um teste de descontinuação para cancelar a partição e restaurar temporariamente o comportamento anterior de armazenamento, service workers e APIs de comunicação.

A partir do Chrome 125, a API Storage Access oferece suporte ao armazenamento sem cookies, o que atende à maioria dos casos de uso de armazenamento não particionado. Quando esses casos de uso não são atendidos, agora é possível solicitar uma renovação do teste de descontinuação do DisableThirdPartyStoragePartitioning por mais seis marcos, para usuários no Chrome 127 a 132 (inclusive).

Consulte a postagem do blog sobre a renovação do teste de descontinuação do particionamento de armazenamento para mais informações.

Teste de descontinuação de contêineres de rolagem focalizáveis do teclado

Esse recurso apresenta as seguintes mudanças:

  • Por padrão, os controles de rolagem podem ser focados por clique e programaticamente com foco.
  • Por padrão, os controles de rolagem sem filhos focalizáveis são focalizáveis pelo teclado.

Tentamos implementar essas mudanças e descobrimos que um número limitado de sites tinha quebrado as expectativas em relação a alguns dos componentes. Como resultado, tivemos que desenviar o recurso para evitar essa falha. Devido aos benefícios, o recurso será lançado em 127. Para que os sites afetados tenham mais tempo de migrar os componentes, estamos iniciando um teste de descontinuação. Quando ativado, o recurso é desativado.

Descontinuações e remoções

Esta versão do Chrome apresenta as descontinuações e remoções listadas abaixo. Acesse ChromeStatus.com para conferir listas de descontinuações planejadas, descontinuações atuais e remoções anteriores.

Esta versão do Chrome remove três recursos.

Eventos de mutação

O suporte a eventos de mutação será desativado por padrão a partir do Chrome 127. O código precisa ser migrado antes dessa data para evitar interrupções no site. Se precisar de mais tempo, há algumas opções:

Consulte a postagem do blog Descontinuação de eventos de mutação para saber mais.

Restringir as "solicitações de rede privada" de sub-recursos de sites públicos para proteger contextos

Exige que as solicitações de rede privada para sub-recursos de sites públicos só possam ser iniciadas em um contexto seguro. Os exemplos incluem solicitações de Internet para intranet e solicitações de Internet para loopback.

Essa é a primeira etapa para implementar totalmente o acesso à rede privada.

Remover a sintaxe antiga do estado personalizado do CSS

A pseudoclasse de estado personalizado CSS está sendo renomeada de :--foo para :state(foo). A nova sintaxe, :state(foo), foi ativada por padrão. Por isso, estamos removendo a sintaxe :--foo.

O Firefox e o Safari nunca implementaram a sintaxe antiga e enviaram a nova sintaxe.

Clientes corporativos que precisam de mais tempo podem usar a política CSSCustomStateDeprecatedSyntaxEnabled. Essa política será removida no Chrome 131.