Chrome 130

Data de lançamento estável:15 de outubro de 2024

Salvo indicação em contrário, as mudanças a seguir se aplicam à versão estável do Canal 130 do Chrome para Android, ChromeOS, Linux, macOS e Windows.

CSS

Pesquisa em árvore simples das consultas de contêiner CSS

A especificação das consultas de contêiner foi alterada para procurar ancestrais de árvores planas. Essa mudança é relevante apenas para DOMs sombra, em que um elemento agora pode ver contêineres não nomeados dentro de árvores de sombra em que o elemento ou um dos ancestrais dele estão inseridos, mesmo que a regra CSS não use ::part() ou ::slotted().

Rastreamento do bug #340876720 | Entrada do ChromeStatus.com | Especificação

Transição de 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.

O aninhamento de CSS foi aprimorado com o CSSNestedDeclarations | Entrada do ChromeStatus.com

Suporte completo e sem prefixo para box-decoration-break

Adiciona suporte a box-decoration-break: clone para fragmentação inline (layout de linha) e fragmentação de bloco (paginação para impressão e multicol).

Anteriormente, no Chrome, apenas box-decoration-break:slice (o valor inicial) era compatível com a fragmentação de bloco, enquanto para a fragmentação inline, box-decoration-break:clone também era compatível, mas apenas ao usar a propriedade -webkit-box-decoration-break com prefixo.

A propriedade box-decoration-break no Chrome 130 | Bug de rastreamento #41295617 | Entrada do ChromeStatus.com | Especificação

Permitir mais pseudoelementos e pseudoclasses após ::part()

Os seletores de CSS que usam o pseudoelemento ::part() podem ter outros pseudoelementos CSS (exceto ::part()) e muitos tipos de outras pseudoclasses CSS depois deles. Os combinadores ainda não são permitidos após ::part(), e pseudoclasses que dependem de estrutura de árvore não são permitidos.

Anteriormente, o Chrome só permitia um conjunto limitado de pseudoclasses e pseudoelementos após ::part(). Essa mudança permite todas as pseudoclasses e pseudoelementos que precisam ser permitidos. Isso significa que seletores como ::part(part-name):enabled e ::part(part-name)::marker agora são permitidos.

Rastreamento do bug 40623497 | Entrada ChromeStatus.com | Especificação

APIs Web

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

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.

Rastreamento do bug #40255884 | Entrada do ChromeStatus.com | Especificação

scrollIntoView() suave simultâneo

O método scrollIntoView() com behavior: "smooth" permite criar contêineres de rolagem que rolam até os descendentes com uma animação de rolagem suave. Esse recurso corrige a implementação da API pelo Chrome para que 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 consegue rolar para uma âncora de fragmento de página devido a uma scrollIntoView concorrente que é invocada quando a página é carregada.

Demonstração | Rastreamento do bug 325081538 | Entrada do ChromeStatus.com | Especificação

Picture-in-picture do documento: adição de 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 definida como "true", mostra ao navegador que ele não pode tentar reutilizar a posição ou o tamanho do picture-in-picture do documento anterior deste site ao abrir este.

Muitas vezes, a janela picture-in-picture de um documento é fechada e reaberta várias vezes para o mesmo site, como ao mover uma videoconferência de e para o picture-in-picture. O navegador pode reabrir a janela picture-in-picture no tamanho e local mais recentes. Assim, ela permanece onde o usuário a moveu pela última vez e fornece continuidade entre as janelas picture-in-picture. No entanto, se a nova janela não estiver semanticamente relacionada à anterior, como uma nova chamada de vídeo, use esse parâmetro para dar uma dica ao agente do usuário de que essa janela pode ser aberta melhor na posição e no tamanho padrão.

Saiba como abrir a janela na posição e no tamanho padrão.

Picture-in-Picture para qualquer elemento, não apenas vídeos | Entrada do ChromeStatus.com | Especificação

Melhorias nos relatórios de erros no IndexedDB para falhas de leitura de valores grandes

Mudança na geração de relatórios para determinados casos de erro relatados anteriormente com um DOMException e a mensagem "Falha ao ler um valor grande do IndexedDB".

O Chrome agora gera uma DOMException com o nome "NotFoundError" quando o arquivo que contém os dados lidos por um IDBRequest está ausente do 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 busca dos dados nos servidores.

Rastreamento do bug #362123231 | Entrada do ChromeStatus.com | Especificação

Contêineres de rolagem com foco no teclado

Por padrão, esse recurso faz com que os controles de rolagem sem foco filhos filhos possam ser focados no teclado.

Essa é uma melhoria importante para ajudar a tornar os controles de rolagem e o conteúdo deles mais acessíveis para todos os usuários. Leia mais sobre os benefícios em Controles de rolagem com foco no teclado. Os controles de rolagem focalizáveis do 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:

