Chrome 140

Data de lançamento da versão estável:2 de setembro de 2025

Salvo indicação em contrário, as mudanças a seguir se aplicam ao lançamento do canal estável do Chrome 140 para Android, ChromeOS, Linux, macOS e Windows.

CSS

Aritmética tipada do CSS

A aritmética tipada permite escrever expressões em CSS, como calc(10em / 1px) ou calc(20% / 0.5em * 1px). Isso é útil, por exemplo, na tipografia, porque permite converter um valor digitado em um sem tipo e reutilizá-lo para propriedades que aceitam números. Outro caso de uso é multiplicar o valor sem unidade por outro tipo. Por exemplo, agora é possível converter de pixels para graus.

Bug de rastreamento nº 40768696 | Entrada do ChromeStatus.com | Especificação

Propriedade CSS caret-animation

O Chromium é compatível com a animação da propriedade caret-color. No entanto, quando animado, o comportamento padrão de piscagem do cursor interfere na animação.

A propriedade CSS caret-animation tem dois valores possíveis: auto e manual. auto significa o padrão do navegador (piscando), e manual significa que o desenvolvedor controla a animação do cursor. Além disso, os usuários que se incomodam ou têm reações adversas a visuais piscando ou intermitentes podem desativar o recurso com uma folha de estilo do usuário.

Bug de rastreamento nº 329301988 | Entrada do ChromeStatus.com | Especificação

API highlightsFromPoint

A API highlightsFromPoint permite que os desenvolvedores interajam com os destaques personalizados. Ele detecta quais destaques existem em um ponto específico de um documento. Essa interatividade é valiosa para recursos complexos da Web em que vários destaques podem se sobrepor ou existir no shadow DOM. Ao fornecer uma detecção precisa de destaque baseada em pontos, a API permite que os desenvolvedores gerenciem interações dinâmicas com destaques personalizados de maneira mais eficaz. Por exemplo, os desenvolvedores podem responder a cliques ou eventos de passar o cursor do usuário em regiões destacadas para acionar dicas personalizadas, menus contextuais ou outros recursos interativos.

Bug de rastreamento nº 365046212 | Entrada do ChromeStatus.com | Especificação

Opção de contêiner ScrollIntoView

A opção de contêiner ScrollIntoViewOptions permite que os desenvolvedores realizem uma operação scrollIntoView que rola apenas o contêiner de rolagem ancestral mais próximo. Por exemplo, o snippet a seguir só rola o contêiner de rolagem de target para mostrar target, mas não rola todos os contêineres de rolagem até a janela de visualização:

target.scrollIntoView({container: 'nearest'});

Entrada do ChromeStatus.com | Especificação

Transições de visualização: herdar mais propriedades de animação

Adiciona mais propriedades de animação para herdar pela pseudárvore de transição de visualização:

  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Bug de rastreamento nº 427741151 | Entrada do ChromeStatus.com | Especificação

Os pseudoelementos de transição de visualização herdam o animation-delay.

Além da atualização anterior, a propriedade animation-delay agora é herdada pela pseudárvore de transição de visualização.

Entrada do ChromeStatus.com | Especificação

Grupos aninhados de transições de visualização

Esse recurso permite que as transições de visualização gerem uma árvore de pseudoelementos aninhada em vez de uma simples. Isso permite que a transição de visualização apareça mais alinhada com os elementos originais e a intenção visual. Ele permite recorte, transformações 3D aninhadas e aplicação adequada de efeitos como opacidade, mascaramento e filtros.

Bug de rastreamento nº 399431227 | Entrada do ChromeStatus.com | Especificação

Propagar a janela de visualização overscroll-behavior da raiz

Essa mudança propaga overscroll-behavior da raiz em vez do corpo.

