Chrome 144

Data de lançamento da versão estável:13 de janeiro de 2026

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

CSS e interface

Pseudoelementos de destaque para localizar na página do CSS

Esse recurso expõe o estilo do resultado da pesquisa de localizar na página para autores como um pseudoelemento de destaque, semelhante à seleção e erros de ortografia. Isso permite que os desenvolvedores mudem as cores de primeiro plano e de plano de fundo ou adicionem decorações de texto. Isso é útil principalmente se os padrões do navegador tiverem contraste insuficiente com as cores da página ou forem inadequados de outra forma.

Bug de rastreamento nº 339298411 | Entrada do ChromeStatus.com | Especificação

Correspondência de nome de contêiner sem escopo de árvore

Ignorar o escopo da árvore ao corresponder container-name para consultas @container.

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

Com essa mudança, os nomes dos contêineres correspondem, independente da regra @container ou das origens de declaração container-type.

Bug de rastreamento nº 440049800 | Entrada do ChromeStatus.com | Especificação

Posicionamento de âncora CSS com transformações

Quando um elemento posicionado por âncora é fixado em uma âncora que tem uma transformação (ou está contida em um elemento com uma transformação), resolva as funções anchor() e anchor-size() em relação à caixa delimitadora da âncora transformada.

Bug de rastreamento nº 382294252 | Entrada do ChromeStatus.com | Especificação

Propriedade CSS caret-shape

A forma do cursor em aplicativos nativos geralmente é uma barra vertical, um sublinhado ou um bloco retangular. Além disso, a forma geralmente varia dependendo do modo de entrada, por exemplo, inserir ou substituir. A propriedade CSS caret-shape permite que os sites escolham uma dessas formas para o cursor em elementos editáveis ou deixem a escolha para o navegador. Os valores de propriedade reconhecidos são auto, bar, block e underscore.

Bug de rastreamento nº 353713061 | Entrada do ChromeStatus.com | Especificação

Cascata de CSS do SVG2

Alinhe a implementação do Chrome com a especificação SVG2 para corresponder às regras de CSS em árvores de elementos <use>.

Faça a correspondência dos seletores com os 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, por exemplo, :hover, agora começam a corresponder em instâncias <use>.

Bug de rastreamento nº 40550039 | Entrada do ChromeStatus.com | Especificação

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

A propriedade overscroll-behavior se aplica a todos os elementos de contêiner de rolagem, independente de terem conteúdo transbordando ou serem roláveis pelo usuário. Os desenvolvedores podem usar overscroll-behavior para evitar a propagação de rolagem em um plano de fundo overflow: hidden ou um elemento overflow: auto sem considerar se ele vai transbordar.

Entrada do ChromeStatus.com | Especificação

Respeitar overscroll-behavior para rolagem com o teclado

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

Bug de rastreamento nº 41378182 | Entrada do ChromeStatus.com | Especificação

Suporte do @scroll-state scrolled

Permite que os desenvolvedores estilizem descendentes de contêineres com base na direção de rolagem mais recente.

Bug de rastreamento nº 414556050 | Entrada do ChromeStatus.com | Especificação

Sintaxe relativa ao lado para abreviações de background-position-x/y

Define a posição da imagem de plano de fundo em relação a uma das bordas.

Essa sintaxe oferece aos desenvolvedores mecanismos mais flexíveis e responsivos para definir a posição da imagem de fundo, em vez de usar valores fixos que precisam de adaptação ao tamanho da janela ou do frame.

Esse recurso também se aplica à propriedade -webkit-mask-position para garantir a compatibilidade com a Web.

Bug de rastreamento nº 40468636 | Entrada do ChromeStatus.com | Especificação

Método "viewTransitions" waitUntil()

As transições de visualização constroem 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 ser animada 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 na 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 uma linha do tempo de rolagem controla a animação, a subárvore não pode ser destruída quando as animações terminam, porque a rolagem para trás ainda anima os pseudoelementos.

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

