Beta do Chrome 147

Publicado em: 11 de março de 2026

Salvo indicação em contrário, as seguintes mudanças se aplicam à versão mais recente do canal Beta do Chrome para Android, ChromeOS, Linux, macOS e Windows. Para saber mais sobre esses recursos, siga os links fornecidos ou acesse ChromeStatus.com. Baixe a versão Beta mais recente em Google.com para computador ou na Google Play Store para Android.

Intervalo nomeado da linha do tempo scroll

Esse recurso expande o conjunto de intervalos nomeados de ViewTimelines, adicionando um intervalo scroll.

A API Scroll-Driven Animations introduziu ViewTimelines junto com intervalos nomeados que se referem a partes de um ViewTimeline que definem o intervalo de uma animação.

No entanto, todos os intervalos nomeados fornecidos foram restritos à parte do ViewTimeline em que o assunto está visível. É útil para os autores se referirem a toda a extensão do contêiner de rolagem subjacente à linha do tempo. Esse recurso adiciona um intervalo nomeado de scroll ao conjunto atual (entry, exit, cover, contain).

CSS contrast-color()

Você pode usar essa função para atender aos requisitos de contraste de acessibilidade.

A função contrast-color() pode ser usada em qualquer lugar em 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.

CSS border-shape

O CSS border-shape permite criar bordas não retangulares com qualquer forma arbitrária (por exemplo, polygon, circle, shape()).

Embora border-shape aceite as mesmas formas que clip-path, ele é fundamentalmente diferente: border-shape define a forma da borda, decora e corta apenas a parte interna.

O border-shape tem duas variantes: uma que traça uma forma e outra que preenche entre duas formas.

Transições de visualização com escopo de 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.

Atualização do CSS: separação das propriedades width e style

O Chrome está alinhado com as 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()) de outline-width e column-rule-width também refletem os valores especificados.

A mudança alinha o Chrome ao Firefox e ao WebKit, que já implementaram esse comportamento.

Interface CSSPseudoElement

A interface CSSPseudoElement representa um pseudoelemento em JavaScript.

CSSPseudoElement é retornado de Element.pseudo(type), em que type é: ::after, ::before, ::marker. CSSPseudoElement é um objeto proxy que representa um pseudoelemento. Portanto, ao contrário de um pseudoelemento, CSSPseudoElement sempre existe.

CSSPseudoElement tem os seguintes atributos/métodos:

  • O atributo type é uma string que representa o tipo do pseudoelemento.
  • O atributo element é o elemento de origem final do pseudoelemento.
  • O atributo parent é o elemento de origem do pseudoelemento (o elemento ou CSSPseudoElement para pseudoelementos aninhados).
  • O método pseudo(type) para recuperar pseudoelementos aninhados.

Pseudodestino em eventos

Eventos específicos são estendidos para ter .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, não apenas um elemento de origem final (Event.target) foi clicado, mas, mais especificamente, foi ::after. Observe que o Event.target não muda, então o evento só tem informações extras sobre a interação com pseudoelementos.

Os eventos são UIEvent, AnimationEvent e TransitionEvent.

Os mouseover, mouseout, mouseenter, mouseleave e seus equivalentes pointer* não são compatíveis.

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 é 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 os objetos ocultam, ainda podem ser totalmente representados se o sistema souber os limites da parede. Um mapa de profundidade mostraria a parede, mas os objetos na frente dela a dividiriam, possivelmente obscurecendo o escopo total da parede. Além disso, as informações de rotulagem semântica estão disponíveis quando o dispositivo conhece esses rótulos e eles se encaixam em categorias predefinidas, o que fornece um conhecimento melhor sobre o mundo.

Camadas WebXR

As camadas WebXR oferecem uma maneira mais eficiente de desenhar conteúdo imersivo.

Além do 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.

Análise XML em Rust para cenários não XSLT

Estamos enviando o analisador XML do Rust para cenários em que temos certeza de que não é necessário processamento XSLT.

O analisador XML Rust melhora a segurança ao eliminar bugs de corrupção de memória na análise XML. Ele foi criado para substituir o uso da libxml2 (escrita em C) por uma alternativa segura.

O Chrome está descontinuando o XSLT. Enquanto esse processo continua, você já pode usar a análise XML segura do Rust em cenários em que nenhuma XSLT é necessária:

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 https://chromestatus.com/feature/5762805915451392), mas só oferece suporte a scripts de módulos de pré-carregamento semelhantes a scripts. Esse recurso resolve uma lacuna na funcionalidade, já que scripts de módulo JSON e CSS são compatíveis com o Chromium em outros lugares, mas não como destinos <link rel="modulepreload">. Os módulos Style podem ser pré-carregados com <link rel="modulepreload" as="style" href="..."> e os módulos JSON podem ser pré-carregados com <link rel="modulepreload" as="json" href="...">.

Math.sumPrecise

Uma proposta do TC39 para adicionar um método de soma de vários valores ao 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.

Suporte ao atributo path no elemento SVG <textpath>

Essa mudança adiciona suporte ao atributo path no elemento SVG <textPath>, permitindo que os autores definam a geometria do caminho do texto inline usando dados de caminho SVG e reduzindo a necessidade de elementos <path> definidos separadamente.