O grupo de trabalho do CSS decidiu não propagar propriedades do <body> para a janela de visualização. Em vez disso, as propriedades da janela de visualização são propagadas do elemento raiz (<html>). Assim, overscroll-behavior precisa ser propagado do elemento raiz. No entanto, o Chrome tem um problema antigo: ele propaga overscroll-behavior do <body> em vez da raiz. Esse comportamento não é interoperável com outros navegadores. Essa mudança faz com que o Chrome obedeça à especificação e se torne interoperável com outras implementações.

Bug de rastreamento nº 41453796 | Entrada do ChromeStatus.com | Especificação

CSS counter() e counters() no texto alternativo da propriedade content

Esse recurso adiciona a capacidade de usar counter() e counters() no texto alternativo da propriedade content. Isso fornece informações mais significativas para melhorar a acessibilidade.

Bug de rastreamento nº 417488055 | Entrada do ChromeStatus.com | Especificação

Propriedade CSS scroll-target-group

A propriedade scroll-target-group especifica se o elemento é um contêiner de grupo de marcadores de rolagem. Ele aceita um dos seguintes valores:

  • "none": o elemento não estabelece um contêiner de grupo de marcadores de rolagem.
  • "auto": o elemento estabelece um contêiner de grupo de marcadores de rolagem que forma um grupo de marcadores de rolagem com todos os elementos de marcador de rolagem para os quais esse é o contêiner de grupo de marcadores de rolagem ancestral mais próximo.

Ao estabelecer um contêiner de grupo de marcadores de rolagem, qualquer elemento HTML de âncora com um identificador de fragmento dentro desse contêiner pode ser o equivalente HTML de pseudoelementos ::scroll-marker. O elemento de âncora cujo destino de rolagem está atualmente na visualização pode ser estilizado usando a pseudoclasse :target-current.

Bug de rastreamento nº 6607668 | Entrada do ChromeStatus.com | Especificação

Compatibilidade com o descritor font-variation-settings na regra @font-face

O CSS permite que os desenvolvedores ajustem o peso, a largura, a inclinação e outros eixos de uma fonte usando a propriedade font-variation-settings em elementos individuais. No entanto, os navegadores baseados no Chromium não oferecem suporte a essa propriedade em declarações @font-face. Esse recurso é compatível com a sintaxe baseada em strings para font-variation-settings, conforme definido em CSS Fonts Level 4. Tags de recursos inválidas ou não reconhecidas são ignoradas por especificação. Não há suporte para formulários binários ou não padrão. As fontes variáveis estão sendo mais adotadas para desempenho e flexibilidade tipográfica. Adicionar suporte a esse descritor no Chromium aumenta o controle, reduz a repetição e oferece suporte a uma abordagem mais escalonável e moderna para a tipografia da Web.

Bug de rastreamento nº 40398871 | Entrada do ChromeStatus.com | Especificação

DOM

Atributo de origem ToggleEvent

O atributo source de um ToggleEvent contém o elemento que acionou o disparo do ToggleEvent, se aplicável. Por exemplo, se um usuário clicar em um elemento <button> com o atributo popovertarget ou commandfor definido para abrir um popover, o ToggleEvent disparado no popover terá o atributo source definido como o <button> de invocação.

Entrada do ChromeStatus.com | Especificação

Apps isolados da Web (IWAs)

API Controlled Frame (disponível apenas para AIWs)

Esse recurso adiciona uma API Controlled Frame disponível apenas para Apps Isolados da Web (AIWs). Assim como APIs com nomes semelhantes em outras plataformas, o Controlled Frame permite incorporar todo o conteúdo, mesmo de terceiros, que não pode ser incorporado em <iframe>. O Controlled Frame também permite controlar conteúdo incorporado com uma coleção de métodos e eventos da API. Para mais informações sobre apps da Web isolados, consulte a explicação sobre apps da Web isolados.

Bug de rastreamento nº 40191772 | Entrada do ChromeStatus.com | Especificação

JavaScript

Uint8Array para e de base64 e hexadecimal

