Beta do Chrome 144

Publicado em 3 de dezembro de 2025

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. Para saber mais sobre esses recursos, consulte os links fornecidos ou a lista em ChromeStatus.com. Faça o download da versão mais recente em Google.com para computadores ou na Google Play Store para Android.

CSS e interface

Posicionamento de âncora CSS com transformações

Se um elemento posicionado por âncora estiver vinculado a uma âncora que tenha uma transformação (ou estiver contido em um elemento com uma transformação), o navegador resolverá as funções anchor() e anchor-size() em relação à caixa delimitadora da âncora transformada.

Pseudoelementos de CSS para realce ao localizar na página

Expõe o estilo do resultado da pesquisa in-page como o pseudoelemento ::search-text, que é um pseudoelemento de destaque como os usados para seleção e erros de ortografia. Isso permite mudar as cores de primeiro plano e de plano de fundo ou adicionar decorações de texto. Isso é especialmente útil se os padrões do navegador tiverem contraste insuficiente com as cores da página ou forem inadequados de outra forma.

Saiba mais no blog da Igalia em Find-in-Page Highlight Styling (link em inglês).

Não use aria-details para posicionamento de âncora

O código para criar relações aria-details para casos de uso de posicionamento de âncora que não sejam pop-over provavelmente foi um erro. Como os pop-overs e outras relações semânticas criam aria-details, e os casos de uso restantes provavelmente não são semânticos, o Chrome agora não cria essas relações nos casos não semânticos.

Suporte de rolagem @scroll-state

Permite estilizar descendentes de contêineres com base na direção de rolagem mais recente.

Exemplo:

.scrolling-up {
  translate: 80px 0;
  transition: 0.4s translate;
}

html {
  container-type: scroll-state;
}

@container scroll-state(scrolled: top) {
  .scrolling-up { translate: 0 0; }
}

Respeitar overscroll-behavior para rolagem do teclado

Quando você define overscroll-behavior para um valor diferente de auto, o navegador não deve realizar o encadeamento de rolagem. O Chrome respeita isso para rolagem do mouse ou toque. No entanto, a rolagem do teclado a ignorou. Essa mudança garante que a rolagem do teclado também respeite overscroll-behavior.

Respeitar overscroll-behavior em contêineres de rolagem não roláveis

A propriedade overscroll-behavior se aplica a todos os elementos do contêiner de rolagem, independentemente de esses elementos terem conteúdo transbordante ou serem roláveis pelo usuário. É possível usar overscroll-behavior para impedir a propagação de rolagem em um plano de fundo overflow: hidden ou um elemento overflow: auto sem precisar considerar se ele está transbordando.

Correspondência de container-name não no escopo da árvore

O navegador ignora o escopo da árvore ao corresponder container-name para consultas @container.

Anteriormente, a correspondência de container-name para consultas @container usava nomes ou referências no escopo da árvore. Isso significava que o mesmo nome não correspondia se a regra @container e a propriedade container-type se originassem de árvores diferentes, por exemplo, se a declaração container-type viesse de uma árvore de sombra interna.

Com essa mudança, os valores container-name correspondem independentemente das origens da regra @container ou da declaração container-type.

Cascata de CSS do SVG2

Alinha a implementação do Chrome com a especificação do SVG2 para regras de CSS correspondentes em árvores de elementos <use>.

Os seletores correspondem aos elementos de instanciação <use> em vez da subárvore de elementos de origem. Isso significa que os seletores não correspondem mais a elementos ancestrais e irmãos fora da subárvore clonada. Mais importante ainda, os seletores de estado como :hover agora correspondem a instâncias <use>.

APIs Web

XRVisibilityMaskChange

Adiciona um evento XRVisibilityMaskChange que fornece uma lista de vértices e índices para representar a malha da parte visível da janela de visualização do usuário. Esses dados podem ser usados para limitar com confiança a quantidade de janela de visualização desenhada, o que melhora a performance. Para oferecer melhor suporte a esse evento, os objetos XRView também recebem identificadores exclusivos para facilitar o pareamento com as máscaras associadas. Essa é uma extensão da especificação principal do WebXR.

Expor o evento onanimationcancel para GlobalEventHandlers

O CSS Animations Level 1 estende a interface GlobalEventHandlers, definida na especificação HTML, declarando quatro novos gerenciadores de eventos: onanimationstart, onanimationiteration, onanimationend e onanimationcancel.

