Beta do Chrome 145

Publicado em 14 de janeiro de 2026

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. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome está na versão Beta desde 14 de janeiro de 2026. Baixe a versão mais recente em Google.com para computador ou na Google Play Store para Android.

CSS e interface

Oferecer suporte à propriedade CSS text-justify

Os desenvolvedores podem controlar como o texto é justificado quando text-align: justify é aplicado usando a propriedade text-justify. Por exemplo, forçar a justificativa expandindo o espaço entre caracteres, mesmo em texto em inglês.

Refinar o cálculo da borda de sombra border-radius para valores altos de border-radius

Essa melhoria 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 produz uma renderização mais consistente de formas arredondadas complexas, eliminando discrepâncias visuais para valores de raio altos. O fator de ajuste do raio da borda, que garante que os cantos apareçam nítidos para raios pequenos, agora é 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.

Quebra de coluna para layout de várias colunas CSS

A partir do Chrome 145, as propriedades column-wrap e column-height são compatíveis com o layout de várias colunas. Essas propriedades permitem que você ajuste as colunas em uma nova linha na direção do bloco.

Antes do Chrome 145, se a altura do contêiner multicol fosse restrita, o conteúdo que não coubesse no espaço disponível apareceria como colunas de estouro na direção inline. Isso criaria uma barra de rolagem horizontal na Web. Com as propriedades column-height e column-wrap, é possível definir uma altura para a linha de colunas e definir que as colunas de estouro apareçam como uma nova linha.

Saiba mais em Suporte a colunas agrupadas em layout de várias colunas.

Expor o evento onanimationcancel para GlobalEventHandlers

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

O manipulador de eventos onanimationcancel estava ausente da IDL GlobalEventsHandler e agora está exposto.

CSS letter-spacing e word-spacing: valores de porcentagem

Ativa valores de porcentagem para a propriedade 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 dá aos desenvolvedores 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.

Caixa de listagem de seleção personalizável

Esse recurso 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 significa que o elemento <select> é renderizado no fluxo ou na página, e não com um botão e um pop-up separados. O modo de renderização da caixa de listagem é ativado em todas as plataformas usando os atributos "múltiplo" ou "tamanho", como <select multiple> ou <select size=4>. Quando a propriedade CSS appearance:base-select for aplicada ao elemento <select> com esses atributos, ele terá um comportamento de entrada e renderização aprimorado.

Esse recurso não oferece suporte à seleção personalizável para o pop-up de seleção múltipla, que será lançado mais tarde. Os seguintes atributos precisam ser definidos para receber um pop-up de seleção múltipla: <select multiple size=1>.

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 no modo de cores forçadas do Chrome. Durante a resolução de valores calculados, os emojis cujo valor font-variant-emoji é normal ou Unicode são renderizados usando glifos monocromáticos, quando disponíveis.

Portanto, o Chrome vai suprimir 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.

A opção focusVisible no método focus()

Ao chamar o método focus(), os desenvolvedores agora podem fornecer um booleano focusVisible no dicionário FocusOptions. Quando verdadeiro, um anel de foco sempre será renderizado ao redor do elemento recém-focado e corresponderá à pseudoclasse :focus-visible. Quando for "false", o anel de foco não será pintado e :focus-visible não vai corresponder. Quando ausente, o user agent determina se o anel de foco deve ser pintado, e a pseudoclasse :focus-visible faz a correspondência de acordo.

Efeito de rolagem em roladores não raiz

Mostra efeitos de overscroll elástico em contêineres de rolagem não raiz. Quando um elemento aninhado rolável 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.

Mostrar a posição real da janela no Android

O Chrome no Android agora 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). Isso é impreciso para tablets Android que usam o modo de janelas livre, fazendo com que os sites sempre recebam 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.

APIs Web

Antes do Chrome 145, NavigationTransition tinha uma propriedade from, expondo o URL antigo da navegação. Expor to (um NavigationDestination) conclui isso. Isso é especialmente útil ao usar manipuladores precommit, porque durante precommit o URL atual ainda não mudou para o destino.

WebGPU: recurso subgroup_uniformity

Adiciona um novo escopo à análise de uniformidade e muda quais partes da linguagem são verificadas em cada um para permitir que a funcionalidade de subgrupo seja considerada uniforme em mais casos.

Inserir

Implementa a proposta do ECMAScript para Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert e WeakMap.prototype.getOrInsertComputed.

Tipos de InputEvent para comandos de exclusão em seleções não recolhidas

Informa valores inputType precisos para atalhos de teclado de exclusão no texto selecionado. Quando comandos de exclusão como Control+Backspace ou Control+Delete são usados com texto selecionado em elementos contenteditable, os eventos beforeinput e input agora informam deleteContentBackward ou deleteContentForward em vez de deleteWordBackward ou deleteWordForward. Isso permite que os desenvolvedores da Web entendam corretamente qual operação de edição ocorreu e implementem comportamentos confiáveis de desfazer e refazer ou de edição personalizada.

Permite que os chamadores especifiquem um maxAge ao definir um cookie com a API Cookie Store.

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 a API Cookie Store com as opções fornecidas por document.cookie e o cabeçalho HTTP Set-Cookie.

Confirmação de pagamento seguro: chaves vinculadas ao navegador

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 os desenvolvedores da Web a atender aos requisitos de vinculação de dispositivos para transações de pagamento.

Ativação fixa para o evento clipboardchange

Agora, o Chrome 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. Essa mudança está definida na especificação da API Clipboard.