A Base64 é uma maneira comum de representar dados binários arbitrários como ASCII. O JavaScript tem Uint8Arrays para dados binários. No entanto, ele não tem um mecanismo integrado para codificar esses dados como base64 ou para usar dados base64 e produzir um Uint8Array correspondente. Esse recurso adiciona a capacidade e os métodos para conversão entre strings hexadecimais e Uint8Arrays.

Entrada do ChromeStatus.com | Especificação

Ver mudança no tempo da promessa de transição concluída

O tempo de promessa concluída atual acontece nas etapas do ciclo de vida de renderização. Isso significa que o código executado como resultado da resolução da promessa acontece depois que o frame visual que remove a transição de visualização é produzido. Isso pode causar um tremular no final da animação se o script mover estilos para preservar um estado visualmente semelhante. Essa mudança resolve o problema movendo as etapas de limpeza da transição de visualização para serem executadas de forma assíncrona após a conclusão do ciclo de vida.

Bug de rastreamento nº 430018991 | Entrada do ChromeStatus.com

APIs Web

Opção ReadableStreamBYOBReader min

Esse recurso apresenta uma opção min ao método ReadableStreamBYOBReader.read(view) atual. O método já aceita um ArrayBufferView em que lê dados, mas atualmente não garante quantos elementos são gravados antes da leitura ser resolvida. Ao especificar um valor min, você pode exigir que o fluxo aguarde até que pelo menos esse número de elementos esteja disponível antes de resolver a leitura. Isso melhora o comportamento atual, em que as leituras podem ser resolvidas com menos elementos do que a visualização pode conter.

Bug de rastreamento nº 40942083 | Entrada do ChromeStatus.com | Especificação

A API Get Installed Related Apps (navigator.getInstalledRelatedApps) oferece aos sites acesso para saber se os aplicativos relacionados correspondentes estão instalados. Os sites só podem usar essa API se o aplicativo tiver uma associação estabelecida com a origem da Web.

A API foi lançada no Chrome 80 para Android. O suporte adicional para apps da Web em computadores foi ativado no Chrome 140.

Documentos | Bug de rastreamento nº 895854 | Entrada do ChromeStatus.com | Especificação

Em alguns casos, é importante distinguir no lado do servidor entre cookies definidos pelo servidor e aqueles definidos pelo cliente. Um desses casos envolve cookies normalmente sempre definidos pelo servidor. No entanto, um código inesperado (como um exploit de XSS, uma extensão maliciosa ou um commit de um desenvolvedor confuso) pode defini-los no cliente. Essa proposta adiciona um indicador que permite aos servidores fazer essa distinção. Mais especificamente, ele define os prefixos __Http e __HostHttp, que garantem que um cookie não seja definido no lado do cliente usando script.

Bug de rastreamento nº 426096760 | Entrada do ChromeStatus.com | Especificação

Service worker

O script SharedWorker herda o controlador do URL do script do blob

A especificação afirma que os workers precisam herdar os controladores do URL do blob. No entanto, o código atual permite que apenas DedicatedWorkers herdem o controlador. SharedWorkers não o herdam. Isso corrige o comportamento do Chrome para se alinhar à especificação. A política corporativa SharedWorkerBlobURLFixEnabled controla esse recurso.

Bug de rastreamento nº 324939068 | Entrada do ChromeStatus.com | Especificação

Adicionar ServiceWorkerStaticRouterTimingInfo

Esse recurso adiciona informações de tempo para a API de roteamento estático do ServiceWorker, expostas na API Navigation Timing e na API Resource Timing para uso do desenvolvedor. O ServiceWorker fornece informações de tempo para marcar determinados pontos no tempo.

Esse recurso adiciona duas informações de tempo relevantes para a API Static Routing:

  • RouterEvaluationStart: tempo para começar a corresponder uma solicitação a regras de roteador registradas.
  • CacheLookupStart: hora de começar a pesquisar o armazenamento em cache se a origem for "cache".

