Chrome 125 Beta

Salvo indicação em contrário, as mudanças a seguir se aplicam à versão mais recente do canal Beta do Chrome para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 125 está na versão Beta desde 17 de abril de 2024. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android. Depois de lançado para estável, todos os recursos incluídos podem ser encontrados nas notas da versão.

CSS

Nesta versão, adicionamos dois novos recursos de CSS e faz duas mudanças relacionadas a ele.

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.

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.

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.

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 sem sobreposição da janela de visualização somente se o desenvolvedor não tiver especificado o esquema de cores do elemento raiz.

HTML

Contêineres de rolagem com foco no teclado

Melhora a acessibilidade, tornando os contêineres de rolagem focalizáveis usando a navegação de foco sequencial. Antes dessa mudança, a tecla Tab não foca os controles de rolagem, a menos que tabIndex seja explicitamente definido como 0 ou mais.

Ao tornar os controles de rolagem focalizáveis por padrão, os usuários que não podem (ou não querem) usar um mouse vão poder focar o conteúdo recortado usando as teclas Tab e de seta do teclado. Esse comportamento será ativado somente se o botão de rolagem não tiver filhos focalizáveis do teclado.

Esse é um lançamento contínuo que começou no Chrome 124 e está disponível para todos os usuários a partir do Chrome 125. Saiba mais sobre roladores focalizáveis de teclado.

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.

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 de forma dinâmica.

Aceitar URLs HTTP(S) ao criar WebSocket

Essa atualização ativa esquemas HTTP(S) 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:.

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.

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. Saiba mais sobre como os requisitos do CORS funcionam em Atualizações do FedCM: teste de origem da API Button Mode, CORS e SameSite.

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.

Atualizações na API Shared Storage

Esta atualização adiciona suporte à execução de worklets de origem cruzada sem precisar criar um iframe.

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.

Novos testes de origem

No Chrome 125, você pode ativar os novos testes de origem a seguir.

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 da 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.

Inscreva-se no teste de origem do FedCM.

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. Saiba mais em Teste de origem para APIs dobráveis.

Inscreva-se no teste de origem das APIs dobráveis.

Desativação das visualizações de mídia

Esse teste de origem reversa excluirá sites do lançamento das prévias de mídia.

O Chrome pretende oferecer visualizações em tempo real da entrada de câmera e microfone no momento em que as permissões forem solicitadas pelos sites. Eles também estarão disponíveis no pageinfo do site.

Além disso, usuários com vários dispositivos poderão selecionar uma câmera e um microfone no momento em que as permissões forem solicitadas, a menos que o site tenha solicitado um dispositivo específico pelo getUserMedia().

Esse recurso está em desenvolvimento simultâneo com outro projeto relacionado a permissões, o Page-Embedded Permissions Controls (PEPC). Os usuários serão expostos à PEPC em um processo de lançamento independente envolvendo um teste de origem separado ou experimentos específicos do local.

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. Confira todos os detalhes das propriedades e dos métodos removidos em Descontinuações e remoções.

Inscreva-se para o teste de descontinuação da API Prefixed Video em tela cheia.

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.

Inscreva-se para o teste de origem da verificação de pré-carregamento pular.

Descontinuações e remoções

Acesse ChromeStatus.com para consultar listas de descontinuações planejadas, descontinuações atuais e remoções anteriores.

Esta versão do Chrome remove os três recursos a seguir.

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 e remoção do "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.

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 (118.0.5966.0). Como problemas conhecidos foram resolvidos, essa política empresarial será 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()

Inscreva-se para o teste de descontinuação listado nesta postagem, caso seu site ainda dependa deles e você precise de mais tempo para atualizar o código.