Expor rtpTimestamp de frames de vídeo WebRTC usando 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. Caso contrário, um dicionário vazio será retornado. Somente os frames de vídeo originados de fontes WebRTC terão os metadados rtpTimestamp anexados.

Permitir que aplicativos da Web entendam os tempos de performance bimodais

Os aplicativos da Web podem sofrer de distribuição bimodal no desempenho de carregamento de página devido a fatores fora do controle do aplicativo. Por exemplo, quando um agente do usuário é iniciado pela primeira vez em um cenário de "início a frio", ele precisa realizar muitas tarefas de inicialização caras que competem por recursos do sistema. As extensões do navegador também podem afetar o desempenho, já que algumas executam código adicional em todas as páginas que você visita, aumentando o uso da CPU e diminuindo os tempos de resposta. Da mesma forma, quando uma máquina já está ocupada com tarefas intensivas, as páginas da Web podem carregar mais lentamente como resultado.

Nesses cenários, o conteúdo que o web app tenta carregar vai competir com outros trabalhos em andamento no sistema. Isso dificulta a detecção de problemas de desempenho nos próprios aplicativos da Web ou devido a fatores externos.

Um novo campo confidence no objeto PerformanceNavigationTiming permite que os desenvolvedores saibam se os tempos de navegação são representativos para o aplicativo da Web.

Adicionar presentationTime e paintTime às entradas de performance

Exponha paintTime e presentationTime no tempo do elemento, LCP, frames de animação longa e tempo de renderização.

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. Consulte LCP e INP agora são recém-disponíveis de referência.

Uso de pixels CSS 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 atual é inconsistente com outras APIs relacionadas ao layout, que usam pixels CSS. Essa mudança melhora a consistência, simplifica o uso para desenvolvedores e se alinha às unidades esperadas na depuração e nas ferramentas.

Isso não afeta o valor da métrica CLS, mas afeta as ferramentas de depuração que mostram capturas de tela e imagens dessas mudanças.

Credenciais de sessões vinculadas ao dispositivo (DBSC, na sigla em inglês)

Uma maneira de os sites vincularem uma sessão a um único dispositivo com segurança.

Ela permite que os servidores tenham uma sessão vinculada com segurança a um dispositivo. O navegador renova a sessão periodicamente, conforme solicitado pelo servidor, com prova de posse de uma chave privada.

Permissões divididas de acesso à rede local

Essa é uma melhoria nas restrições de acesso à rede local (LNA, na sigla em inglês), em que dividimos a permissão necessária de uma permissão de acesso à rede local em duas permissões separadas.

Permissão antiga: local-network-access

Novas permissões:

  • local-network: para solicitações de LNA a IPs no espaço de endereço local.
  • 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 a política de permissões. As políticas corporativas atuais vão continuar funcionando da mesma forma. Políticas corporativas mais recentes e granulares serão adicionadas posteriormente.

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 aos desenvolvedores da Web. 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, os desenvolvedores que tentam fazer comparações de mesma origem ou mesmo site ao processar origens serializadas geralmente cometem erros que levam a vulnerabilidades. Filosoficamente, parece uma primitiva de segurança ausente que os desenvolvedores têm dificuldade de fazer polyfill com precisão.

A API Origin aborda essa lacuna na plataforma ao introduzir um objeto origin que encapsula o conceito de origem e fornece métodos úteis para comparação, serialização e análise.

API Sanitizer

A API Sanitizer (link em inglês) oferece aos desenvolvedores 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.

Alinhamento da especificação de tipos confiáveis

Os Trusted Types foram implementados e lançados originalmente no Chrome em 2019.

A especificação Trusted Type está sendo implementada em outros navegadores. Como parte desse processo, várias inconsistências estão sendo identificadas e corrigidas na especificação. Esta versão corrige esses problemas no Chrome para se alinhar à nova especificação.

Novos testes de origem

No Chrome 145, você pode ativar os seguintes novos testes de origem.

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.

Descontinuações e remoções

Esta versão do Chrome apresenta as seguintes suspensões de uso e remoções. Acesse ChromeStatus.com para ver listas de suspensões de uso planejadas, atuais e remoções anteriores.

O Chrome removeu o suporte para câmeras virtuais obsoletas no macOS

A partir do Chrome 145, o suporte a câmeras virtuais obsoletas será removido para todas as versões do macOS compatíveis.

No macOS, as câmeras virtuais modernas são criadas usando a estrutura Core Media IO, que está disponível desde o macOS 12.3. A Apple entrou em contato, e todo o software moderno de câmera virtual foi migrado para usar essa estrutura Core Media IO.

As câmeras virtuais obsoletas, criadas como plug-ins DAL, foram bloqueadas pelo macOS a partir do macOS 14.1 (2023) e não são compatíveis com o Safari desde 2018, se não antes.

Remover extensão BMP para incorporação de JPEG ou PNG em BMP

O Chrome está removendo a extensão BMP para incorporação de JPEG ou PNG em BMP porque nenhum outro navegador oferece suporte a essa extensão, e ela não tem utilidade (conforme registrado usando dados da UMA).

Strings do user agent reduzidas por padrão

A partir do Chrome 145, a política UserAgentReduction será completamente removida. Antes, 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 agora é o User-Agent Client Hints (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.

A partir do Chrome 145, a política UserAgentReduction não terá efeito. Por padrão, o Chrome envia uma string user agent reduzida. 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 que esperam.