Data de lançamento estável:1º de abril de 2025
A menos que indicado de outra forma, as mudanças a seguir se aplicam à versão do canal estável do Chrome 135 para Android, ChromeOS, Linux, macOS e Windows.
HTML e DOM
Comandos do invocador: os atributos command e commandfor
Os atributos command
e commandfor
nos elementos <button>
permitem atribuir comportamento aos botões de maneira mais acessível e declarativa.
Rastreamento do bug #1490919 | Entrada do ChromeStatus.com | Especificação
Vincular rel=facilitated-payment
para oferecer suporte a pagamentos push
Adiciona suporte a <link rel="facilitated-payment" href="...">
como uma sugestão de que o navegador deve notificar os clientes de pagamento registrados sobre um pagamento push pendente.
Rastreamento do bug #1477049 | Entrada do ChromeStatus.com
CSS
Pseudoelemento ::column
para carrosséis
Um pseudoelemento ::column
, que permite aplicar um conjunto limitado de estilos aos fragmentos gerados. Especificamente, isso seria limitado a estilos que não afetam o layout e, portanto, podem ser aplicados após o layout.
Pseudoelementos ::scroll-button()
Permite a criação de botões de rolagem interativos como pseudoelementos, por exemplo:
.scroller {
overflow: auto;
}
.scroller::scroll-button(inline-start) {
content: "<";
}
.scroller::scroll-button(inline-end) {
content: ">";
}
Eles precisam ser focados, atuando como um botão (incluindo os estilos do UA). Quando ativado, um rolamento precisa ser realizado na direção por uma certa quantidade. Quando não for possível rolar nessa direção, eles serão desativados (e estilizados com :disabled
). Caso contrário, eles serão ativados (e estilizados com :enabled
).
O seletor permite definir botões em quatro direções lógicas: block-start
, block-end
, inline-start
, inline-end
, bem como quatro direções físicas: up
, down
, left
, right
.
Rastreamento do bug #370067113 | Entrada do ChromeStatus.com | Especificação
::scroll-marker
e ::scroll-marker-group
Adiciona os pseudoelementos ::scroll-marker
e ::scroll-marker-group
para contêineres de rolagem.
Eles permitem criar um conjunto de marcadores com foco para todos os itens associados no contêiner de rolagem.
Rastreamento do bug #332396355 | Entrada do ChromeStatus.com | Especificação
Inércia do CSS: a propriedade interactivity
A propriedade interactivity
especifica se um elemento e os descendentes da árvore plana (incluindo linhas de texto) são inertes ou não.
Tornar um elemento inativo afeta se ele pode ser focado, editado, selecionado e pesquisável pelo recurso Encontrar na página. Isso também afeta se ele está visível na árvore de acessibilidade.
Entrada do ChromeStatus.com | Especificação
Estouro lógico do CSS
As propriedades CSS overflow-inline
e overflow-block
permitem definir o overflow na direção inline e de bloco em relação ao modo de gravação. Em um modo de escrita horizontal, overflow-inline
é mapeado para overflow-x
, enquanto em um modo de escrita vertical, ele é mapeado para overflow-y
.
Rastreamento do bug #41489999 | Entrada do ChromeStatus.com | Especificação
Deslocamento de rolagem lembrado pelo posicionamento de âncora do CSS
Adicionamos suporte ao conceito de compensação de rolagem gravada.
Quando um elemento posicionado tem uma âncora padrão e é vinculado a essa âncora em uma borda e ao bloco de contenção original na outra borda, o deslocamento de rolagem é levado em consideração ao dimensionar o elemento. Dessa forma, é possível usar todo o espaço visível (usando position-area
) para o elemento ancorado quando o documento é rolado em um determinado deslocamento de rolagem.
Para evitar o layout (redimensionar o elemento) sempre que o documento for rolado (o que é um comportamento indesejado e ruim para a performance), será usado um chamado "deslocamento de rolagem lembrado", em vez de sempre usar o deslocamento de rolagem atual. O deslocamento de rolagem lembrado é atualizado em um ponto de recalculo de âncora, que é:
- Quando o elemento posicionado é mostrado inicialmente.
- Quando uma opção de posição diferente (
position-try-fallbacks
) é escolhida.
Bug de rastreamento #373874012 | Entrada do ChromeStatus.com | Especificação
Função shape()
do CSS
A função shape()
permite formas responsivas de forma livre em clip-path
.
É possível definir uma série de verbos, aproximadamente equivalentes aos verbos em path()
, mas em que os verbos aceitam unidades responsivas (como %
ou vw
), bem como qualquer valor CSS, como propriedades personalizadas.
Rastreamento do bug #40829059 | Entrada do ChromeStatus.com | Especificação
Variáveis safe-area-max-inset-*
Esse recurso adiciona variáveis max-area-safe-inset-*
que não mudam e representam o máximo possível de área segura.
O caso de uso que isso resolve é evitar a necessidade de refazer o layout da página em casos em que o rodapé (por exemplo) pode simplesmente deslizar à medida que o valor de inserção da área segura aumenta, em vez de mudar de tamanho.
Rastreamento do bug #391621941 | Entrada do ChromeStatus.com | Especificação
Estilo de pseudoelementos aninhados
Permite estilizar pseudoelementos aninhados dentro de outros pseudoelementos. Até o momento, o suporte está definido para:
::before::marker
::after::marker
Com o suporte para ::column::scroll-marker
no futuro.
Rastreamento do bug #373478544 | Entrada do ChromeStatus.com | Especificação
Áudio e vídeo
Adicionar suporte para MediaStreamTrack à API Web Speech
Adicionamos suporte ao MediaStreamTrack à API Web Speech.
A API Web Speech é uma API padrão da Web que permite que os desenvolvedores incorporem o reconhecimento e a síntese de fala às páginas da Web. No momento, a API Web Speech usa o microfone padrão do usuário como entrada de áudio. O suporte à MediaStreamTrack permite que os sites usem a API Web Speech para legendar outras fontes de áudio, incluindo faixas de áudio remotas.
Entrada do ChromeStatus.com | Especificação
APIs Web
Criar um cliente de worker de serviço e herdar o controlador do worker de serviço para o iframe srcdoc
No momento, os documentos de contexto do Srcdoc não são clientes de service worker e não são cobertos pelo service worker da página mãe. Isso resulta em algumas discrepâncias. Por exemplo, o Resource Timing informa os URLs que esses documentos carregam, mas o worker de serviço não os intercepta. Essa mudança tem como objetivo corrigir as discrepâncias criando clientes de service worker para iframes de srcdoc e fazendo com que eles herdem o controlador de service worker da página mãe.
Rastreamento do bug #41411856 | Entrada do ChromeStatus.com | Especificação
Reflexão de elemento
Esse recurso permite que os atributos de relacionamento ARIA sejam refletidos no IDL como referências de elementos, em vez de DOMStrings.
Isso implementa os atributos IDL na interface ARIAMixin com um tipo de elemento ou FrozenArray<Element>
, com exceção de ariaOwnsElements
.
Rastreamento do bug #981423 | Entrada do ChromeStatus.com | Especificação
Frames cercados: suporte automático de dados de beacons entre origens
Se forem carregados por uma API como a Protected Audience ou o Shared Storage, os frames cercados ou os iframes de URN podem enviar beacons de relatórios automaticamente se algum evento ocorrer. Atualmente, apenas beacons de navegação de nível superior são aceitos. Esse recurso foi atualizado anteriormente para permitir que documentos entre origens diferentes carregados na árvore do frame enclausurado raiz enviassem beacons automáticos, se permitido, mas ainda mantinha a restrição de que apenas frames que são da mesma origem da origem carregada pela API podiam definir os dados que seriam enviados como parte do beacon. Esse recurso amplia essa funcionalidade para permitir que o documento entre origens defina os dados que serão usados no beacon automático.
Para permitir isso e preservar a privacidade, o documento raiz do frame protegido e o documento de subframe entre origens diferentes precisam ser ativados explicitamente. Essa é a mesma forma de ativação de outros recursos de FFAR entre origens. Especificamente, o frame raiz precisa ativar o cabeçalho Allow-Fenced-Frame-Automatic-Beacons
, e o frame filho de origem cruzada que define os dados precisa ativar o parâmetro crossOriginExposed
na chamada para setReportEvent()
.
Entrada do ChromeStatus.com | Especificação
Float16Array
Adiciona a matriz do tipo Float16Array
. Os valores numéricos são arredondados para IEEE fp16 ao gravar em instâncias Float16Array
.
Rastreamento do bug #42203953 | Entrada do ChromeStatus.com | Especificação
Prevenção de rastreamento do HSTS
Reduz o rastreamento de usuários por terceiros usando o cache HSTS.
Esse recurso só permite upgrades HSTS para navegações de nível superior e bloqueia upgrades HSTS para solicitações de subrecursos. Isso torna inviável o uso do cache HSTS por sites de terceiros para rastrear usuários na Web.
Rastreamento do bug 40725781 | Entrada do ChromeStatus.com
NavigateEvent sourceElement
Quando uma navegação é iniciada por um elemento (por exemplo, com um clique em um link ou um envio de formulário), a propriedade sourceElement
no NavigateEvent
será o elemento inicial.
Rastreamento do bug #40281924 | Entrada do ChromeStatus.com | Especificação
Mudança no nome do motivo da API NotRestoredReasons
A API NotRestoredReasons está mudando alguns textos de motivo para se alinhar aos nomes padronizados. Se você estiver monitorando esses motivos, poderá notar uma mudança nos textos.
Rastreamento do bug #331754704 | Entrada do ChromeStatus.com | Especificação
API observável
Os observáveis são um paradigma de programação reativa conhecido para processar um fluxo assíncrono de eventos baseados em push. Eles podem ser considerados como promessas, mas para vários eventos, e têm como objetivo fazer o que as promessas faziam para callbacks e aninhamento. Ou seja, eles permitem o processamento ergonômico de eventos fornecendo um objeto Observable que representa o fluxo assíncrono de eventos.
É possível se inscrever no objeto para receber eventos conforme eles chegam e chamar qualquer um dos operadores ou combinatores dele para descrever de forma declarativa o fluxo de transformações pelos quais os eventos passam. Isso contrasta com a versão imperativa, que geralmente exige uma aninhação complicada com elementos como addEventListener()
.
Rastreamento do bug #1485981 | Entrada do ChromeStatus.com | Especificação
Remoção da limitação de setInterval(...)
para >= 1 ms
Antes do Chrome 135, setInterval
com um valor menor que 1 era ajustado para 1. Essa restrição foi removida do Chrome 135.
- Antes:
setInterval(..., 0)
=1ms
delay. - Depois:
setInterval(..., 0)
=0ms
delay.
Rastreamento do bug #41380458 | Entrada do ChromeStatus.com
O URL do cliente do service worker ignora mudanças de history.pushState()
A propriedade Client.url
do worker do serviço foi modificada para ignorar mudanças no URL do documento com history.pushState()
e outras APIs de histórico semelhantes.
A propriedade Client.url
é destinada a ser o URL de criação do documento HTML, que ignora essas mudanças.
Rastreamento do bug #41337436 | Entrada do ChromeStatus.com | Especificação
Compatibilidade com os atributos rel
e relList
para SVGAElement
A interface SVGAElement no SVG 2.0 permite a manipulação de elementos <a>
semelhantes aos elementos de âncora HTML.
O suporte aos atributos rel
e relList
aumenta a segurança e a privacidade para os desenvolvedores.
Esse alinhamento com os elementos de âncora HTML garante a consistência e a facilidade de uso em todas as tecnologias da Web.
Rastreamento do bug #40589293 | Entrada do ChromeStatus.com | Especificação
Marcações de tempo para frames codificados em RTC
Esse recurso consiste em expor à Web alguns carimbos de data/hora presentes em frames codificados do WebRTC transmitidos usando RTCPeerConnection. Os carimbos de data/hora em questão são:
- Carimbo de data/hora da captura: o carimbo de data/hora em que um frame foi capturado originalmente.
- Carimbo de data/hora de recebimento: o carimbo de data/hora em que um frame foi recebido.
Rastreamento do bug #391114797 | Entrada do ChromeStatus.com | Especificação
Atualizar cabeçalhos, corpo e política de redirecionamento do referrer da solicitação HTTP no redirecionamento CORS
Remova os cabeçalhos e o corpo do corpo da solicitação HTTP no redirecionamento do CORS se o método tiver mudado e atualize a política de referenciador. Essas atualizações de solicitação estão alinhadas com a especificação de busca e correspondem ao comportamento implementado pelo Firefox e Safari para melhorar a compatibilidade.
Rastreamento do bug #40686262 | Entrada do ChromeStatus.com | Especificação
API fetchLater
fetchLater()
é uma API JavaScript para solicitar uma busca adiada. Quando chamada em um documento, uma solicitação adiada é colocada na fila do navegador no estado PENDING e é invocada pela primeira das seguintes condições:
- O documento é destruído.
- Após um período especificado pelo usuário. Por motivos de privacidade, todas as solicitações pendentes serão excluídas quando o documento entrar no bfcache, não importa quanto tempo resta.
- O navegador decide que é hora de enviar.
A API retorna um FetchLaterResult que contém um campo booleano "ativado" que pode ser atualizado para informar se a solicitação adiada foi enviada ou não. Se o envio for bem-sucedido, toda a resposta será ignorada pelo navegador, incluindo o corpo e os cabeçalhos. Nada precisa ser processado ou atualizado, porque a página pode ter sido excluída.
Do ponto de vista do usuário da API, o horário exato de envio é desconhecido.
Rastreamento do bug #1465781 | Entrada do ChromeStatus.com | Especificação
API highlightsFromPoint
A API highlightsFromPoint permite que os desenvolvedores interajam com destaques personalizados detectando quais destaques existem em um ponto específico de um documento. Essa interatividade é valiosa para recursos da Web complexos em que vários destaques podem se sobrepor ou existir no DOM sombra. Ao fornecer uma detecção precisa de destaques com base em pontos, a API permite que os desenvolvedores gerenciem interações dinâmicas com destaques personalizados de maneira mais eficaz, como responder a eventos de cliques ou passagem do cursor do usuário em regiões destacadas para acionar dicas de ferramentas, menus de contexto ou outros recursos interativos.
Rastreamento do bug #365046212 | Entrada do ChromeStatus.com | Especificação
Testes de origem
Credenciais de sessões vinculadas ao dispositivo
Uma maneira de os sites vincularem uma sessão com segurança a um único dispositivo.
Ele permite que os servidores tenham uma sessão vinculada com segurança a um dispositivo. O navegador vai renovar a sessão periodicamente, conforme solicitado pelo servidor, com prova de posse de uma chave privada.
Teste de origem | Entrada do ChromeStatus.com | Especificação
Invocadores de interesse
Esse recurso adiciona um atributo interesttarget
aos elementos <button>
e <a>
. O atributo interesttarget
adiciona comportamentos de "interesse" ao elemento. Assim, quando o usuário "demonstra interesse" no elemento, as ações são acionadas no elemento de destino. As ações podem incluir coisas como mostrar um pop-up. O agente do usuário vai detectar quando o usuário "mostrar interesse" no elemento, como ao passar o cursor sobre o elemento com um mouse, pressionar teclas de atalho especiais no teclado ou tocar e pressionar o elemento em telas sensíveis ao toque. Quando o interesse é mostrado ou perdido, um InterestEvent
é acionado no destino, que tem ações padrão no caso de pop-ups: mostrar e ocultar o pop-up.
Teste de origem | Rastreamento de bugs #326681249 | Entrada do ChromeStatus.com | Especificação
Integridade com base em assinaturas
Esse recurso oferece aos desenvolvedores da Web um mecanismo para verificar a procedência dos recursos de que dependem, criando uma base técnica de confiança nas dependências de um site. Resumindo: os servidores podem assinar respostas com um par de chaves Ed25519, e os desenvolvedores da Web podem exigir que o agente do usuário verifique a assinatura usando uma chave pública específica. Isso oferece uma adição útil às verificações baseadas em URL oferecidas pela Política de segurança de conteúdo, por um lado, e às verificações baseadas em conteúdo da Integridade de subrecurso, por outro.
Teste de origem | Rastreamento de bugs #375224898 | Entrada do ChromeStatus.com | Especificação
Regras de especulação: campo target_hint
Isso estende a sintaxe das regras de especulação para permitir que os desenvolvedores especifiquem o campo target_hint.
Esse campo fornece uma dica para indicar um destino navegável em que uma página pré-renderizada será ativada. Por exemplo, quando _blank é especificado como uma dica, uma página pré-renderizada pode ser ativada para uma abertura navegável por window.open(). O campo não tem efeito no pré-carregamento.
A especificação permite que esse campo aceite qualquer string válida como nome de segmentação navegável ou palavra-chave como valor, mas esse lançamento só aceita uma das strings "_self"
ou "_blank"
. Se a dica não for especificada, ela será tratada como se "_self"
fosse especificado.
Teste de origem | Bug de rastreamento #40234240 | Entrada do ChromeStatus.com | Especificação
Suspensões de uso e remoções
O método navigator.xr.supportsSession
foi removido
O método navigator.xr.supportsSession
foi substituído na especificação do WebXR pelo método navigator.xr.isSessionSupported
em setembro de 2019, após receber feedback sobre a forma da API da TAG. Desde então, ele foi marcado como descontinuado no Chromium, produzindo um aviso no console que redireciona os desenvolvedores para a API atualizada.
O uso da chamada é muito baixo, e todos os principais frameworks usados para criar conteúdo do WebXR foram atualizados para usar a chamada mais recente.
Entrada do ChromeStatus.com | Especificação
Remover o limite da WebGPU maxInterStageShaderComponents
O limite de maxInterStageShaderComponents
está sendo removido devido a uma combinação de fatores:
- Redundância com
maxInterStageShaderVariables
: esse limite já tem uma finalidade semelhante, controlando a quantidade de dados transmitidos entre os estágios do sombreador. - Discrepâncias menores: embora haja pequenas diferenças na forma como os dois limites são calculados, essas diferenças são pequenas e podem ser gerenciadas de forma eficaz dentro do limite de
maxInterStageShaderVariables
. - Simplificação: a remoção de
maxInterStageShaderComponents
simplifica a interface do sombreador e reduz a complexidade para os desenvolvedores. Em vez de gerenciar dois limites separados (que se aplicam simultaneamente, mas com diferenças sutis), eles podem se concentrar nomaxInterStageShaderVariables
mais abrangente e com nome mais adequado.
Rastreamento do bug #364338810 | Entrada do ChromeStatus.com | Especificação