Data de lançamento estável:14 de maio de 2024
Salvo indicação em contrário, as mudanças a seguir se aplicam à versão do Canal Stable do Chrome 125 para Android, ChromeOS, Linux, macOS e Windows.
HTML e DOM
Serialização declarativa do shadow DOM
Um recurso para permitir que os desenvolvedores serializem árvores do DOM contendo raízes paralelas, padronizadas recentemente no padrão HTML.
Bug de rastreamento 41490936 | Entrada em ChromeStatus.com | Especificações
CSS
Posicionamento de âncoras de CSS
Com o posicionamento de âncoras CSS, os desenvolvedores podem vincular um elemento posicionado absolutamente a um ou mais elementos na página (as âncoras), de maneira declarativa, sem usar JavaScript. O posicionamento de âncora funciona de maneira eficiente quando as âncoras são roláveis. Um caso de uso comum é posicionar um pop-up, como uma dica ao lado do elemento que o invocou ou um menu de seleção e a lista de opções dele. Antes do recurso de posicionamento de âncoras, esses casos de uso exigiam JavaScript para posicionar dinamicamente o pop-up e o manter fixado à medida que o elemento de invocação era rolado, o que é um recurso de performance difícil de acertar. Com o posicionamento de âncora, esses casos de uso podem ser implementados de maneira eficiente e declarativa.
O recurso de posicionamento de âncoras consiste em várias propriedades CSS. Estas são algumas das principais propriedades:
anchor-name
: configura um elemento para ser uma âncora para outros elementos.position-anchor
: descreve a âncora "padrão" que um elemento ancorado precisa usar para o posicionamento dela.- A função
anchor()
: usada para se referir à posição do elemento de âncora ao posicionar esse elemento. inset-area
: uma abreviação de posicionamento, para posições relativas comuns.
Apresentação da API CSS anchor posicionamento | Bug de rastreamento no 40059176 | Entrada em ChromeStatus.com | Especificações
Funções de valor em etapas do CSS: round()
, mod()
e rem()
As funções com valor em degraus,
round()
,
mod()
e
rem()
, transformam um determinado
valor de acordo com outro "valor de etapa".
A função CSS round()
retorna um número arredondado com base em uma estratégia de arredondamento
selecionada.
A função CSS mod()
retorna um módulo à esquerda quando o primeiro parâmetro é
dividido pelo segundo, semelhante ao operador JavaScript de resto
(%). O módulo é o valor restante quando um operando, o dividendo, é
dividido por um segundo operando, o divisor. Ela sempre usa o sinal do divisor.
A função CSS rem()
retorna um restante restante quando o primeiro parâmetro
é dividido pelo segundo, semelhante ao operador JavaScript de resto
(%). O restante é o valor restante quando um operando, o dividendo, é
dividido por um segundo operando, o divisor. Ele sempre pega o sinal do
dividendo.
Bug de rastreamento 40253179 | Entrada em ChromeStatus.com | Especificações
Nova sintaxe para o CSS personalizado :state()
O estado personalizado do CSS permite que elementos personalizados exponham as próprias pseudoclasses. A
sintaxe agora foi especificada no CSSWG, e o Chrome 125 agora é compatível com a nova
sintaxe :state(foo)
. Essa mudança terá uma janela em que o Chrome
vai oferecer suporte à sintaxe antiga (:--foo
) e à nova sintaxe, para que os sites
possam mudar para a nova.
Entrada em ChromeStatus.com | Especificações
Remoção de descontinuidade para cores do Oklab e Oklch com brilho de quase 100% ou 0
Antes dessa mudança, todas as cores de Lab, LCH, Oklab e Oklch com um valor de brilho de 100% eram renderizadas como brancas, independentemente dos outros dois parâmetros. Todas as cores nesses espaços com um valor de luminosidade 0 foram renderizadas como pretas. Esses dois mapeamentos causaram descontinuidades nos gradientes e eram inesperados para os desenvolvedores da Web.
Com essa reversão, essas cores não são mais mapeadas artificialmente, e a cor resultante é contínua em relação às cores próximas e depende do mapeamento de gama da tela.
Entrada em ChromeStatus.com | Especificações
Foram usadas barras de rolagem raiz do esquema de cores
Faz com que o navegador use o esquema de cores preferido do usuário para renderizar as barras de rolagem
da janela de visualização se o valor dos "esquemas de cores compatíveis da página" for "normal" ou não
especificado e o valor calculado de
color-scheme
para o elemento raiz for normal
. As barras de rolagem da janela de visualização podem ser consideradas
fora do conteúdo da Web. Portanto, os user agents precisam respeitar o
esquema de cores preferencial do usuário ao renderizar as barras de rolagem da janela de visualização caso o desenvolvedor não
tenha especificado explicitamente o suporte a esquemas de cores.
Essa mudança não impede que os desenvolvedores controlem o esquema de cores para barras de rolagem. O novo comportamento faz com que o navegador use o esquema de cores preferido do usuário para renderizar barras de rolagem que não são de sobreposição da janela de visualização somente se o desenvolvedor não tiver especificado o esquema de cores do elemento raiz.
title | Bug de rastreamento 40259909 | Entrada em ChromeStatus.com | Especificações
Classe view-transitions
Há uma nova propriedade CSS view-transition-class
que permite
especificar uma ou mais classes de transição de visualização. Em seguida, selecione os pseudoelementos
ViewTransition
usando essas classes, por exemplo,
::view-transition-group(*.class)
.
Essa é uma extensão da API ViewTransition que simplifica a estilização dos pseudoelementos de transição de visualização da mesma forma que as classes CSS simplificam a estilização de elementos DOM regulares.
Bug 41492972 de rastreamento | Entrada em ChromeStatus.com | Especificações
Carregando
Aceitar URLs HTTP e HTTPS ao criar WebSocket
Essa atualização ativa esquemas HTTP e HTTPS no construtor WebSocket e, portanto, também permite que os desenvolvedores usem URLs relativos. Eles são normalizados para os esquemas internos ws:
e wss:
.
Bug de rastreamento 325979102 | Entrada em ChromeStatus.com | Especificações
APIs Web
Adições à API Attribution Reporting
Os recursos foram adicionados à API Attribution Reporting para criar outras funções de depuração com suporte à análise de relatórios de depuração de falhas, melhorar a ergonomia da API oferecendo suporte a um campo para especificar a plataforma de registro preferida e melhorar a privacidade.
API Compute Pressure
A API Compute Pressure oferece estados de alto nível que representam a carga da CPU no sistema. Ele permite que a implementação use as métricas de hardware subjacentes corretas para garantir que os usuários possam aproveitar toda a capacidade de processamento disponível, desde que o sistema não esteja sob estresse impossível de gerenciar.
A Intel liderou o trabalho de design e implementação dessa API, que vai permitir que apps de videoconferência equilibrem recursos e desempenho dinamicamente.
API Compute Pressure | Bug de rastreamento 40683064 | Entrada em ChromeStatus.com | Especificações
Extensão da API Storage Access (SAA) para armazenamento sem cookies
Isso inicia a extensão proposta da API Storage Access (compatível com versões anteriores e está em teste de origem) para permitir o acesso a cookies não particionados e ao armazenamento sem cookies em um contexto de terceiros. A API atual fornece acesso apenas a cookies, que têm casos de uso diferentes do armazenamento sem cookies.
Bug de rastreamento 40282415 | Entrada em ChromeStatus.com | Especificações
Requisito de CORS da FedCM no endpoint de declaração de ID
As buscas na API FedCM são difíceis de entender devido às propriedades exigidas. Embora haja uma discussão em andamento sobre o endpoint das contas, também há um grande consenso de que o endpoint de declaração de ID precisa usar o CORS. Essa atualização alinha as propriedades de segurança dessa busca mais às outras buscas na plataforma da Web.
Atualizações do FedCM: teste de origem da API Button Mode, CORS e SameSite | Acompanhamento do bug no 40284123 | Entrada do ChromeStatus.com
A solicitação credenciada da FedCM não envia mais o cookie SameSite=Strict
A FedCM agora envia solicitações de declaração de ID com CORS. Com essa mudança, o Chrome
não envia mais cookies SameSite=Strict
para o endpoint de declaração de ID, mas
ainda assim envia SameSite=None
. Como não faz sentido enviar um conjunto diferente de cookies ao endpoint das contas e da declaração de ID, essa mudança os torna consistentes.
Não enviar cookies SameSite=Strict
também é consistente com o
comportamento requestStorageAccess
e solicitações entre sites em geral.
Bug de rastreamento 329145816 | Entrada em ChromeStatus.com | Especificações
Ação padrão de movimentação do mouse interoperabilidade
O Chrome permitiu o cancelamento de eventos de mousemove para impedir outras APIs, como seleção
de texto (e até mesmo arrastar e soltar antes). Isso não corresponde a outros navegadores principais nem está em conformidade com as especificações de evento de interface. Agora, a seleção de texto não será mais a ação padrão de mover o mouse. A seleção de texto e o recurso de arrastar e soltar
ainda podem ser impedidos com o cancelamento dos eventos selectstart
e dragstart
,
respectivamente.
Esse recurso será lançado lentamente a partir do Chrome 125 e deve estar disponível para todos os usuários até o Chrome 126.
Demonstração | Bug 40078978 de rastreamento | Entrada no ChromeStatus.com | Especificações
Modificadores de expressão regular
Os modificadores de expressão regular adicionam a capacidade de modificar localmente as flags i
, m
e s
dentro de um padrão.
Para ativar uma sinalização para uma subexpressão, use (?X:subexpr)
, em que X
é i
, m
ou s
. Para desativar a flag de uma subexpressão, use (-X:subexpr)
.
Por exemplo, para a flag i
, que não diferencia maiúsculas de minúsculas:
const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false
const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false
Entrada em ChromeStatus.com | Especificações
Expressão regular de grupos de captura nomeados duplicados
Grupos de captura nomeados duplicados permitem usar o mesmo nome de grupo de captura nas alternativas. Por exemplo:
const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;
Nesse caso, year
é válido para a primeira alternativa ((?<year>[0-9]{4})-[0-9]{2}
)
ou para a segunda alternativa ([0-9]{2}-(?<year>[0-9]{4})
).
Entrada em ChromeStatus.com | Especificações
Apps do Chrome
API Direct Sockets em apps do Chrome
Essa atualização facilita a transição de apps especializados de apps do Chrome para apps da Web isolados, ativando os soquetes diretos em apps do Chrome, permitindo que os apps da Web estabeleçam comunicações do protocolo de controle de transmissão (TCP, na sigla em inglês) e do protocolo de datagramas do usuário (UDP) com dispositivos e sistemas de rede.
Entrada em ChromeStatus.com | Especificações
Novos testes de origem
API FedCM Button Mode e Use Other Account API
Esse teste de origem inclui as duas APIs do FedCM a seguir.
A API Button Mode permite que os sites chamem o FedCM dentro de um clique de botão, como clicar em um botão Fazer login no IdP. Isso exige que a FedCM garanta que sempre responda com uma interface do usuário visível, ao contrário do modo de widget, que não mostra uma interface quando os usuários saem. Chamar a API FedCM no modo de botão leva os usuários a fazer login no IdP (em uma janela de caixa de diálogo) quando os usuários estiverem desconectados.
Além disso, como o modo de botão é chamado em um gesto explícito do usuário, a interface também pode ser mais proeminente (por exemplo, centralizada e modal) em comparação à interface do modo de widget (que não tem essa intenção explícita). Saiba mais sobre como a API Button Mode funciona em Atualizações do FedCM: teste de origem da API Button Mode, CORS e SameSite.
A API Use Other Account permite que um provedor de identidade permita que os usuários façam login em outras contas.
Teste de origem | Demonstração | Bug 40284792 de rastreamento | Entrada no ChromeStatus.com | Especificações
APIs dobráveis
Esse teste de origem inclui a API Device posture e a API Viewport Enumeration. Essas APIs foram projetadas para ajudar os desenvolvedores a segmentar dispositivos dobráveis.
Teste de origem | Teste de origem para APIs dobráveis | Entrada em ChromeStatus.com | Especificação
Suspensão de teste para propriedades e métodos com prefixo HTMLVideoElement Fullscreen
Com esse teste de descontinuação, é possível reativar o suporte para as propriedades e os métodos HTMLVideoElement prefixados se precisar de mais tempo para ajustar seu código.
Teste de origem | Entrada em ChromeStatus.com
Ignorar verificação de pré-carregamento
Ignora o verificador de pré-carregamento para explorar compensações de desempenho para páginas sem buscas de sub-recursos.
A etapa do verificador de pré-carregamento beneficia o desempenho das páginas com buscas de sub-recursos por meio da implementação da pré-busca especulativa. No entanto, para as páginas que não se beneficiam dessa etapa, ou seja, para páginas sem sub-recursos, isso é uma sobrecarga adicional de processamento com poucos benefícios.
Para usuários avançados da Web que querem se beneficiar da redução dessa sobrecarga, esse experimento oferece um controle no nível da página para desativar o verificador de pré-carregamento. Os dados coletados desse experimento podem avaliar se uma API modificada ou uma implementação diferente do verificador de pré-carregamento de HTML são úteis.
Teste de origem | Bug 330802493 de rastreamento | Entrada em ChromeStatus.com | Especificações
Descontinuações e remoções
Remoção do alias "window-placement" da permissão e política de permissões "window-management"
Remove o alias "window-placement" da política de permissões "window-management". Isso faz parte de um esforço maior para renomear as strings com a desativação do uso e remoção da "window-placement" em algum momento. A mudança de terminologia melhora a longevidade do descritor à medida que a API Window Management evolui com o tempo.
title | Bug de rastreamento 40842072 | Entrada no ChromeStatus.com | Especificações
Remoção da política corporativa: NewBaseUrlInheritanceBehaviorAllowed
A mudança de código subjacente (ativar novo comportamento de herança de URL de base) que essa política corporativa substitui foi ativada em versões estáveis desde agosto de 2023 (Chrome 118). Como problemas conhecidos foram resolvidos, essa política empresarial foi removida no Chrome 125.
Remoção de propriedades e métodos HTMLVideoElement prefixados Fullscreen
As APIs de tela cheia HTMLVideoElement
prefixadas foram descontinuadas desde
o Chrome 38. Elas foram substituídas por Element.requestFullscreen()
, que pela primeira vez
foi enviado sem prefixo em 2018, no Chrome 71.
As propriedades e os métodos a seguir serão removidos do HTMLVideoElement:
webkitSupportsFullscreen
webkitDisplayingFullscreen
webkitEnterFullscreen()
webkitExitFullscreen()
webkitEnterFullScreen()
(observe as diferentes letras maiúsculas do "S" em FullScreen)webkitExitFullScreen()
Caso seu site ainda dependa deles e você precise de mais tempo para atualizar o código, inscreva-se para o teste de descontinuação listado nesta postagem.
Leia mais
Quer saber mais? Confira estes recursos adicionais.
- Novidades do Chrome 125
- Novidades no Chrome DevTools 125
- Atualizações do ChromeStatus.com para o Chrome 125
- Agenda de lançamentos do Chrome
- Próximas descontinuações
- Próximas remoções
Fazer o download do Google Chrome
Faça o download do Chrome para Android, computador ou iOS.