Apenas o manipulador de eventos onanimationcancel estava ausente do IDL GlobalEventHandlers.

Para mais informações, consulte a especificação CSS Animations Level 1 e a seção GlobalEventHandlers da especificação HTML.

Método waitUntil() de transições de visualização

O ViewTransition constrói automaticamente uma árvore de pseudoelementos para mostrar e animar os elementos participantes na transição. De acordo com a especificação, essa subárvore é construída quando a transição de visualização começa a animar e é destruída quando as animações associadas a todos os pseudoelementos de transição de visualização estão no estado concluído (ou, mais precisamente, em um estado não em execução e não pausado).

Isso funciona para a maioria dos casos e oferece uma experiência integrada para os desenvolvedores. No entanto, para casos mais avançados, isso é insuficiente porque os desenvolvedores às vezes querem que a pseudárvore de transição de visualização persista além do estado de conclusão da animação.

Um exemplo é vincular transições de visualização a animações controladas por rolagem. Quando a animação é controlada por uma linha do tempo de rolagem, a subárvore não deve ser destruída quando as animações terminam, porque a rolagem para trás ainda pode animar os pseudoelementos.

Para permitir usos avançados da transição de visualização, essa intent adiciona uma função waitUntil() ao objeto ViewTransition que aceita uma promessa. Essa promessa atrasa a destruição da pseudárvore até que ela seja resolvida.

O <geolocation> elemento

Apresenta o elemento <geolocation>, um controle declarativo ativado pelo usuário para acessar a localização dele. Ele simplifica a jornada do usuário e do desenvolvedor ao processar o fluxo de permissão e fornecer dados de localização diretamente ao site, muitas vezes eliminando a necessidade de uma chamada de API JavaScript separada.

Isso resolve o problema de longa data de solicitações de permissão acionadas diretamente pelo JavaScript sem um sinal forte da intenção do usuário. Ao incorporar um elemento controlado pelo navegador na página, o clique do usuário fornece um sinal claro e intencional. Isso oferece uma melhor experiência do usuário e, principalmente, um caminho de recuperação para usuários que negaram a permissão anteriormente.

WebGPU: recurso subgroup_id

Os valores integrados subgroup_id e num_subgroups estão disponíveis quando a extensão de subgrupos está ativada.

WebGPU: layout padrão de buffer uniforme

Os buffers uniformes declarados em sombreadores WGSL não precisam mais ter alinhamento de 16 bytes em elementos de matriz ou preencher deslocamentos de estrutura aninhados para um múltiplo de 16 bytes.

A API Temporal

A API Temporal em ECMA262 fornece objetos e funções padrão para trabalhar com datas e horários. Date é um problema de longa data no ECMAScript. Temporal, um Object global que atua como um namespace de nível superior (por exemplo, Math), trazendo uma API de data e hora moderna para a linguagem ECMAScript. Para uma análise detalhada das motivações, consulte Corrigir a data do JavaScript: primeiros passos.

Suporte a ping, hreflang, type e referrerPolicy para SVGAElement

Adiciona suporte aos atributos ping, hreflang, type e referrerPolicy em SVGAElement, alinhando o comportamento dele com HTMLAnchorElement para um tratamento consistente de links em HTML e SVG.

O evento clipboardchange

O evento clipboardchange é acionado sempre que o conteúdo da área de transferência do sistema é alterado por um app da Web ou qualquer outro aplicativo do sistema. Isso permite que apps da Web, por exemplo, clientes de desktop remoto, mantenham as áreas de transferência sincronizadas com a área de transferência do sistema. Ele oferece uma alternativa eficiente para pesquisar a área de transferência (usando JavaScript) em busca de mudanças.

Política de permissões de dicas de cliente HTTP do user agent ch-ua-high-entropy-values

Adiciona suporte a uma política de permissões ch-ua-high-entropy-values que permite que um site de nível superior restrinja quais documentos podem coletar dicas de cliente de alta entropia usando a API JavaScript navigator.userAgentData.getHighEntropyValues().

A restrição da coleta de dicas de alta entropia por HTTP já é possível com as políticas de permissões de dicas de cliente atuais.

Espelhamento de operadores MathML RTL

Adiciona suporte para espelhamento de caracteres e glifos ao renderizar operadores MathML no modo RTL.

