Publicado em: 18 de setembro de 2024
Salvo indicação em contrário, as mudanças a seguir 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 130 está na versão Beta desde 18 de setembro de 2024. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store para Android.
CSS
Nesta versão, adicionamos quatro novos recursos de CSS.
Pesquisa de árvore simples de consultas de contêiner CSS
A especificação das consultas de contêiner mudou para pesquisar ancestrais de árvores planas.
Essa mudança é relevante apenas para o shadow DOM, em que um elemento agora poderá
ver contêineres sem nome dentro de árvores de sombra em que o elemento ou um de
seus ancestrais estão inseridos, mesmo que a regra CSS não use ::part() ou
::slotted().
Aninhamento do CSS: a regra de declarações aninhadas
Mantém declarações simples seguindo uma regra aninhada no lugar delas, envolvendo essas declarações em regras CSSNestedDeclarations durante a análise.
Suporte completo e sem prefixo para box-decoration-break
Adiciona suporte a box-decoration-break: clone para fragmentação inline (layout de linha) e de bloco (paginação para impressão e multicol).
Antes, no Chrome, apenas box-decoration-break:slice (o valor inicial) era compatível com a fragmentação de blocos. Já para a fragmentação inline,box-decoration-break:clone também era compatível, mas apenas ao usar a propriedade -webkit-box-decoration-break prefixada.
Permitir mais pseudoelementos e pseudoclasses após ::part()
Os seletores de CSS que usam o pseudoelemento ::part() podem ter outros pseudoelementos de CSS (exceto ::part()) e muitos tipos de pseudoclasses de CSS depois deles. Os combinadores ainda não são permitidos após ::part(), e as pseudoclasses que dependem da estrutura de árvore não são permitidas.
Antes, o Chrome só permitia um conjunto limitado de pseudoclasses e
pseudoelementos após ::part(). Essa mudança permite todas as pseudoclasses e pseudoelementos que devem ser permitidos. Isso significa que seletores como
::part(part-name):enabled e ::part(part-name)::marker agora são permitidos.
APIs Web
Recurso da API Attribution Reporting (escopos de atribuição)
Essa mudança se baseia no feedback da tecnologia de publicidade e na necessidade de controles de filtragem mais refinados antes do processo de atribuição. Ele permite que os chamadores de API especifiquem um campo chamado "escopos de atribuição", que será usado para filtragem antes de iniciar o fluxo de atribuição regular. Isso permite que os autores de chamadas de API tenham um controle mais refinado sobre a granularidade da atribuição e a capacidade de receber relatórios de atribuição adequados quando há vários anunciantes ou campanhas diferentes que geram conversões no mesmo site de destino.
Recurso da API Attribution Reporting (melhoria da privacidade da chave de depuração)
Essa mudança ajuda a reduzir uma possível falha de privacidade com chaves de depuração.
No momento, a API permite que uma chave de depuração de origem ou de acionamento seja especificada se os cookies de terceiros estiverem disponíveis e puderem ser definidos por chamadores de API. Se uma chave de depuração de fonte ou de acionador for especificada, ela será incluída no relatório de atribuição. Isso pode levar a um vazamento de privacidade se os cookies de terceiros forem permitidos apenas no site do editor ou do anunciante, mas não em ambos.
Essa mudança reduz o problema ao exigir que as chaves de depuração de origem e de acionador sejam incluídas no relatório de atribuição apenas se estiverem presentes na origem e no acionador. Isso significa que os cookies de terceiros estavam disponíveis nos sites do editor e do anunciante. Essa mudança vai valer para relatórios de eventos e agregáveis.
Transporte de dicionário de compactação com Brotli compartilhado e Zstandard compartilhado
Esse recurso adiciona suporte ao uso de respostas anteriores designadas como um dicionário externo para codificação de conteúdo, compactando respostas com Brotli ou Zstandard.
As empresas podem ter problemas de compatibilidade com a infraestrutura de rede empresarial que intercepta o tráfego HTTPS e é sensível a codificações de conteúdo desconhecidas. A política corporativa CompressionDictionaryTransportEnabled está disponível para desativar o recurso de transporte do dicionário por compactação.
Suavização simultânea scrollIntoView()
O método
scrollIntoView()
com behavior: "smooth" permite que os desenvolvedores criem contêineres de rolagem que
rolam até os descendentes com uma animação suave. Esse recurso corrige
a implementação da API pelo Chrome para que as animações scrollIntoView em andamento
não sejam canceladas por rolagens não relacionadas em outros contêineres de rolagem.
O recurso também corrige casos em que o Chrome não rola até uma âncora de fragmento
de página devido a uma scrollIntoView concorrente que é invocada quando a página
é carregada.
Picture-in-picture de documentos: adicionada opção para ignorar o cache de limites da janela
Isso adiciona um novo parâmetro (preferInitialWindowPlacement) à API
picture-in-picture do documento que, quando definido como verdadeiro, indica ao user agent que ele
não deve tentar reutilizar a posição ou o tamanho do picture-in-picture do documento
anterior deste site ao abrir este.
Muitas vezes, uma janela picture-in-picture de documento é fechada e reaberta várias vezes para o mesmo site, como ao mover uma videoconferência para dentro e para fora do PiP. O user agent pode reabrir a janela de picture-in-picture no tamanho e local mais recentes, para que ela permaneça onde o usuário a moveu por último e ofereça continuidade entre as janelas de picture-in-picture. No entanto, se a nova janela não estiver semanticamente relacionada à anterior, como uma nova videochamada, o desenvolvedor poderá usar esse parâmetro para dar uma dica ao user agent de que essa janela pode ser aberta na posição e no tamanho padrão.
Saiba como abrir a janela na posição e no tamanho padrão.
Relatórios de erros aprimorados no IndexedDB para falhas de leitura de valores grandes
Mudança no relatório de determinados casos de erro que antes eram informados com um
DOMException e a mensagem "Falha ao ler um valor grande do IndexedDB".
Agora, o Chrome vai gerar um DOMException com o nome "NotFoundError" quando o
arquivo que contém os dados lidos por um IDBRequest estiver faltando no disco para que
os sites possam tomar a ação corretiva adequada quando ocorrer uma falha
irrecuperável. As ações corretivas podem incluir a exclusão da entrada do banco de dados, a notificação do usuário ou a nova busca dos dados nos servidores.
Contêineres de rolagem com foco no teclado
Com esse recurso, os controles de rolagem sem filhos focalizáveis podem ser focalizados pelo teclado por padrão.
Essa é uma melhoria importante para tornar os roladores e os conteúdos dentro deles mais acessíveis a todos os usuários. Leia mais sobre os benefícios em Roladores com foco no teclado. Os controles de rolagem focalizáveis pelo teclado serão ativados por padrão a partir do Chrome 130. Se os sites precisarem de tempo para se ajustar a esse novo recurso, há algumas opções:
- O teste de descontinuação da desativação de roladores focalizáveis pelo teclado pode ser usado para desativar o recurso por um tempo limitado em um determinado site. Pode ser usado até o Chrome 132, até 18 de março de 2025.
 - O 
