Chrome 125

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.

Entrada ChromeStatus.com

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

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

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.

Entrada ChromeStatus.com

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.

Entrada ChromeStatus.com

Leitura adicional

Quer saber mais? Confira estes outros recursos.

Fazer o download do Google Chrome

Baixe o Google Chrome para Android, Computador ou No iOS.