Ao usar o modo RTL, alguns operadores podem ser espelhados mudando-os para outro ponto de código (por exemplo, um parêntese direito se torna um parêntese esquerdo). Esse é o espelhamento de caracteres, com equivalências definidas pela propriedade Bidi_Mirrored do Unicode.

Alguns operadores não têm um caractere de espelhamento adequado. O espelhamento de glifos se aplica nesse caso, com o recurso de fonte rtlm, em que outro glifo pode substituí-lo em um contexto espelhado. Algumas implementações atuais espelham o glifo original diretamente, mas isso pode mudar o significado de caracteres assimétricos, como a integral de contorno no sentido horário.

Suporte a multicast para a API Direct Sockets para Apps Isolados da Web

Esse recurso permite que os Apps Isolados da Web se inscrevam em grupos de multicast, recebam pacotes UDP deles e especifiquem outros parâmetros ao enviar pacotes UDP para endereços de multicast.

Performance e tempo do evento: InteractionCount

A API Event Timing faz parte da Performance Timeline e mede a performance das interações do usuário. Alguns eventos têm um valor interactionId atribuído, o que é útil para agrupar interações relacionadas com base em entradas ou gestos comuns do usuário físico.

Esse recurso adiciona performance.interactionCount, que é o número total de interações que ocorreram na página.

Em particular, esse recurso é útil para calcular o valor da métrica Interaction to Next Paint (INP), que exige saber o número total de interações para calcular uma pontuação de percentil alta (p98 para páginas com mais de 50 interações totais).

Esse recurso foi especificado por muito tempo, foi prototipado no Chromium anteriormente, mas nunca foi lançado, faz parte do Interop 2025 e já está disponível em outros navegadores.

Eventos de limite de ponteiro e mouse interoperáveis após mudanças no DOM

Depois que um destino de evento é removido do DOM, o destino lógico do ponteiro, conforme implícito pelos eventos de limite de ponteiro e mouse (ou seja, eventos over, out, enter e leave), precisa ser o ancestral mais próximo ainda anexado ao DOM.

O Chrome tem rastreado um nó mesmo depois que ele é removido do DOM. Como resultado, se o ponteiro se mover para um novo nó B depois que o nó de teste de hit A for removido do DOM, a sequência de eventos de limite (pointerover, pointerout, pointerenter, pointerleave e os eventos de mouse correspondentes) implicará um movimento de ponteiro de A para B. De acordo com o novo consenso, a sequência de eventos implica um movimento de ponteiro do "pai de A" para B.

Bloqueio de ponteiro no Android

Fornece acesso ao movimento bruto do mouse bloqueando o destino dos eventos do mouse em um único elemento e ocultando o cursor do mouse. A API Pointer Lock já é compatível com computadores. Esse lançamento é para suporte no Android.

Valor de enumeração RTCDegradationPreference maintain-framerate-and-resolution

maintain-framerate-and-resolution desativa a adaptação de vídeo interna do WebRTC. Isso permite que o aplicativo implemente a própria lógica de adaptação e evita interferências da adaptação interna.

API WebAuthn Signal no Android e iOS

Permite que as partes confiáveis do WebAuthn informem informações sobre chaves de acesso atuais aos provedores de armazenamento de credenciais, para que credenciais incorretas ou revogadas possam ser atualizadas ou removidas da interface do provedor e do sistema.

Esse recurso já estava disponível em computadores e agora está sendo lançado no Android e iOS.

Além disso, a API de sinal agora oferece suporte a um mecanismo de segurança para chaves de acesso do Gerenciador de senhas do Google em todas as plataformas compatíveis. Anteriormente, quando uma parte confiável sinalizava que uma credencial era desconhecida ou removida, a chave de acesso era excluída permanentemente. Agora, o Gerenciador de senhas do Google oculta a chave de acesso em vez de excluí-la. As chaves de acesso podem ser recuperadas chamando signalAllAcceptedCredentials com uma lista de chaves de acesso ocultas anteriormente.

Novos testes de origem

No Chrome 144, você pode participar dos seguintes testes de origem.

TextMetrics do Canvas aprimorado

Expande a API Canvas TextMetrics para oferecer suporte a retângulos de seleção, consultas de caixa delimitadora e operações baseadas em clusters de glifos.