KeyboardFocusableScrollersEnabled enterprise policydisponível no Chrome 127 pode ser usado para a mesma finalidade. 
Serviços de lances e leilões da Protected Audience
A API Protected Audience (antes conhecida como FLEDGE) é uma proposta do Sandbox de privacidade para veicular casos de uso de remarketing e público-alvo personalizado. Ela foi projetada para que terceiros não possam rastrear o comportamento de navegação do usuário entre sites.
Esse recurso, os Serviços de lances e leilões da Protected Audience, descreve uma maneira de permitir que a computação da Protected Audience ocorra em servidores na nuvem em um ambiente de execução confiável, em vez de ser executada localmente no dispositivo do usuário. Transferir computações para servidores na nuvem ajuda a otimizar o leilão com Protected Audience, liberando ciclos computacionais e largura de banda da rede para um dispositivo.
Suporte a URLs de esquema não especial
Antes, o analisador de URLs do Chrome não oferecia suporte a URLs não especiais. Ele analisava URLs não especiais como se tivessem um "caminho opaco", que não está alinhado com o padrão de URL. Agora, o analisador de URL do Chromium analisa URLs não especiais corretamente, seguindo o padrão de URL.
Consulte bit.ly/url-non-special para mais detalhes.
Built-ins de string JavaScript do WebAssembly
Esse recurso expõe operações comuns de string JavaScript para importação no WebAssembly. Isso permite criar e manipular strings JavaScript do WebAssembly sem suporte dentro do WebAssembly. Isso ainda permite uma performance semelhante às referências de string compatíveis.
WebGPU: combinação de origem dupla
Adiciona o recurso opcional da GPU "dual-source-blending", que permite combinar duas saídas de shader de fragmento em um único framebuffer. Essa técnica é especialmente útil para aplicativos que exigem operações de mesclagem complexas, como aquelas baseadas em modos de mesclagem Porter-Duff. Ao reduzir a necessidade de mudanças frequentes no objeto de estado do pipeline, a combinação de duas fontes pode melhorar a performance e a flexibilidade.
Web Serial: atributo connected e eventos de conexão RFCOMM
Esse recurso adiciona um atributo booleano SerialPort.connected. O atributo
retorna true se a porta serial estiver conectada logicamente. Para portas seriais com fio, uma porta está logicamente conectada se estiver fisicamente conectada ao sistema. Para portas seriais sem fio, uma porta é conectada logicamente se o dispositivo
que hospeda a porta tiver conexões abertas com o host.
Antes, apenas portas seriais com fio enviavam eventos de conexão e desconexão. Com esse recurso, as portas seriais RFCOMM do Bluetooth vão despachar esses eventos quando a porta for conectada ou desconectada logicamente.
Esse recurso permite que os aplicativos detectem quando uma porta serial Bluetooth RFCOMM está disponível sem abrir a porta.
Saiba mais em Atualizações do Bluetooth RFCOMM na API Web Serial.
Testes de origem em andamento
No Chrome 130, você pode ativar os seguintes testes de origem.
API Language Detector
Uma API JavaScript para detectar o idioma de um texto com níveis de confiança.
attestationFormats do WebAuthn
Suporte ao campo attestationFormats do nível 3 do WebAuthn.
O nível 3 do WebAuthn permite que um site expresse uma preferência ordenada por formatos de
atestado de credencial no novo campo attestationFormats. Esse recurso permite
o suporte no Android, em que vários formatos podem ser aceitos por provedores
de chaves de acesso.
Inscreva-se no teste de attestationFormats do WebAuthn.
Descontinuações e remoções
Esta versão do Chrome apresenta as seguintes suspensões de uso e remoções. Acesse ChromeStatus.com para ver listas de suspensões de uso planejadas, atuais e remoções anteriores.
Esta versão do Chrome remove um recurso.
Remover expectedImprovement em DelegatedInkTrailPresenter
O atributo expectedImprovement informa aos desenvolvedores da Web o quanto a API
DelegatedInkTrails vai melhorar a latência de tinta atual. No entanto, esse atributo não vale o aumento na entropia de impressão digital.
Esta versão do Chrome descontinua um recurso.
Descontinuar o método requestAdapterInfo() não padrão do GPUAdapter
O método assíncrono requestAdapterInfo() na WebGPU é redundante porque
os desenvolvedores já podem receber GPUAdapterInfo de forma síncrona usando o atributo GPUAdapter
info.