Data de lançamento da versão estável:10 de março de 2026
Salvo indicação em contrário, as mudanças a seguir se aplicam ao lançamento do canal estável do Chrome 146 para Android, ChromeOS, Linux, macOS e Windows.
CSS e interface
Animações acionadas por rolagem
Esse recurso adiciona controle de animações com base na posição de rolagem, por exemplo, reproduzir, pausar e redefinir animações.
Um padrão comum em páginas da Web é iniciar uma animação quando uma posição de rolagem é alcançada. Os desenvolvedores geralmente fazem isso usando JavaScript para detectar manualmente que um elemento está dentro da janela de visualização do contêiner de rolagem e iniciar uma animação correspondente (por exemplo, deslizar esse elemento para a visualização). Muitos desses casos de uso dependem de informações fornecidas de forma declarativa. Com esse recurso, é possível criar essas interações de forma declarativa com CSS, o que permite que o user agent descarregue essa interação para uma linha de execução de worker. A API também inclui interfaces JavaScript que permitem estender o recurso para animações da Web, além das animações CSS.
Bug de rastreamento nº 390314945 | Entrada do ChromeStatus.com | Especificação
A propriedade trigger-scope
A propriedade trigger-scope permite limitar os nomes de animation triggers
declarados por trigger-instantiating properties.
Trigger-instantiating properties, por exemplo, timeline-trigger, declara
nomes que a propriedade animation-trigger pode referenciar para anexar animações
a gatilhos. No entanto, esses nomes são globais por padrão (semelhante a
anchor-name), e muitas vezes é útil limitar a visibilidade dos nomes para
isolar as interações de animação para acionamento.
Bug de rastreamento nº 466134208 | Entrada do ChromeStatus.com | Especificação
meta name="text-scale"
O tamanho da fonte padrão do root element é dimensionado proporcionalmente à configuração de escala de texto do sistema operacional e do navegador. Isso permite que páginas que seguem
práticas recomendadas em torno de font-relative units (ou seja, usam rem e em para
tamanhos de fonte e elementos de página que se adaptam às preferências de tamanho de texto do usuário) respeitem
a configuração de escala de texto no nível do SO do usuário. Isso também desativa os mecanismos
baseados em navegador (ou seja, zoom de página inteira no Windows) e as heurísticas
(ou seja, redimensionamento automático de texto em dispositivos móveis). É possível sinalizar ao navegador que a
página foi construída de uma forma (ou seja, com rem e em) que se adapta bem
a várias preferências de tamanho de fonte selecionadas pelo usuário. Semelhante a
env(preferred-text-scale), que oferece uma maneira de acessar a escala de texto, essa
API estende isso ao permitir o escalonamento usando o tamanho da fonte padrão do root element
e desativando o escalonamento automático de texto.
Bug de rastreamento nº 430566925 | Entrada do ChromeStatus.com | Especificação
Registro de elemento personalizado com escopo
Esse recurso permite que várias definições de elementos personalizados para um único nome de tag existam em uma página. Isso evita conflitos de nomes de elementos personalizados quando um web app usa bibliotecas de várias fontes. Isso é possível permitindo que o código do usuário crie vários registros de elementos personalizados e os associe a escopos de árvore e elementos que funcionam como objetos de escopo.
Bug de rastreamento nº 40826514 | Entrada do ChromeStatus.com | Especificação
Recursos
Preencher targetURL durante o processamento de arquivos
A implementação do Launch Handler agora garante que LaunchParams.targetURL seja
preenchido quando um PWA é iniciado com o processamento de arquivos. Antes dessa mudança, a propriedade era nula quando o lançamento de um arquivo era direcionado a uma janela aberta. Essa mudança garante que o URL do campo action do manifesto (o mesmo URL que o documento precisa carregar no momento) esteja disponível para o consumidor launchQueue.
Bug de rastreamento nº 464314997 | Entrada do ChromeStatus.com | Especificação
Parar de enfileirar LaunchParams novamente ao recarregar
Impeça que o launchQueue reenvie o último LaunchParams (incluindo identificadores de arquivo) quando um usuário recarregar a página. Antes, uma atualização de página acionava o consumidor de lançamento novamente com os dados do lançamento original. Essa mudança garante que uma atualização seja tratada como uma navegação padrão, e não como um "relançamento". Além disso, o launchQueue não será preenchido com arquivos duplicados, a menos que ocorra um novo evento de inicialização de arquivo.
Bug de rastreamento nº 40204185 | Entrada do ChromeStatus.com
DOM
API Navigation: adicione post-commit handler de precommit
Ao interceptar navegações com o evento navigate, os manipuladores precommitHandlers e
pós-commit comuns são transmitidos separadamente.
Isso funciona bem quando há apenas um ou outro, mas pode ser complicado quando
o fluxo inclui um precommitHandler que leva a um post-commit handler.
Essa adição é uma pequena melhoria ergonômica que permite registrar um processador pós-commit ao invocar um processador pré-commit.
Bug de rastreamento nº 465487215 | Entrada do ChromeStatus.com | Especificação
Gráficos
WebGPU: variáveis de textura e amostrador
Adicione um recurso de linguagem à WGSL, texture_and_sampler_let, que permite armazenar objetos texture e sampler em uma declaração let na WGSL.
Bug de rastreamento nº 459500757 | Entrada do ChromeStatus.com | Especificação
WebGPU: anexos temporários
Esse recurso adiciona funcionalidade à especificação WebGPU após o primeiro envio em um navegador.
Um novo TRANSIENT_ATTACHMENT GPUTextureUsage permite criar anexos que
mantêm as operações de transmissão de renderização na memória de bloco, evitando o tráfego de VRAM e
possivelmente evitando a alocação de VRAM para as texturas.
Bug de rastreamento nº 462620664 | Entrada do ChromeStatus.com | Especificação
Modo de compatibilidade com WebGPU
Esse modo adiciona um subconjunto da API WebGPU com restrições leves e ativação opcional que pode
executar APIs de gráficos mais antigas, por exemplo, OpenGL e Direct3D11. Ao ativar esse modo e obedecer às restrições dele, você pode estender o alcance dos aplicativos WebGPU para muitos dispositivos mais antigos que não têm as APIs gráficas modernas e explícitas necessárias para o WebGPU principal. Para aplicativos simples, a única mudança
necessária é especificar o compatibility featureLevel ao chamar
requestAdapter. Para aplicativos mais avançados, algumas modificações podem ser necessárias para acomodar as restrições do modo. Como o modo de compatibilidade é um subconjunto, os aplicativos resultantes também são aplicativos válidos do WebGPU Core e são executados até mesmo em user agents que não oferecem suporte ao modo de compatibilidade.
Bug de rastreamento nº 442618060 | Entrada do ChromeStatus.com | Especificação
JavaScript
Sequenciamento de iteradores
Uma proposta do TC39 para criar iterators sequenciando iterators atuais. Isso apresenta Iterator.concat (...items).
Bug de rastreamento nº 434977727 | Entrada do ChromeStatus.com | Especificação
Intervenção seletiva de permissões
Quando você concede a um site permissão para acessar uma API avançada (por exemplo,
Bluetooth, Camera, Clipboard, DisplayCapture, Geolocation,
Microphone, Serial e USB), seu consentimento é destinado ao site, não
necessariamente a todos os scripts de terceiros em execução na página. Em particular, scripts de anúncios incorporados executados no frame principal ou em iframes de mesma origem podem usar a permissão da página para acessar esses dados sensíveis de forma oportunista. Talvez você não saiba que um anúncio está acessando suas informações.
Essa intervenção visa alinhar melhor uma permissão concedida à sua intenção, impedindo que um script de anúncio em um contexto com permissão de API a use, reforçando sua confiança e controle sobre seus dados.
Bug de rastreamento nº 435214052 | Entrada do ChromeStatus.com | Especificação
Preservar valores de dropEffect de eventos dragover para drop
O HTML5 Drag and Drop API permite que aplicativos da Web processem operações de arrastar e soltar
por uma série de eventos: dragstart, dragenter, dragover,
dragleave, drop e dragend. Durante esses eventos, a propriedade
dataTransfer.dropEffect
indica qual operação (copy, move, link ou none) deve ser
realizada.
De acordo com o HTML5
specification,
o valor dropEffect definido pelos aplicativos da Web durante o último evento dragover
precisa ser preservado e estar disponível no evento drop subsequente.
No entanto, os navegadores baseados no Chromium estavam substituindo o valor dropEffect do aplicativo da Web pela própria operação negociada do navegador antes da ativação do evento drop, violando a conformidade com a especificação e limitando seu controle sobre o comportamento de arrastar e soltar. Esse comportamento mudou.
Bug de rastreamento nº 40068941 | Entrada do ChromeStatus.com | Especificação
Multimídia
API Playback Statistics para WebAudio
Esse recurso adiciona um atributo AudioContext.playbackStats que retorna um objeto AudioPlaybackStats. Esse objeto fornece estatísticas de reprodução de áudio, por exemplo, average latency, minimum/maximum latency, underrun duration e underrun count. Essa API permite que aplicativos da Web monitorem a qualidade da reprodução de áudio
e detectem falhas.
Bug de rastreamento nº 475838360 | Entrada do ChromeStatus.com | Especificação
Rede
Preservação do parâmetro de tipo MIME do URL de dados
Preserve MIME type parameters (por exemplo, charset, boundary) nos cabeçalhos de URL de dados Content-Type, conforme especificado no Fetch Standard.
Bug de rastreamento nº 40487194 | Entrada do ChromeStatus.com | Especificação
Desempenho
LCP: corresponder ao comportamento especificado para emitir candidatos
Agora, o algoritmo LCP emite candidatos com base na maior imagem renderizada, em vez da maior imagem pendente, mas ainda não renderizada. Isso pode fazer com que mais candidatos intermediários sejam emitidos para a linha do tempo de performance.
Em cada frame de animação, depois que ele é apresentado, o algoritmo LCP emite um novo candidato (no máximo um) para a linha do tempo de performance se houver um novo maior texto ou imagem que foi renderizado nesse frame. O algoritmo também rastreia a "maior imagem pendente", que é a maior imagem ainda em carregamento, e usa o tamanho dessa imagem para determinar se o novo candidato é o maior. Isso significa que uma imagem grande que demora para carregar pode impedir a emissão de candidatos a LCP intermediários, e esses candidatos geralmente fornecem informações úteis para você entender a progressão do carregamento.
Esse comportamento surgiu durante o Interop 2025 como uma diferença em relação a outros mecanismos. A equipe concordou em alinhar para emitir no máximo um candidato por frame com base no conjunto de elementos de imagem e texto renderizados para esse frame.
Bug de rastreamento nº 482261053 | Entrada do ChromeStatus.com | Especificação
Segurança
API Sanitizer
A API Sanitizer oferece uma maneira de remover conteúdo que possa executar scripts de conteúdo HTML arbitrário fornecido pelo usuário. O objetivo é facilitar a criação de aplicativos da Web sem XSS.
Bug de rastreamento nº 40138584 | Entrada do ChromeStatus.com | Especificação
Testes de origem
WebNN
WebNN permite que aplicativos e frameworks da Web aproveitem os serviços nativos do sistema
operacional para machine learning e os recursos de hardware
disponíveis no computador para implementar experiências de ML
consistentes, eficientes e confiáveis na Web.
Teste de origem | Bug de rastreamento nº 40206287 | Entrada do ChromeStatus.com | Especificação
API CPU Performance
Essa API expõe informações sobre a energia do seu dispositivo. Essa API é destinada a aplicativos da Web que usam essas informações para oferecer uma experiência do usuário aprimorada, possivelmente em combinação com a API Compute Pressure, que fornece informações sobre a pressão ou utilização da CPU do dispositivo e permite que os aplicativos reajam a mudanças na pressão da CPU.
Bug de rastreamento nº 449760252 | Entrada do ChromeStatus.com | Especificação
Regras de especulação: campo form_submission
Isso estende a sintaxe speculation rules, permitindo que você especifique o campo form_submission para prerender.
Esse campo direciona o navegador para preparar o prerender como um envio de formulário,
para que ele possa ser ativado por navegações de envio de formulário reais. Por exemplo, um formulário de pesquisa simples resulta em uma navegação de solicitação GET /search?q=XXX, e os desenvolvedores da Web pediram suporte para isso.
Bug de rastreamento nº 346555939 | Entrada do ChromeStatus.com | Especificação
Focusgroup
O recurso Focusgroup facilita a navegação com foco do teclado entre um conjunto de elementos focalizáveis usando as teclas de seta do teclado.
Saiba mais sobre o grupo de foco em Solicitação de feedback do desenvolvedor: grupo de foco.
Teste de origem | Bug de rastreamento nº 1286127 | Entrada do ChromeStatus.com | Especificação