Essa funcionalidade permite aplicativos complexos de edição de texto com seleção precisa, posicionamento do cursor de texto e teste de hit. Além disso, a renderização baseada em cluster facilita efeitos de texto sofisticados, como animações e estilos de caracteres independentes.

Descontinuações e remoções

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

Descontinuar a API Topics

A API Topics é uma API para ativar a segmentação de anúncios com base nos interesses gerais de navegação de um usuário, sem expor o histórico de navegação exato.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, estamos descontinuando e planejando remover a API Topics (junto com outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade).

Descontinuar a API Protected Audience

A API Protected Audience oferece um método de publicidade de grupos de interesse sem cookies de terceiros ou rastreamento de usuários em sites.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, estamos descontinuando e planejando remover a API Protected Audience (junto com outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade).

Descontinuar a API Shared Storage

A API Shared Storage é uma API da Web que preserva a privacidade para permitir o armazenamento não particionado pelo site próprio.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, a equipe está descontinuando e planejando remover a API Shared Storage (junto com outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade).

Descontinuar a API Attribution Reporting

A API Attribution Reporting é uma API projetada para medir conversões de anúncios sem cookies de terceiros ou rastreamento de usuários em sites.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, a equipe está planejando descontinuar e remover a API Attribution Reporting (junto com outras APIs do Sandbox de privacidade).

Descontinuar a API Private Aggregation

A API Private Aggregation é um mecanismo genérico para medir dados agregados entre sites de maneira que preserve a privacidade. Ela foi originalmente projetada para um futuro sem cookies de terceiros.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, a equipe está descontinuando e planejando remover a API Private Aggregation (junto com outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade). Essa API é exposta apenas pelas APIs Shared Storage e Protected Audience, que também estão planejadas para descontinuação e remoção. Portanto, nenhum trabalho adicional é necessário para a agregação particular.

Os conjuntos de sites relacionados fornecem uma estrutura para que os desenvolvedores declarem relações entre sites, para permitir o acesso limitado a cookies entre sites para fins específicos e voltados ao usuário. Isso é facilitado pelo uso da API Storage Access e document.requestStorageAccessFor (consulte a próxima seção).

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, estamos descontinuando e planejando remover conjuntos de sites relacionados (junto com outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade).

Descontinuar document.requestStorageAccessFor

A API requestStorageAccessFor é uma extensão da API Storage Access que permite que um site de nível superior solicite acesso a cookies não particionados ("próprios") em nome de sites incorporados. Os navegadores teriam critério para conceder ou negar acesso, com mecanismos como a associação a conjuntos de sites relacionados como um possível indicador. Isso permitiria o uso da API Storage Access por sites de nível superior.

Após o anúncio de que o Chrome vai manter a abordagem atual para cookies de terceiros, estamos descontinuando e planejando remover requestStorageAccessFor (junto com certas outras tecnologias, conforme descrito na página de status do recurso do Sandbox de privacidade).

Descontinuar savedTabGroups como valor individual em SyncTypesListDisabled

A política corporativa SyncTypesListDisabled permite que os administradores desativem a sincronização do tipo de dados savedTabGroupsem plataformas de computador. No entanto, em plataformas móveis, a sincronização de grupos de guias já é gerenciada pelo tipo de dados tabs. Para alinhar o comportamento do computador com o de dispositivos móveis e simplificar o gerenciamento da sincronização, o tipo de dados individual savedTabGroups foi descontinuado e não é mais um valor personalizável individualmente na política SyncTypesListDisabled.

Entidades carregadas externamente na análise de XML

O Chrome busca de forma síncrona entidades XML externas ou DTDs e as incorpora à análise em circunstâncias específicas. Essa funcionalidade será removida.

http/tests/security/contentTypeOptions/xml-external-entity.xml fornece um exemplo: entidades externas podem ser definidas na parte final da instrução DOCTYPE e se referir a recursos que são carregados de forma síncrona e incluídos como contexto ao analisar XML.

Outro exemplo de sintaxe é um DOCTYPE que, usando a palavra-chave SYSTEM seguida por um URL que aponta para um DTD, contém outras definições de entidade.

Essas solicitações de carregamento externo são transmitidas do analisador.

De acordo com a especificação XML do W3C, os processadores não validados não precisam ler entidades externas.

A equipe planeja descontinuar o carregamento de definições de entidades externas em documentos XML que não usam XSLT.