Além disso, esse recurso adiciona duas informações de origem do roteador: a origem correspondente e a origem final.

Bug de rastreamento nº 41496865 | Entrada do ChromeStatus.com | Especificação

Testes de origem

Ativar notificações de chamadas recebidas

Esse recurso estende a API Notifications para permitir que PWAs instaladas enviem notificações de chamadas recebidas, que têm botões no estilo de chamada e um toque. Essa extensão ajuda os apps da Web VoIP a criar experiências mais envolventes, facilitando o reconhecimento e o atendimento de notificações de chamadas pelos usuários. Além disso, esse recurso ajuda a diminuir a diferença entre as implementações nativas e da Web de apps que têm as duas.

Teste de origem | Bug de rastreamento #detail?id=1383570 | Entrada do ChromeStatus.com | Especificação

API de chave-valor do Crash Reporting

Esse recurso apresenta uma nova API de chave-valor, provisoriamente window.crashReport, com suporte de um mapa por documento que contém dados anexados a relatórios de falhas.

Os dados colocados no mapa de suporte dessa API são enviados no CrashReportBody se ocorrerem falhas no processo de renderização no site. Isso permite que os desenvolvedores depurem qual estado específico do aplicativo pode estar causando uma determinada falha.

Teste de origem | Bug de rastreamento nº 400432195 | Entrada do ChromeStatus.com | Especificação

Adicionar o evento clipboardchange

O evento clipboardchange é disparado sempre que um web app ou qualquer outro aplicativo do sistema muda o conteúdo da área de transferência do sistema. Isso permite que apps da Web, como clientes de área de trabalho remota, mantenham as áreas de transferência sincronizadas com a área de transferência do sistema. Ela oferece uma alternativa eficiente para pesquisar a área de transferência com JavaScript em busca de mudanças.

Teste de origem | Bug de rastreamento nº 41442253 | Entrada do ChromeStatus.com | Especificação

Ativar o SharedWorker no Android

A demanda por suporte ao SharedWorker no Android vem de várias necessidades expressas por desenvolvedores da Web:

  • Compartilhamento e eficiência de recursos: os desenvolvedores compartilham uma única conexão WebSocket ou de eventos enviados pelo servidor (SSE, na sigla em inglês) em várias guias, conservando recursos.
  • Gerenciamento de recursos persistentes: uma exigência para compartilhar e manter recursos em várias guias, principalmente para tecnologias como o SQLite baseado em WASM.
  • Eliminação de uma lacuna de recursos: outros navegadores móveis importantes, incluindo o Safari no iOS e o Firefox no Android, já são compatíveis com o SharedWorker, o que torna o Chrome no Android o último navegador importante a resolver essa lacuna.

Teste de origem | Entrada do ChromeStatus.com | Especificação

Remoções

Parar de enviar o cabeçalho Purpose: prefetch de pré-buscas e pré-renderizações

As pré-buscas e pré-renderizações agora usam o cabeçalho Sec-Purpose. Portanto, o cabeçalho legado Purpose: prefetch está sendo removido.

Isso será limitado às regras de especulação prefetch, prerender, <link rel=prefetch> e <link rel=prerender> não padrão do Chromium.

Bug de rastreamento nº 420724819 | Entrada do ChromeStatus.com | Especificação

Descontinuar regras especiais de tamanho da fonte para H1 em alguns elementos

A especificação HTML contém uma lista de regras especiais para tags <h1> aninhadas em tags <article>, <aside>, <nav> ou <section>:

Essas regras especiais foram descontinuadas porque causam problemas de acessibilidade. Ou seja, elas reduzem o tamanho da fonte dos elementos <h1> aninhados, fazendo com que pareçam elementos <h2>, mas nada na árvore de acessibilidade reflete essa mudança.

Bug de rastreamento nº 394111284 | Entrada do ChromeStatus.com | Especificação