Data de lançamento estável:14 de maio de 2024
Salvo indicação em contrário, as seguintes mudanças se aplicam ao Chrome 125 Stable lançamento do canal para Android, ChromeOS, Linux, macOS e Windows.
HTML e DOM
Serialização declarativa do shadow DOM
Um recurso que permite que os desenvolvedores serializem árvores do DOM contendo raízes paralelas, padronizados recentemente no padrão HTML.
Bug de rastreamento 41490936 | Entrada de ChromeStatus.com | Especificação
CSS
Posicionamento de âncora do CSS
O posicionamento de âncoras de CSS permite que os desenvolvedores vinculem um elemento posicionado de forma absoluta a um ou mais elementos da página (as âncoras), de forma declarativa, sem o uso de JavaScript. O posicionamento da âncora funciona com bom desempenho e âncoras são roláveis. Um caso de uso comum é posicionar um pop-over, como dica ao lado do elemento que o invocou ou um menu de seleção e seu pop-up lista de opções. Antes do recurso de posicionamento da âncora, esses casos de uso JavaScript para posicionar dinamicamente o pop-up e mantê-lo ancorado como elemento de invocação foi rolado, que é uma arma de desempenho e difícil de acertar. Com o posicionamento da âncora, esses casos de uso podem ser implementados de forma eficiente e declarativa.
O recurso de posicionamento de âncoras consiste em um grande número de propriedades CSS. Um algumas das principais propriedades são:
anchor-name
: configura um elemento como âncora de outros.position-anchor
: descreve o "padrão". que um elemento ancorado deve usar para o posicionamento da âncora.- Função
anchor()
: usada para se referir à posição da âncora. no posicionamento do elemento ancorado. inset-area
: uma abreviação de posicionamento, para posições relativas comuns.
Introdução à API de posicionamento de âncoras de CSS | Bug de rastreamento 40059176 | Entrada de ChromeStatus.com | Especificação
Funções de valor em degraus do CSS: round()
, mod()
e rem()
As funções de valor escalonado,
round()
,
mod()
e
rem()
, todas transformam um
de acordo com outro "valor de etapa".
A função CSS round()
retorna um número arredondado com base em um arredondamento selecionado
estratégia.
A função CSS mod()
retorna um módulo restante quando o primeiro parâmetro é
dividido pelo segundo parâmetro, semelhante ao operador JavaScript restante
(%). O módulo é o valor deixado quando um operando, o dividendo, é
dividido por um segundo operando, o divisor. Sempre leva o sinal do
divisor.
A função CSS rem()
retorna um restante que sobrou quando o primeiro parâmetro
é dividido pelo segundo parâmetro, semelhante ao operador JavaScript restante.
(%). O resto é o valor que sobra quando um operando, o dividendo, é
dividido por um segundo operando, o divisor. Sempre leva o sinal do
dividendos.
Bug de rastreamento 40253179 | Entrada de ChromeStatus.com | Especificação
Nova sintaxe para CSS personalizado :state()
O estado personalizado do CSS permite que os elementos personalizados exponham as próprias pseudoclasses. A
foi especificada no CSSWG, e o Chrome 125 agora oferece suporte à nova
sintaxe :state(foo)
. Essa mudança exibirá uma janela em que o Chrome
serão compatíveis com a sintaxe antiga (:--foo
) e a nova para que os sites
pode trocar para a nova opção.
Entrada ChromeStatus.com | Especificações
Remover descontinuidade das cores Oklab e Oklch com brilho de quase 100% ou 0
Antes dessa mudança, todas as cores Lab, LCH, Oklab e Oklch com um valor de claridade de 100% foram renderizados como brancos, independentemente dos outros dois parâmetros. Todos as cores nesses espaços com um valor de brilho 0 foram renderizadas como preto. Esses dois mapeamentos causaram descontinuidades em gradientes e foram inesperados para desenvolvedores de aplicativos.
Com essa reversão, essas cores não são mais mapeadas artificialmente, e a A cor resultante exibida será contínua com as cores próximas e dependerá o mapeamento de gama da tela.
Entrada 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 a janela de visualização.
barras de rolagem se o valor dos "esquemas de cores compatíveis com a página" é "normal" ou não
especificado, e o valor calculado do
color-scheme
do elemento raiz é normal
. As barras de rolagem da janela de visualização podem ser consideradas
fora do conteúdo da Web. Portanto, os user agents devem respeitar o nome
esquema de cores preferido ao renderizar barras de rolagem da janela de visualização se o desenvolvedor
suporte não especificado explicitamente para esquemas de cores.
Essa alteração não impede que os desenvolvedores controlem o esquema de cores para barras de rolagem. O novo comportamento faz com que o navegador use a configuração de preferência esquema de cores para renderizar barras de rolagem sem sobreposição da janela de visualização somente se o desenvolvedor não especificou o esquema de cores do elemento raiz.
título [title] | Bug de rastreamento 40259909 | Entrada de ChromeStatus.com | Especificação
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 o
Pseudoelementos ViewTransition
que usam essas classes, por exemplo
::view-transition-group(*.class)
.
Esta é uma extensão da API ViewTransition que simplifica o estilo de pseudoelementos de transição de visualização de maneira semelhante as classes CSS simplificam a estilização de elementos DOM normais.
Bug de rastreamento 41492972 | Entrada de ChromeStatus.com | Especificação
Carregando
Aceitar URLs HTTP e HTTPS ao criar WebSocket
Essa atualização ativa esquemas HTTP e HTTPS no construtor WebSocket,
permitindo que os desenvolvedores usem URLs relativos. Elas são normalizadas
os esquemas internos ws:
e wss:
.
Bug de rastreamento 325979102 | Entrada de ChromeStatus.com | Especificação
APIs Web
Adições à API Attribution Reporting
Recursos foram adicionados à API Attribution Reporting para criar mais de depuração de recursos por oferecer suporte à análise de relatórios de depuração de falhas, melhorar a API ergonomia ao incluir um campo para especificar a plataforma de registro preferencial e 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. Ela permite que implementação para usar as métricas de hardware subjacentes certas para garantir que os usuários possam aproveitar todo o poder de processamento disponível, desde que o em um sistema não está sob estresse impossível.
A Intel liderou o design e a implementação dessa API, permitindo que os apps de videoconferência equilibrem dinamicamente recursos e desempenho.
API Compute Pressure | Bug de rastreamento 40683064 | Entrada de ChromeStatus.com | Especificação
Ampliação da API Storage Access (SAA) para armazenamento sem cookies
Isso inicia a extensão proposta da API Storage Access (retroativa compatíveis e estão em teste de origem) para permitir o acesso a cookies e sem cookies em um contexto de terceiros. A API atual só fornece acesso a cookies, que têm casos de uso diferentes do armazenamento sem cookies.
Bug de rastreamento 40282415 | Entrada de ChromeStatus.com | Especificação
Requisito de CORS do FedCM no endpoint de declaração de ID
As buscas na API FedCM são difíceis de considerar por causa das propriedades exigidos deles. Há uma discussão contínua sobre as contas endpoint, há também um grande consenso de que o endpoint de declaração de ID deve e usar CORS. A atualização alinha as propriedades de segurança dessa busca de forma mais precisa outras buscas na plataforma da Web.
Atualizações do FedCM: teste de origem da API botão Mode, CORS e SameSite | Bug de rastreamento 40284123 | Entrada de ChromeStatus.com
A solicitação credenciada do FedCM não envia mais cookies SameSite=Strict
O FedCM agora envia solicitações de declaração de ID com o CORS. Com essa mudança, o Chrome
não vai mais enviar cookies SameSite=Strict
para o endpoint de declaração de ID, embora
As imagens estáticas do Chrome enviam SameSite=None
. Como não faz sentido enviar uma
conjunto diferente de cookies para o endpoint das contas e a declaração do ID
endpoint, esta alteração os torna consistentes.
Não enviar cookies SameSite=Strict
também é consistente com
Comportamento de requestStorageAccess
e entre sites em geral.
Bug de rastreamento no 329145816 | Entrada de ChromeStatus.com | Especificação
Ação padrão interoperável para mover o mouse
O Chrome permitiu o cancelamento de eventos de movimento do mouse para impedir outras APIs, como texto
(e até mesmo arrastar e soltar antes). Este campo não corresponde a outros cursos
navegadores nem está em conformidade
com as especificações do evento da interface. Agora, a seleção de texto não
mais ser a ação padrão de mousemove. A seleção de texto e o recurso de arrastar e soltar podem
ainda não conseguiram cancelar os eventos selectstart
e dragstart
respectivamente.
Esse recurso será lançado aos poucos a partir do Chrome 125, e esperamos para todos os usuários até o Chrome 126.
Demonstração | Como rastrear o bug 40078978 | Entrada de ChromeStatus.com | Especificação
Modificadores de expressão regular
Modificadores de expressão regular adicionam a capacidade de modificar localmente i
, m
,
e s
min dentro de um padrão.
Para ativar uma flag para uma subexpressão, use (?X:subexpr)
, em que X
é um dos
i
, m
ou s
. Para desativar uma flag para 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 ChromeStatus.com | Especificações
A expressão regular duplica grupos de captura nomeados
Grupos de captura nomeados duplicados permitem usar o mesmo nome de grupo de captura entre 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 a segunda alternativa ([0-9]{2}-(?<year>[0-9]{4})
).
Entrada 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 Isolamento de apps da Web ao ativar a API Direct Sockets nos apps do Chrome, permitindo que apps da Web estabelecer o protocolo de controle de transmissão direta (TCP) e o protocolo de datagramas do usuário (UDP) com dispositivos e sistemas de rede.
Entrada ChromeStatus.com | Especificações
Novos testes de origem
API FedCMButton Mode e API Use Other Account
Este teste de origem inclui as duas APIs FedCM a seguir.
A API de modo de botão permite que os sites chamem o FedCM com o clique de um botão, como Clique no botão Fazer login no IdP. Isso exige que o FedCM garanta a sempre responde com uma interface do usuário visível, em vez do modo de widget, que não mostra a IU quando os usuários saem. Chamar a API FedCM no button mode: leva os usuários ao login no IdP (em uma janela de diálogo) quando eles não tiverem feito login.
Além disso, como o modo do botão é chamado dentro de uma solicitação de a interface pode ficar mais proeminente (por exemplo, centralizada e modal) em comparação com a interface do modo de widget (que não tem uma interface intenção). Saiba mais sobre como a API de modo de botão funciona em Atualizações do FedCM: teste de origem da API botão Mode, CORS e SameSite
A API "Use Other Account" permite que um provedor de identidade permita que os usuários façam login no entre outras contas.
Teste de origem | Demonstração | Bug 40284792 de rastreamento | Entrada ChromeStatus.com | Especificação
APIs dobráveis
Este teste de origem inclui a API Device Posture e os segmentos da janela de visualização API Enumeration. Essas APIs são projetadas para ajudar os desenvolvedores a criar aplicativos para dispositivos dobráveis dispositivos.
Teste de origem | Teste de origem para APIs dobráveis | Entrada de ChromeStatus.com | Especificação
Teste de descontinuação de métodos e propriedades prefixados de tela cheia HTMLVideoElement
Este teste de descontinuação permite reativar o suporte para o propriedades e métodos HTMLVideoElement se você precisar de mais tempo para ajustar sua o código-fonte.
Teste de origem | Entrada de ChromeStatus.com
Pular a 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 da verificação de pré-carregamento melhora o desempenho das páginas com sub-recursos buscas por meio da implementação da pré-busca especulativa. No entanto, para páginas que não se beneficiam desta etapa, ou seja, para páginas sem sub-recursos, isso é um overhead de processamento adicional com poucos benefícios.
Para usuários avançados da Web que gostariam de se beneficiar com a redução dessa sobrecarga, este o experimento fornece um controle no nível da página para desativar a verificação de pré-carregamento. Dados coletados dessa experiência podem avaliar se uma API modificada ou uma implementação do scanner de pré-carregamento HTML seria útil.
Teste de origem | Bug de rastreamento no 330802493 | Entrada de ChromeStatus.com | Especificação
Descontinuações e remoções
Remova "window-placement" alias da permissão e da política de permissões "window-management"
Remove o "window-placement" (posição de janela). alias da política de permissões e permissões "window-management". Isso faz parte de um esforço maior para renomear as strings eventualmente descontinuação e remoção de "window-placement". A mudança de terminologia melhora a longevidade do descritor, já que a Janela A API de gerenciamento evolui ao longo do tempo.
título [title] | Bug de rastreamento 40842072 | Entrada de ChromeStatus.com | Especificação
Remoção da política corporativa: NewBaseUrlInheritanceBehaviorAllowed
A alteração do código subjacente (ativar novo comportamento de herança do URL de base) que este As substituições de políticas corporativas estão ativadas em versões estáveis desde agosto 2023 (Chrome 118). Como problemas conhecidos já foram resolvidos, esta empresa foi removida no Chrome 125.
Remoção de propriedades e métodos prefixados HTMLVideoElement Fullscreen
As APIs prefixadas de tela cheia HTMLVideoElement
foram descontinuadas desde
Chrome 38. Elas foram substituídas por Element.requestFullscreen()
, que primeiro
enviado sem prefixo em 2018 no Chrome 71.
As propriedades e os métodos a seguir serão removidos de HTMLVideoElement:
webkitSupportsFullscreen
webkitDisplayingFullscreen
webkitEnterFullscreen()
webkitExitFullscreen()
webkitEnterFullScreen()
(observe a diferença entre maiúsculas e minúsculas do "S" na FullScreen)webkitExitFullScreen()
Inscreva-se no teste de descontinuação listado nesta postagem se seu site ainda depende delas e você precisa de mais tempo para atualizar o código.
Leitura adicional
Quer saber mais? Confira estes outros recursos.
- 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
Baixe o Google Chrome para Android, Computador ou No iOS.