Data de lançamento da versão estável:7 de abril de 2026
Salvo indicação em contrário, as mudanças a seguir se aplicam ao lançamento do canal estável do Chrome 147 para Android, ChromeOS, Linux, macOS e Windows.
CSS e interface
Transições de visualização no escopo do elemento
Expõe element.startViewTransition() em elementos HTML arbitrários.
O elemento estabelece um escopo para a transição, o que significa que os pseudoelementos de transição são afetados por clipes e transformações ancestrais, e várias transições em elementos separados podem ser executadas simultaneamente.
Bug de rastreamento nº 394052227 | Entrada do ChromeStatus.com | Especificação
CSS contrast-color()
Essa função ajuda você a atender aos requisitos de contraste para acessibilidade.
Você pode usar a função contrast-color() em qualquer lugar do CSS em que um valor de cor
seja esperado. Ele usa um argumento de valor de cor e retorna "black" ou "white", dependendo de qual oferece o maior contraste com o argumento de cor.
Bug de rastreamento nº 40142548 | Entrada do ChromeStatus.com | Especificação
Intervalo nomeado da linha do tempo scroll
Esse recurso expande o conjunto de intervalos nomeados para linhas do tempo de visualização adicionando um intervalo scroll ao conjunto atual de entry, exit, cover e contain.
Bug de rastreamento nº 41483848 | Entrada do ChromeStatus.com | Especificação
Propriedade CSS border-shape
A propriedade CSS border-shape permite criar bordas não retangulares com qualquer forma arbitrária, por exemplo, um polígono, um círculo ou um shape().
Embora border-shape aceite as mesmas formas que clip-path, ele é fundamentalmente diferente. border-shape define o formato da borda, decora e corta apenas a parte interna.
border-shape tem duas variantes: uma que traça uma forma e outra que preenche
entre duas formas.
Bug de rastreamento nº 370041145 | Entrada do ChromeStatus.com | Especificação
Interface CSSPseudoElement
A interface CSSPseudoElement representa um pseudoelemento em JavaScript.
CSSPseudoElement é retornado de Element.pseudo(type), em que type é
atualmente ::after, ::before ou ::marker. CSSPseudoElement é um objeto proxy que representa um pseudoelemento. Ao contrário de um pseudoelemento, um
CSSPseudoElement sempre existe.
O CSSPseudoElement tem os seguintes atributos e métodos:
- O atributo
typeé uma string que representa o tipo do pseudoelemento. - O atributo
elementé o elemento de origem final do pseudo-elemento. - O atributo
parenté o elemento de origem do pseudoelemento (ElementouCSSPseudoElementpara pseudoelementos aninhados). - O método
pseudo(type)recupera pseudoelementos aninhados.
Bug de rastreamento nº 40639103 | Entrada do ChromeStatus.com | Especificação
Pseudodestino em eventos
Eventos específicos agora incluem um .pseudoTarget, que é CSSPseudoElement (se a interação foi com um pseudoelemento) ou null.
Isso fornece informações mais específicas sobre a origem do evento. Por exemplo, ele indica que um pseudoelemento ::after foi clicado, e não apenas o elemento de origem final (Event.target). Observe que Event.target permanece inalterado. Portanto, o evento só tem informações extras sobre a interação do pseudoelemento.
Os eventos são UIEvent, AnimationEvent e TransitionEvent.
mouseover, mouseout, mouseenter, mouseleave e os equivalentes pointer* ainda não são compatíveis.
Bug de rastreamento nº 40639103 | Entrada do ChromeStatus.com | Especificação
Desvincular propriedades *-width e *-style
O Chrome 147 se alinha às especificações de CSS atualizadas para o comportamento das propriedades border-width, outline-width e column-rule-width. Antes, se o border-style, outline-style ou column-rule-style correspondente fosse definido como none ou hidden, a largura calculada dessas propriedades seria forçada a 0px, independente do valor especificado.
Com essa mudança, os valores calculados de border-width, outline-width e
column-rule-width sempre refletem os valores especificados pelo autor, independente da propriedade *-style. Além disso, os valores resolvidos (retornados por
getComputedStyle()) para outline-width e column-rule-width também refletem
os valores especificados.
Essa mudança alinha o Chrome ao Firefox e ao WebKit, que já implementaram esse comportamento.
Bug de rastreamento nº 393631108 | Entrada do ChromeStatus.com | Especificação
Suporte ao atributo path no elemento SVG <textPath>
Essa mudança adiciona suporte ao atributo path no elemento SVG <textPath>. Isso permite que os desenvolvedores definam a geometria do caminho de texto inline usando dados de caminho SVG e reduz a necessidade de elementos <path> definidos separadamente.
O elemento <textPath> resolve a geometria do caminho de texto usando as seguintes regras:
- Se
pathehrefestiverem presentes, a geometria será resolvida pelo atributopath. - Se apenas o atributo
pathestiver presente e for analisado com êxito, a definição de caminho inline será usada. - Se o atributo
pathestiver ausente ou não for analisado, e um atributohreffor fornecido, o elemento<path>referenciado será usado como substituto. - O comportamento atual do
hrefnão muda.
Essa implementação segue a definição do atributo path em <textPath> da especificação SVG 2. O comportamento de resolução é consistente com outros mecanismos de navegador, o que melhora a interoperabilidade e a conformidade com os padrões. Observação:
quando path e href são especificados em <textPath>, path tem precedência, de acordo com a especificação SVG 2.
Bug de rastreamento nº 374010056 | Entrada do ChromeStatus.com | Especificação
Dispositivo
Detecção de planos do WebXR
Com a API WebXR Plane Detection, os sites podem recuperar o conjunto de planos detectados no ambiente do usuário. Isso dá menos trabalho para os desenvolvedores e é mais eficiente do que usar o recurso WebXR de detecção de profundidade. Por exemplo, planos como paredes que são ocluídos por objetos ainda podem ser totalmente representados se o sistema souber dos limites da parede. Um mapa de profundidade mostraria a parede, mas os objetos na frente dela a quebrariam, possivelmente obscurecendo o escopo total da parede. Além disso, as informações de rotulagem semântica são expostas quando o dispositivo reconhece esses rótulos e eles se encaixam em categorias predefinidas, o que fornece um conhecimento melhor sobre o mundo.
Bug de rastreamento nº 394636076 | Entrada do ChromeStatus.com | Especificação
DOM
Suporte a JSON e estilo para link rel=modulepreload
Adiciona suporte a tipos de módulo JSON e de estilo como destinos <link rel="modulepreload">. O <link rel="modulepreload"> já é compatível com o Chromium (consulte o
recurso do Chromestatus), mas
no momento, ele só é compatível com scripts de módulos semelhantes a scripts de pré-carregamento. Esse recurso
resolve uma lacuna de funcionalidade porque os scripts de módulo JSON e CSS são compatíveis
em outros lugares do Chromium, mas não como destinos <link rel="modulepreload">. É
possível pré-carregar módulos de estilo com
<link rel="modulepreload" as="style" href="..."> e módulos JSON com
<link rel="modulepreload" as="json" href="...">.
Bug de rastreamento nº 466888680 | Entrada do ChromeStatus.com | Especificação
Análise XML em Rust para cenários não XSLT
Implementa o analisador XML do Rust para cenários em que não é necessário processamento XSLT.
O analisador XML Rust melhora a segurança eliminando bugs de corrupção de memória na análise XML. Ele substitui o uso de libxml2 (escrito em C) por uma alternativa
segura.
Estamos descontinuando o XSLT. Enquanto esse processo continua, você já pode usar a análise XML segura do Rust em cenários em que o XSLT não é necessário.
Bug de rastreamento nº 466303347 | Entrada do ChromeStatus.com
Gráficos
Camadas WebXR
As camadas WebXR oferecem uma maneira mais eficiente de desenhar conteúdo imersivo.
Além de oferecer suporte a texturas nativas de cor e profundidade e matrizes de textura, ele também oferece suporte a diferentes tipos de camadas gerenciadas pelo compositor do sistema (em vez de JavaScript).
Bug de rastreamento nº 409255534 | Entrada do ChromeStatus.com | Especificação
JavaScript
Math.sumPrecise
Implementa uma proposta do TC39 para adicionar um método de soma de vários valores em JavaScript.
Adicione um método Math.sumPrecise que usa iteráveis e retorna a soma dos valores no iterável usando um algoritmo mais preciso do que a soma simples.
Bug de rastreamento nº 374310075 | Entrada do ChromeStatus.com | Especificação
Rede / Conectividade
Request.isReloadNavigation atributo
Adiciona o atributo booleano somente leitura isReloadNavigation à interface Request da API Fetch. Esse atributo indica se a solicitação de navegação atual foi iniciada como uma recarga acionada pelo usuário (por exemplo, usando o botão Atualizar, location.reload() ou history.go(0)). Esse indicador é exposto principalmente no objeto Request em um FetchEvent do service worker.
Bug de rastreamento nº 40487194 | Entrada do ChromeStatus.com | Especificação
Desempenho
Atualizar os limites da API Device Memory
Atualizações para um novo conjunto de valores possíveis da API Device Memory:
- Android: 1, 2, 4, 8
- Outros: 2, 4, 8, 16, 32. Esses valores substituem os antigos 0,25, 0,5, 1, 2, 4 e 8, que ficaram desatualizados.
Isso reduz os riscos de impressão digital na extremidade inferior porque os recursos do dispositivo melhoraram desde que foram definidos. Ele também permite um uso e uma segmentação melhores de dispositivos sofisticados, conforme solicitado pelos desenvolvedores. Para mais informações, consulte Problema de memória do dispositivo.
Bug de rastreamento nº 454354290 | Entrada do ChromeStatus.com | Especificação
Acesso à rede local (LNA)
Para mais informações sobre o LNA, consulte Acesso à rede local.
Restrições de acesso à rede local no service worker WindowClient.navigate()
As restrições de acesso à rede local (LNA, na sigla em inglês) foram adicionadas recentemente para impedir que sites
façam solicitações unilaterais para redes e dispositivos locais. Essas restrições foram adicionadas para solicitações de busca iniciadas pelo service worker, mas não para navegações que os service workers realizam por WindowClient.navigate().
Esse lançamento preenche essa lacuna adicionando restrições de LNA às chamadas
WindowClient.navigate(). Ele usa o WindowClient como iniciador da
navegação para determinar se ela é uma solicitação de LNA.
Isso só se aplica se o WindowClient sendo navegado for um subframe. No momento, o Chrome não aplica restrições de LNA em navegações de frame principal.
Restrições de acesso à rede local para WebTransport
Restringe a capacidade de fazer solicitações para a rede local do usuário usando WebTransport, que é protegida por uma solicitação de permissão.
Uma solicitação de rede local é qualquer solicitação de um site público a um endereço IP local ou loopback, ou de um site local (por exemplo, uma intranet) a loopback. Restringir a capacidade dos sites de fazer essas solicitações por trás de uma permissão reduz a capacidade dos sites de usar essas solicitações para criar uma impressão digital da rede local do usuário.
Essa permissão é restrita a contextos seguros.
Bug de rastreamento nº 421216834 | Entrada do ChromeStatus.com | Especificação
Restrições de acesso à rede local para WebSockets
As restrições de acesso à rede local (LNA, na sigla em inglês) estão sendo expandidas para incluir WebSockets. As conexões WebSockets com endereços locais agora acionam solicitações de permissão.
Todas as políticas corporativas atuais da LNA ainda se aplicam às restrições de WebSockets da LNA (LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrls e LocalNetworkAccessRestrictionsTemporaryOptOut).
Bug de rastreamento nº 421156866 | Entrada do ChromeStatus.com | Especificação
Apps isolados da Web (IWA)
API Web Printing
Essa API permite uma integração mais profunda com a funcionalidade relacionada à impressora em Apps Isolados da Web.
Essa API é destinada apenas a Apps Isolados da Web e segue o processo de Apps Isolados da Web.
Essa API oferece um conjunto de métodos JavaScript que permitem aos desenvolvedores consultar impressoras locais, enviar trabalhos de impressão para as impressoras mais adequadas e gerenciar opções e status de trabalhos de impressão. Para representar esses conceitos, ele usa nomes e semântica de atributos das especificações do protocolo de impressão via Internet (IPP).
Bug de rastreamento nº 302505962 | Entrada do ChromeStatus.com | Especificação
Testes de origem
Pré-renderizar iframes entre origens
Pré-renderiza iframes de origem cruzada usando um cabeçalho de resposta de ativação.
Os navegadores agora pré-renderizam todos os frames de origem cruzada se a resposta HTTP do frame de nível superior incluir Supports-Loading-Mode: prerender-cross-origin-frames.
Teste de origem | Bug de rastreamento nº 440387014 | Entrada do ChromeStatus.com | Especificação
Evento de preenchimento automático
O preenchimento automático é um recurso essencial da Web que reduz o atrito para milhões de usuários todos os dias. No entanto, para que o preenchimento automático funcione de maneira confiável com formulários dinâmicos em várias implementações, é necessário um esforço significativo.
Esse recurso adiciona um evento autofill que permite aos desenvolvedores modificar os formulários para
ajustar os dados preenchidos automaticamente e notificar o navegador quando isso for feito.
Teste de origem | Bug de rastreamento nº 466333215 | Entrada do ChromeStatus.com | Especificação
WebNN
A 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 de um usuário. Isso ajuda a 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
Descontinuações e remoções
Remover XSLT inline para produção de SVG
Um arquivo XML especialmente criado pode conter uma folha de estilo XSL que transforma dados XML genéricos em um arquivo SVG.
Por exemplo, consulte gist.github.com.
Esse é um caso especial de processamento XSLT que, de acordo com os contadores de uso XSLPIInSVGImage (ID do UseCounter 5777) e XSLPIInSVGStandaloneDoc (ID do UseCounter 5778) introduzidos recentemente, consideramos praticamente inexistente na Web. Queremos descontinuar e remover o XSLT antes de desativá-lo completamente.
Isso será lançado em sincronia com o teste experimental do analisador XML baseado em Rust. Isso não será implantado imediatamente em 100% no Chrome 147.
Bug de rastreamento nº 482223009 | Entrada do ChromeStatus.com