Bug de rastreamento nº 346976175 | Entrada do ChromeStatus.com | Especificação

Dispositivo

XRVisibilityMaskChange

Adiciona um evento XRVisibilityMaskChange que fornece uma lista de vértices e uma lista de índices para representar a malha da parte visível da janela de visualização do usuário. Esses dados podem limitar a quantidade da 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. Isso estende a especificação principal do WebXR.

Bug de rastreamento nº 450538226 | Entrada do ChromeStatus.com | Especificação

DOM

O elemento <geolocation>

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ões e fornecer dados de localização diretamente ao site. Isso geralmente elimina a necessidade de uma chamada de API JavaScript separada.

Isso resolve o problema antigo de solicitações de permissão acionadas diretamente do JavaScript sem um indicador 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 permite uma melhor UX de solicitação e, principalmente, oferece um caminho de recuperação para usuários que negaram a permissão anteriormente.

Bug de rastreamento nº 435351699 | Entrada do ChromeStatus.com | Especificação

Gráficos

WebGPU: layout padrão de buffer uniforme

Os buffers uniformes declarados em shaders WGSL não precisam mais ter alinhamento de 16 bytes em elementos de matriz nem preencher offsets de estrutura aninhada com um múltiplo de 16 bytes.

Bug de rastreamento nº 452662924 | Entrada do ChromeStatus.com | Especificação

WebGPU: recurso subgroup_id

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

Bug de rastreamento nº 454654255 | Entrada do ChromeStatus.com | Especificação

JavaScript

Temporal em ECMA262

A API Temporal no ECMA262 é uma nova API que fornece objetos e funções padrão para trabalhar com datas e horários. Date é um problema antigo no ECMAScript. Isso propõe Temporal, um Object global que atua como um namespace de nível superior (semelhante a Math), que traz uma API de data e hora moderna para a linguagem ECMAScript.

Bug de rastreamento #detail?id=11544 | Entrada do ChromeStatus.com | Especificação

Suporte a ping, hreflang, type e referrerPolicy para SVGAElement

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

Bug de rastreamento nº 40589293 | Entrada do ChromeStatus.com | Especificação

Espelhamento de operadores RTL MathML

Suporta espelhamento no nível do caractere e do glifo ao renderizar operadores MathML no modo da direita para a esquerda.

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 no nível do caractere, com equivalências definidas pela propriedade Bidi_Mirrored do Unicode.

Alguns operadores não têm um caractere de espelhamento adequado. O espelhamento no nível do glifo 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, por exemplo, a integral de contorno no sentido horário.

Bug de rastreamento nº 40120782 | Entrada do ChromeStatus.com | Especificação

O evento clipboardchange

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

Bug de rastreamento nº 41442253 | Entrada do ChromeStatus.com | Especificação

Permissões

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

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 com a API JavaScript navigator.userAgentData.getHighEntropyValues().

É possível restringir a coleta de dicas de alta entropia por HTTP usando políticas de permissões por dica de cliente atuais.

Bug de rastreamento nº 385161047 | Entrada do ChromeStatus.com | Especificação

Desempenho

Performance e tempo do evento: interactionCount

A API Event Timing faz parte da linha do tempo de performance e mede o desempenho das interações do usuário. Alguns eventos têm um valor interactionId atribuído a eles. Isso é útil para agrupar interações relacionadas com base em gestos ou entradas físicas comuns do usuário.

Esse recurso adiciona uma propriedade 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). Isso 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 há muito tempo, foi prototipado no Chromium há muito tempo, mas nunca foi lançado, faz parte do Interop 2025 e está disponível em outros navegadores.

Entrada do ChromeStatus.com | Especificação

Entrada do usuário

Eventos de ponteiro e limite do 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 do ponteiro e do mouse (ou seja, eventos over, out, enter e leave), deve ser o ancestral mais próximo ainda anexado ao DOM.

O PEWG chegou a um consenso sobre esse comportamento recentemente.

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

