Data de lançamento da versão estável:10 de fevereiro de 2026
Salvo indicação em contrário, as mudanças a seguir se aplicam ao lançamento do canal estável do Chrome 145 para Android, ChromeOS, Linux, macOS e Windows.
CSS e interface
Adicionar suporte à propriedade CSS text-justify
É possível controlar como o texto é justificado quando text-align: justify é aplicado usando a propriedade text-justify. Por exemplo, é possível forçar o alinhamento à direita e à esquerda
aumentando o espaço entre os caracteres, mesmo em texto em inglês.
Bug de rastreamento nº 40321528 | Entrada do ChromeStatus.com | Especificação
Ativar valores de porcentagem para propriedades CSS letter-spacing e word-spacing
Ative valores de porcentagem para as propriedades CSS letter-spacing e word-spacing, conforme definido na especificação do Módulo de texto CSS nível 4. Os valores de porcentagem são calculados em relação à medida de avanço do caractere de espaço (U+0020). Isso oferece um controle mais robusto e flexível sobre a tipografia, principalmente em designs responsivos em que o espaçamento do texto precisa se adaptar a diferentes janelas de visualização e tamanhos de fonte.
Bug de rastreamento nº 327740939 | Entrada do ChromeStatus.com | Especificação
Refinar o cálculo da borda de sombra do raio da borda para border-radius alto
Essa mudança garante que as sombras e os limites de corte em elementos quase circulares (em que border-radius está próximo de 50%) correspondam precisamente ao contorno visual da borda curva.
Isso oferece uma renderização mais consistente de formas arredondadas complexas, eliminando discrepâncias visuais para valores de raio altos. O fator de ajuste border-radius, que garante que os cantos apareçam nítidos para raios pequenos, é progressivamente reduzido à medida que o valor do raio se aproxima de 50%.
Isso também se aplica a contornos não arredondados (usando corner-shape), que agora usam o mesmo mecanismo de ajuste de raio.
Rastreamento do bug nº 448651073 | Entrada do ChromeStatus.com | Especificação
Quebra de coluna para multicol
Adição de suporte para as propriedades CSS column-wrap e column-height do
multicol Level 2.
Isso permite o layout de coluna vertical ou até mesmo 2D. As colunas podem ter uma altura restrita explícita, em vez de serem derivadas da altura content-box do contêiner multicol. Elas são transferidas para uma nova linha de colunas quando todas as colunas de uma linha são preenchidas, em vez de criar colunas excedentes na direção inline.
Bug de rastreamento nº 403183884 | Entrada do ChromeStatus.com | Especificação
Expor o evento onanimationcancel para GlobalEventHandlers
O CSS Animations Level 1 estende a interface GlobalEventHandlers definida
na especificação HTML, declarando quatro novos manipuladores de eventos:
onanimationstart, onanimationiteration, onanimationend e
onanimationcancel. Apenas o manipulador de eventos onanimationcancel estava faltando na IDL GlobalEventHandlers.
Bug de rastreamento nº 464010037 | Entrada do ChromeStatus.com | Especificação
Caixa de listagem de seleção personalizável
Isso estende o suporte de seleção personalizável ao modo de renderização de caixa de listagem, incluindo seleção única e múltipla no modo de caixa de listagem.
O modo de renderização da caixa de listagem renderiza o elemento select no fluxo ou na página, em vez de um botão e um pop-up separados. Você pode ativar o modo de renderização de caixa de listagem em várias plataformas usando os atributos multiple ou size, por exemplo, <select multiple> ou <select size=4>. Quando a propriedade appearance: base-select do CSS é aplicada ao elemento select com esses atributos, o comportamento de entrada e a renderização são aprimorados.
Isso não é compatível com select personalizáveis para o pop-up de seleção múltipla, que será compatível mais tarde. Você precisa definir os seguintes atributos para ter um
pop-up de seleção múltipla: <select multiple size=1>.
Bug de rastreamento nº 357649033 | Entrada do ChromeStatus.com | Especificação
A opção focusVisible em focus
Ao chamar o método focus(), é possível fornecer um booleano focusVisible no dicionário FocusOptions. Quando verdadeiro, um anel de foco é sempre pintado ao redor
do elemento recém-focado, e ele corresponde à pseudoclasse :focus-visible.
Quando é "false", o anel de foco não é pintado, e :focus-visible não corresponde.
Quando ausente, o user agent determina se o anel de foco deve ser pintado e a pseudoclasse :focus-visible corresponde de acordo.
Bug de rastreamento nº 462191849 | Entrada do ChromeStatus.com | Especificação
Ativa a renderização de emojis monocromáticos no modo de cores forçadas.
Essa mudança atualiza o comportamento de renderização de emojis do Chromium no modo de cores forçadas.
Durante a resolução do valor calculado, os emojis cujo valor font-variant-emoji
é calculado como normal ou unicode são renderizados usando os glifos monocromáticos
quando disponíveis.
Por isso, o Chromium suprime a renderização de emojis coloridos, o que garante que eles participem totalmente do pipeline do modo de cores forçadas e respeitem as cores de alto contraste do sistema. O comportamento fora do modo de cores forçadas não muda.
Bug de rastreamento nº 420857717 | Entrada do ChromeStatus.com | Especificação
Efeito de rolagem em roladores não raiz
Isso mostra efeitos de overscroll elástico em contêineres de rolagem não raiz. Quando um
elemento rolável aninhado atinge o limite de rolagem, a capacidade de overscroll
é aplicada a esse elemento em vez de apenas ao scroller raiz. Isso reduz a necessidade de soluções alternativas personalizadas em JavaScript e pode ser controlado por elemento com overscroll-behavior.
Bug de rastreamento nº 41102897 | Entrada do ChromeStatus.com | Especificação
Recursos
Mostrar a posição real da janela no Android
O Chrome no Android informa com precisão a posição e o tamanho da janela do navegador usando window.screenX, window.screenY, window.outerWidth e window.outerHeight.
Antes, o Chrome presumia incorretamente que todas as janelas do navegador no Android começavam
nas coordenadas (0, 0). Essa proposição é imprecisa para tablets Android que usam o modo de janela livre. Os sites sempre recebiam 0 ao consultar a posição na tela da janela usando window.screenX e window.screenY. Esses campos armazenam as coordenadas do canto superior esquerdo da janela no espaço de coordenadas da área de trabalho global.
Além disso, o Chrome no Android presumia incorretamente que as dimensões externas da janela do navegador eram iguais às dimensões internas da janela de visualização do site.
window.screenX e window.screenY têm aliases: window.screenLeft e
window.screenTop.
Bug de rastreamento nº 417632037 | Entrada do ChromeStatus.com | Especificação
JavaScript
Inserir
Esta é uma proposta do ECMAScript para Map.prototype.getOrInsert,
Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert e
WeakMap.prototype.getOrInsertComputed.
Bug de rastreamento nº 434977728 | Entrada do ChromeStatus.com | Especificação
API de chave-valor do Crash Reporting
Uma nova API de chave-valor, window.crashReport, é compatível com um mapa por documento
que contém dados que o Chrome anexa aos relatórios de falha.
Os dados colocados no mapa de suporte dessa API são enviados no CrashReportBody se
o site sofrer falhas no processo de renderização. Isso permite depurar qual estado específico no aplicativo pode estar causando uma determinada falha.
Bug de rastreamento nº 400432195 | Entrada do ChromeStatus.com | Especificação
Strings do user agent reduzidas por padrão
A partir do Chrome 145, a política UserAgentReduction será removida. Essa política estava disponível para controlar se o Chrome enviava uma string de user agent reduzida ou completa.
Para aumentar a privacidade do usuário e reduzir os recursos de rastreamento passivo, o Chrome começou a reduzir as informações contidas no cabeçalho do user agent por padrão na versão 110. A política UserAgentReduction foi fornecida como uma medida temporária para que as empresas gerenciassem essa transição.
O mecanismo recomendado para sites acessarem informações do navegador e do dispositivo são as dicas de cliente HTTP do user agent (UA-CH). O UA-CH exige que os sites solicitem ativamente informações específicas, o que é uma abordagem mais preservadora da privacidade do que a string User-Agent legada. Para mais informações, consulte o artigo do web.dev, Migrar para as dicas de cliente HTTP do user agent.
A partir do Chrome 145, a política UserAgentReduction não tem efeito. O Chrome envia uma string user agent reduzida por padrão. Sistemas ou aplicativos que dependiam dessa política para receber a string User-Agent completa (legada) talvez não recebam mais as informações detalhadas esperadas.
API Navigation: expõe o destino em navigation.transition
NavigationTransition tem uma propriedade from, que expõe o URL antigo da
navegação. Expor to (um NavigationDestination) conclui isso. Isso é
especialmente útil ao usar manipuladores de pré-commit, já que durante o pré-commit a URL
atual ainda não mudou para o destino.
navigation.transition só é exposto para navegações interceptadas, ou seja,
navegações iniciadas por documentos de mesma origem.
Bug de rastreamento nº 447171238 | Entrada do ChromeStatus.com | Especificação
Confirmação de pagamento seguro: chaves vinculadas ao navegador
Isso adiciona uma assinatura criptográfica extra às declarações de confirmação de pagamento seguro e à criação de credenciais. A chave privada correspondente não é sincronizada entre dispositivos. Isso ajuda você a atender aos requisitos de vinculação de dispositivo para transações de pagamento.
Bug de rastreamento nº 377278827 | Entrada do ChromeStatus.com | Especificação
Confirmação de pagamento seguro: atualização da UX
Atualiza os elementos da UX para a caixa de diálogo do SPC no Chrome para Android.
Além da apresentação de UX, os seguintes itens são adicionados:
- Os comerciantes podem fornecer uma lista opcional de logotipos de entidades de pagamento relacionados ao pagamento que são mostrados na UX.
- Diferentes estados de saída são retornados ao comerciante dependendo se o usuário quer continuar ou cancelar a transação sem o SPC. Apenas um estado de saída é enviado para os dois casos.
- Um novo campo de rótulo de detalhes de pagamento é adicionado ao instrumento de pagamento para que o texto seja apresentado em duas linhas no SPC.
Bug de rastreamento nº 405173922 | Entrada do ChromeStatus.com | Especificação
Atributo maxAge da API Cookie Store
É possível especificar um maxAge ao definir um cookie com o Cookie Store API.
O tempo de expiração do cookie já pode ser configurado usando o atributo expires, mas
maxAge oferece uma opção mais idiomática e alinha o Cookie Store API com
as opções fornecidas por document.cookie e o cabeçalho HTTP Set-Cookie.
Bug de rastreamento nº 430926231 | Entrada do ChromeStatus.com | Especificação
Tipos de InputEvent para comandos de exclusão em seleções não recolhidas
Isso informa valores inputType precisos para atalhos de teclado de exclusão no
texto selecionado. Quando comandos de exclusão como Ctrl+Backspace ou Ctrl+Delete são
usados com texto selecionado em elementos contenteditable, os eventos beforeinput e
input informam deleteContentBackward ou deleteContentForward em vez
de deleteWordBackward ou deleteWordForward. Isso permite entender corretamente qual operação de edição ocorreu e implementar comportamentos confiáveis de desfazer, refazer ou edição personalizada.
Bug de rastreamento nº 41423062 | Entrada do ChromeStatus.com | Especificação
Ativação fixa para o evento clipboardchange
Isso exige ativação persistente do usuário ou permissão clipboard-read para acionar eventos
clipboardchange, impedindo o monitoramento não autorizado da área de transferência.
O evento clipboardchange é relativamente novo (Chrome 144), e isso tem uma mudança mínima voltada para a Web. Na maioria dos casos, a ativação permanente do usuário ou a permissão clipboard-read já está presente onde ocorre o monitoramento da área de transferência (por exemplo, em clientes de área de trabalho remota).
Bug de rastreamento nº 468821937 | Entrada do ChromeStatus.com | Especificação
Multimídia
Expor rtpTimestamp de frames de vídeo WebRTC com VideoFrame.metadata()
Adiciona um método VideoFrame.metadata() que retorna um dicionário contendo o campo
rtpTimestamp, se o VideoFrame subjacente tiver esse campo nos
metadados nativos. Caso contrário, um dicionário vazio será retornado. Somente frames de vídeo
originários de fontes WebRTC têm os metadados rtpTimestamp anexados.
Outros campos de metadados já estão presentes na implementação nativa e podem ser expostos ao JavaScript com o tempo, conforme descrito na especificação proposta.
Entrada do ChromeStatus.com | Especificação
Armazenamento
IndexedDB: back-end SQLite (contextos na memória)
A implementação do IndexedDB do Chromium foi reescrita com base no SQLite para
substituir a implementação anterior que usa um híbrido de LevelDB e arquivos
simples. Não há mudanças na API da Web.
Isso melhora a confiabilidade e, em menor grau, o desempenho.
Isso é aplicado apenas a contextos na memória, como o modo de navegação anônima no Chromium e no Google Chrome. Isso limita o impacto de novos bugs e adia a necessidade de migrar dados persistentes para o disco.
Bug de rastreamento nº 436880911 | Entrada do ChromeStatus.com | Especificação
Desempenho
Permitir que aplicativos da Web entendam os tempos de performance bimodais
Um novo campo confidence no objeto PerformanceNavigationTiming permite discernir se os tempos de navegação são representativos para seu aplicativo da Web.
Bug de rastreamento nº 1413848 | Entrada do ChromeStatus.com | Especificação
Adicionar presentationTime e paintTime às entradas de performance
Isso expõe paintTime e presentationTime no tempo de elemento, LCP, frames de animação longos e tempo de pintura.
paintTime significa o momento em que a fase de renderização terminou e o navegador
iniciou a fase de pintura. presentationTime significa o momento em que os "pixels chegaram à tela", o que é um pouco definido pela implementação.
Essa entrada de recurso omite a marcação de tempo do evento, que é feita separadamente.
Bug de rastreamento nº 378827535 | Entrada do ChromeStatus.com | Especificação
Uso de CssPixels na API LayoutShift
Esse recurso muda os dados de atribuição (prevRect e currentRect) na
API LayoutShift para serem informados em
pixels CSS em vez de pixels físicos. O comportamento é inconsistente com outras APIs relacionadas ao layout, que usam pixels CSS. Essa mudança melhora a consistência, simplifica o uso e se alinha às unidades esperadas na depuração e nas ferramentas.
Bug de rastreamento nº 399058544 | Entrada do ChromeStatus.com | Especificação
Segurança
Credenciais de sessões vinculadas ao dispositivo
As credenciais de sessão vinculadas ao dispositivo (DBSC) permitem que os sites vinculem a sessão de um usuário ao dispositivo específico, dificultando significativamente o uso de cookies de sessão roubados em outras máquinas.
Entrada do ChromeStatus.com | Especificação
A API Origin
A origem é um componente fundamental da implementação da Web, essencial para os limites de segurança e privacidade mantidos pelos user agents. O conceito é bem definido entre HTML e URL, além de conceitos adjacentes amplamente usados, como site.
No entanto, as origens não são expostas diretamente a você. Embora haja vários getters de origem em vários objetos, cada um deles retorna a serialização ASCII de uma origem, não a origem em si. Isso tem algumas implicações negativas. Na prática, tentar fazer comparações de mesma origem ou mesmo site ao processar origens serializadas geralmente dá errado de maneiras que levam a vulnerabilidades. Filosoficamente, parece uma primitiva de segurança ausente que você tem dificuldade de fazer polyfill com precisão.
No Chrome 145, o navegador aborda essa lacuna na plataforma ao introduzir um objeto
Origin que encapsula o conceito de origem e fornece métodos
úteis, como comparação, serialização e análise.
Bug de rastreamento nº 434131026 | Entrada do ChromeStatus.com | Especificação
Permissões divididas de acesso à rede local
Essa é uma melhoria nas restrições de acesso à rede local (LNA), em que o Chrome divide a permissão necessária de uma permissão de acesso à rede local em duas permissões separadas.
A permissão antiga é local-network-access. As novas permissões são local-network (para solicitações de LNA a IPs no espaço de endereço local) e loopback-network (para solicitações de LNA a IPs no espaço de endereço de loopback).
A permissão antiga é mantida como um alias e continua funcionando para
permissions.query e Permissions Policy. As políticas corporativas continuam funcionando da mesma forma. Políticas corporativas mais recentes e granulares serão adicionadas depois.
Bug de rastreamento nº 465491626 | Entrada do ChromeStatus.com | Especificação
Alinhamento da especificação de tipos confiáveis
O Trusted Types foi implementado e lançado originalmente no Chromium em 2019 e
desde então tem sido usado em vários sites. Recentemente, ela ganhou interesse de
outros fornecedores de navegadores.
A especificação Trusted Types foi coescrita como uma especificação de "monkey patch" junto com a
implementação original. Ele recebe atenção renovada à medida que outros tentam implementar a mesma especificação. Ele foi "upstreamed" para HTML + DOM (além de um pouco de CSP). Como parte desse processo, várias inconsistências estão sendo identificadas e corrigidas. Algumas dessas correções podem ser observadas pelo desenvolvedor. A intenção é
atualizar a implementação para corresponder à especificação à medida que ela é enviada para o HTML.
Enquanto isso, o WebKit lançou a implementação da especificação Trusted
Types atualizada, o que dá ao Chrome a confiança de que essa atualização é altamente compatível com a Web.
Bug de rastreamento nº 330516530 | Entrada do ChromeStatus.com | Especificação
Gráficos
WebGPU: recurso subgroup_uniformity
Isso adiciona um novo escopo à análise de uniformidade e muda quais partes da linguagem são verificadas em cada uma para permitir que a funcionalidade de subgrupo seja considerada uniforme em mais casos.
Bug de rastreamento nº 454653380 | Entrada do ChromeStatus.com | Especificação
Apps isolados da Web
WebRequest.SecurityInfo em Controlled Frame
Esse recurso introduz uma API WebRequest.SecurityInfo para
ControlledFrame. Ele permite que um app da Web intercepte uma
solicitação HTTPS, WSS ou WebTransport para um servidor, recupere a
impressão digital do certificado do servidor (verificada pelo navegador) e use essa
impressão digital para verificar manualmente o certificado de uma conexão TCP/UDP
bruta separada com o mesmo servidor. Isso fornece um método para o app confirmar
que está se comunicando com o servidor correto.
Bug de rastreamento #462114142 | Entrada do ChromeStatus.com | Especificação
Testes de origem
Suporte à decodificação JPEG XL (image/jxl) no blink
Adiciona suporte para decodificar imagens JPEG XL (image/jxl) no Blink usando jxl-rs,
um decodificador puro de Rust com segurança de memória.
O JPEG XL é um formato de imagem moderno padronizado como ISO/IEC 18181 que oferece:
- Decodificação progressiva para melhorar o desempenho de carregamento percebido.
- Compatibilidade com ampla gama de cores, HDR e alta profundidade de bits.
- Compatibilidade com animações.
Essa implementação usa jxl-rs em vez do decodificador de referência libjxl do C++ para atender aos requisitos de segurança de memória do Chromium. O decodificador é controlado pela flag
enable-jxl-image-format e pela flag de build enable_jxl_decoder.
WebAudio: quantum de renderização configurável
AudioContext e OfflineAudioContext agora aceitam um renderSizeHint opcional,
que permite aos usuários pedir um tamanho de quantum de renderização específico quando um número inteiro
é transmitido, usar o padrão de 128 frames se nada ou default for transmitido,
ou pedir ao User-Agent para escolher um bom tamanho de quantum de renderização
se hardware for especificado.
Teste de origem | Entrada do ChromeStatus.com
Descontinuações e remoções
Remoção do suporte a câmeras virtuais obsoletas no macOS
O Chrome removeu o suporte para câmeras virtuais obsoletas em todas as versões do macOS compatíveis.
Bug de rastreamento #461717105 | Entrada do ChromeStatus.com
Remover extensão BMP para incorporação de JPEG ou PNG em BMP
O Chrome remove a extensão BMP para incorporação de JPEG ou PNG em BMP.
Bug de rastreamento nº 456842524 | Entrada do ChromeStatus.com | Especificação