Controles de rolagem com foco no teclado | Rastreamento de bug #40113891 | Entrada do ChromeStatus.com | Especificação

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 atender casos de uso de remarketing e público-alvo personalizado. Ela foi projetada de modo que terceiros não consigam 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 as computações para servidores em nuvem ajuda a otimizar o leilão de Protected Audience, liberando ciclos computacionais e largura de banda da rede para um dispositivo.

Entrada do ChromeStatus.com | Especificação

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.

Suporte a URLs de esquema não especiais | Rastreamento de bug #40063064 | Entrada do ChromeStatus.com | Especificação

WebAssembly JavaScript String Builtins

Esse recurso expõe operações de string JavaScript comuns para importação no WebAssembly. Isso permite criar e manipular strings JavaScript da WebAssembly sem suporte a ela. Isso ainda permite uma performance semelhante às referências de string com suporte.

Entrada ChromeStatus.com | Especificação

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 logicamente conectada. Para portas seriais com fio, uma porta está logicamente conectada se ela está fisicamente conectada ao sistema. Para portas seriais sem fio, uma porta está logicamente conectada se o dispositivo que hospeda a porta tiver conexões abertas com o host.

Antes, apenas as portas seriais com fio enviavam eventos de conexão e desconexão. Com esse recurso, as portas seriais Bluetooth RFCOMM enviam esses eventos quando a porta fica logicamente conectada ou desconectada.

Esse recurso tem como objetivo permitir que os aplicativos detectem quando uma porta serial Bluetooth RFCOMM está disponível sem abrir a porta.

Saiba mais em Atualizações de RFCOMM do Bluetooth na Web Serial.

Atualizações de Bluetooth RFCOMM no Web Serial | Rastreamento do bug no 40283485 | Entrada ChromeStatus.com | Especificação

Renderização e gráficos

WebGPU: mesclagem de duas origens

Adiciona o recurso opcional de GPU "combinação de fonte dupla", que permite combinar duas saídas de sombreador de fragmento em um único framebuffer. Essa técnica é particularmente útil para aplicativos que exigem operações de mesclagem complexas, como aquelas baseadas nos modos de mesclagem Porter-Duff. Ao reduzir a necessidade de alterações frequentes no objeto de estado do pipeline, a combinação de duas fontes pode melhorar o desempenho e a flexibilidade.

Rastreamento do bug #341973423 | Entrada do ChromeStatus.com | Especificação

Privacidade

Recurso da API Attribution Reporting (escopos de atribuição)

Essa mudança é baseada no feedback da adtech e na necessidade de controles de filtragem mais detalhados antes do processo de atribuição. Ele permite que os autores de chamada da API especifiquem um campo chamado "esferas de atribuição", que será usado para filtrar antes de iniciar o fluxo de atribuição normal. Isso permite que os autores de chamada da API controlem melhor 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 convertem no mesmo site de destino.

Entrada do ChromeStatus.com

Recurso da API Attribution Reporting (depurar a melhoria de privacidade da chave)

Essa mudança ajuda a reduzir uma possível lacuna de privacidade com chaves de depuração.

Atualmente, a API permite que uma chave de depuração de origem ou de gatilho seja especificada se cookies de terceiros estiverem disponíveis e puderem ser definidos por autores de chamada de API. Se uma chave de depuração de origem ou acionador for especificada, ela será incluída no relatório de atribuição. Isso pode levar a um vazamento de privacidade se cookies de terceiros forem permitidos apenas no site do editor ou do anunciante, mas não em ambos.

Essa mudança mitiga o problema ao exigir que as chaves de depuração de origem e de acionamento sejam incluídas no relatório de atribuição apenas se estiverem presentes na origem e no acionamento, o que significa que os cookies de terceiros estavam disponíveis no site do editor e do anunciante. Essa mudança será válida para relatórios de eventos e relatórios agregáveis.

Entrada ChromeStatus.com | Especificação

Testes de origem

API Language Detector

Uma API JavaScript para detectar o idioma do texto, com níveis de confiança.

Teste de origem | API de detecção de idioma disponível para visualização antecipada | Entrada do ChromeStatus.com | Especificação

WebAuthn attestationFormats

Suporte ao campo attestationFormats do nível 3 do WebAuthn.

O WebAuthn Nível 3 oferece suporte a um site que expressa uma preferência ordenada para formatos de atestado de credencial no novo campo attestationFormats. Esse recurso oferece suporte para isso no Android, em que vários formatos podem ser oferecidos pelos provedores de chaves de acesso.

Origin Trial | Entrada do ChromeStatus.com | Especificação

Suspensões de uso e remoções

Remover expectedImprovement em DelegatedInkTrailPresenter

O atributo expectedImprovement informa aos desenvolvedores da Web quanto a API DelegatedInkTrails vai melhorar a latência atual de tinta. No entanto, esse atributo não vale o aumento da entropia da impressão digital.

Entrada do ChromeStatus.com | Especificação

Leitura adicional

Quer saber mais? Confira estes outros recursos.

Fazer o download do Google Chrome

Faça o download do Chrome para Android, Computador ou iOS.