Bug de rastreamento #1147998 | Entrada do ChromeStatus.com | Especificação

Bloqueio do ponteiro no Android

Concede acesso ao movimento bruto do mouse bloqueando o destino dos eventos do mouse em um único elemento e ocultando o cursor.

Bug de rastreamento nº 40290045 | Entrada do ChromeStatus.com | Especificação

WebRTC

RTCDegradationPreference valor de enumeração 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ência da adaptação interna.

Da especificação de dicas de conteúdo MediaStreamTrack do WebRTC:

Manter a taxa de frames e a resolução, independente da qualidade do vídeo. O user agent não deve preferir reduzir a taxa de frames ou a resolução por motivos de qualidade e desempenho, mas pode descartar frames antes da codificação, se necessário, para não usar demais os recursos de rede e codificador.

Bug de rastreamento nº 450044904 | Entrada do ChromeStatus.com | Especificação

Apps isolados da Web (IWA)

Suporte a multicast para a API Direct Sockets.

Com esse recurso, os Apps Isolados da Web (AIWs) podem se inscrever em grupos de multicast, receber pacotes do protocolo de datagramas do usuário (UDP) deles e especificar outros parâmetros ao enviar pacotes UDP para endereços de multicast.

Entrada do ChromeStatus.com | Especificação

Testes de origem

API Canvas avançada TextMetrics

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

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

Teste de origem | Bug de rastreamento nº 341213359 | Entrada do ChromeStatus.com | Especificação

Elementos de mídia com reconhecimento de contexto

Os elementos de mídia baseados no contexto são um controle declarativo ativado pelo usuário para acessar e interagir com streams de mídia.

Isso resolve o problema antigo de solicitações de permissão sendo acionadas diretamente do 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 permite uma UX de solicitação muito melhor e, principalmente, oferece um caminho de recuperação para usuários que negaram a permissão anteriormente.

Teste de origem | Bug de rastreamento nº 443013457 | Entrada do ChromeStatus.com | Especificação

Descontinuações e remoções

Descontinuação e remoção: API Private Aggregation

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

Após o anúncio do Chrome de que a abordagem atual para cookies de terceiros será mantida, o navegador planeja descontinuar e remover a API Private Aggregation (agregação privada), além de outras APIs do Sandbox de privacidade, conforme descrito na página de status do recurso do Sandbox de privacidade. Essa API só é exposta pelas APIs Shared Storage e Protected Audience, que também estão planejadas para descontinuação e remoção. Portanto, não é necessário fazer mais nada para a agregação privada.

Entrada do ChromeStatus.com | Especificação

Descontinuação e remoção: API Shared Storage

A API Shared Storage é uma API da Web que preserva a privacidade e permite o armazenamento não particionado por um site próprio.

Após o anúncio do Chrome de que a abordagem atual para cookies de terceiros será mantida, o navegador planeja descontinuar e remover a API Shared Storage (juntamente com outras APIs do Sandbox de privacidade, conforme descrito na página de status do recurso do Sandbox de privacidade).

Bug de rastreamento nº 462465887 | Entrada do ChromeStatus.com | Especificação

Descontinuar e remover a API Protected Audience

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

Após o anúncio do Chrome de que a abordagem atual para cookies de terceiros será mantida, o navegador planeja descontinuar e remover a API Protected Audience (junto com outras APIs do Sandbox de privacidade, conforme descrito na página de status do recurso do Sandbox de privacidade).

Entrada do ChromeStatus.com | Especificação

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. Este documento propõe a remoção dessa funcionalidade.

Por exemplo, http/tests/security/contentTypeOptions/xml-external-entity.xml mostra como entidades externas podem ser definidas na parte final da instrução DOCTYPE. Essas entidades se referem a recursos 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, aponta para uma DTD que contém definições de entidade adicionais.

O analisador transmite essas solicitações de carga externa.

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

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

Bug de rastreamento nº 455813733 | Entrada do ChromeStatus.com | Especificação