O <textPath> resolve a geometria do caminho de texto usando as seguintes regras:

  1. Se path e href estiverem presentes, a geometria será resolvida pelo atributo path.
  2. Se apenas o atributo path estiver presente e for analisado com êxito, a definição de caminho inline será usada.
  3. Se o atributo path estiver ausente ou não for analisado, e um atributo href for fornecido, o elemento <path> referenciado será usado como substituto.
  4. O comportamento atual do href não muda.

Essa implementação segue a definição do atributo path em <textPath> da especificação SVG 2, e o comportamento de resolução é consistente com outros mecanismos de navegador, melhorando a interoperabilidade e a conformidade com os padrões.

Receber recursos de confirmação de pagamento seguro

Adiciona um novo método estático à Solicitação de pagamento que permite que os desenvolvedores da Web obtenham os recursos da implementação da Confirmação de pagamento seguro pelo navegador.

Isso ajuda os desenvolvedores da Web a saber quais recursos estão disponíveis para a confirmação de pagamento seguro. Assim, eles podem decidir se querem usar esse recurso com esses recursos.

Atualizar os limites da API Device Memory

Atualização para um novo conjunto de valores possíveis para a API Device Memory:

  • Android: 1, 2, 4, 8
  • Outros: 2, 4, 8, 16, 32.

Substituindo os valores antigos de 0,25, 0,5, 1, 2, 4, 8, que ficaram desatualizados.

Isso reduz os riscos de técnicas de impressão digital na extremidade inferior porque os recursos dos dispositivos melhoraram desde que foram definidos.

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 a redes e dispositivos locais. Isso foi adicionado para solicitações de busca iniciadas pelo service worker, mas não foi aplicado a navegações realizadas por service workers usando WindowClient.navigate.

Este lançamento resolve essa lacuna adicionando restrições de LNA às chamadas WindowClient.navigate(), usando o WindowClient como iniciador da navegação para determinar se ela é uma solicitação de LNA.

Isso só se aplica se o WindowClient em navegação for um subframe. O Chrome não impõe restrições de LNA nas navegações do frame principal.

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 o endereço local agora acionam solicitações de permissão.

Todas as políticas corporativas da LNA ainda se aplicam às restrições de WebSockets da LNA, incluindo LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrls e LocalNetworkAccessRestrictionsTemporaryOptOut.

Saiba mais sobre LNA em Acesso à rede local.

Restrições de acesso à rede local para WebTransport

Restringe a capacidade de fazer solicitações para a rede local do usuário usando WebTransport, protegida por um comando 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, 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.

Somente IWA: API Web Printing

Essa API permite uma integração mais profunda com funcionalidades relacionadas a impressoras em Apps Isolados da Web (IWAs, na sigla em inglês).

A API Web Printing 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 os nomes e a semântica dos atributos das especificações do Protocolo de impressão da Internet (IPP).

Novos testes de origem

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

Tempo do contêiner

A API Container Timing permite monitorar quando as seções anotadas do DOM são exibidas na tela e concluíram a renderização inicial. Um desenvolvedor pode marcar subseções do DOM com o atributo containertiming (semelhante a elementtiming para a API Element Timing) e receber entradas de desempenho quando essa seção for renderizada pela primeira vez. Essa API permite que desenvolvedores meçam o tempo de vários componentes nas páginas.

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. Mas fazer o preenchimento automático funcionar de maneira confiável com formulários dinâmicos em várias implementações pode ser complexo.

Esse recurso adiciona um evento autofill que é acionado quando o navegador está prestes a preencher automaticamente um campo de formulário. Isso permite que os desenvolvedores modifiquem os formulários para se adequar aos dados preenchidos automaticamente e informem o navegador quando isso for feito.

Elemento HTML de instalação de app da Web

Permite que um site solicite de forma declarativa que os usuários instalem um app da Web. O elemento aceita opcionalmente dois atributos que permitem a instalação de conteúdo de uma origem diferente.

Listas de permissão de conexão

As listas de permissão de conexão são um recurso projetado para fornecer controle explícito sobre endpoints externos, restringindo conexões iniciadas usando a API Fetch ou outras APIs da plataforma da Web de um documento ou worker.

A implementação proposta envolve a distribuição de uma lista de endpoints autorizados do servidor por um cabeçalho de resposta HTTP. Antes do estabelecimento de qualquer conexão pelo user agent em nome de uma página, o agente avalia o destino em relação a essa lista de permissões. Conexões com endpoints verificados são permitidas, enquanto aquelas que não correspondem às entradas na lista são bloqueadas.

Descontinuações e remoções

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

Esta versão do Chrome descontinua X recursos.

Remover XSLT inline para produção de SVG

Estamos começando a descontinuar o XSLT inline para a produção de SVG. Isso é implantado em sincronia com o teste experimental do analisador XML baseado em Rust e não é implantado imediatamente em 100% na versão de lançamento de envio marcada.

Um arquivo XML especialmente criado pode conter uma folha de estilo XSL que transforma dados XML genéricos em um arquivo SVG.

Exemplo: https://gist.github.com/drott/1fc70b3c7f0ac314d1fe2e5beecc5490?short_path=1c60adf

Esse é um caso especial de processamento de XSLT que, de acordo com as medições de uso, o Chrome considera praticamente inexistente na Web. O Chrome planeja descontinuar e remover esse uso específico do XSLT antes de eliminar totalmente o XSLT.