Chrome 129 Beta

A menos que indicado de outra forma, 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 aqui nos links fornecidos ou na lista do ChromeStatus.com. O Chrome 129 está na versão Beta desde 21 de agosto de 2024. Faça o download da versão mais recente em Google.com para computadores ou na Google Play Store no Android.

CSS

Esta versão adiciona dois novos recursos CSS e atualiza três.

Função interpolate-size property e calc-size() do CSS

A propriedade CSS interpolate-size permite que uma página ative animações e transições de palavras-chave de dimensionamento intrínseco do CSS, como auto, min-content e fit-content, nos casos em que essas palavras-chave podem ser animadas.

A função CSS calc-size() é semelhante a calc(), mas também aceita operações em exatamente uma palavra-chave de dimensionamento compatível. Atualmente, as palavras-chave de dimensionamento compatíveis são auto, min-content, max-content e fit-content. Outras palavras-chave de dimensionamento que podem ser aceitas no futuro incluem stretch (atualmente aceita como prefixo -webkit-fill-available) e contain. Essa função é usada para representar os valores no meio das animações permitidas pela propriedade interpolate-size.

Renomear o posicionamento de âncora CSS inset-area para position-area

O CSSWG resolveu renomear essa propriedade de inset-area para position-area. O Chrome 129 inclui position-area. O nome inset-area será removido em uma versão futura.

Posicionamento de âncora do CSS: inset-area() desembrulhado

Substitui a função inset-area() por valores de área de inserção diretamente em position-try-fallbacks. Por exemplo, em vez de position-try-fallbacks:inset-area(top), use position-try-fallbacks:top.

Atualizar o backdrop-filter do CSS para usar o modo de borda espelhada

A propriedade CSS backdrop-filter aplica um ou mais filtros ao pano de fundo de um elemento. O pano de fundo é o conteúdo pintado que fica atrás do elemento. Um filtro comum é um desfoque que permite que os designers construam caixas de diálogo "vidro fosco", sobreposições de vídeo, cabeçalhos de navegação translúcidos e muito mais.

Isso foi implementado inicialmente da mesma forma que um desfoque normal, mas a amostragem além das bordas do elemento permitiu que as cores das bordas se misturassem. A especificação foi alterada para amostrar pixels fora das bordas do plano de fundo duplicando os pixels na borda. No entanto, isso resulta em uma oscilação extrema do conteúdo à medida que ele entra na borda do plano de fundo. A mudança mais recente na especificação reflete o plano de fundo ao fazer a amostragem além da borda, o que permite a introdução gradual de novas cores nas bordas sem sobrecarregar linhas de cor individuais.

APIs Web

Suporte a blobs em canais de dados do WebRTC

Implementa RTCDataChannel.send(Blob), e o evento onMessage agora pode receber dados do tipo Blob usando o atributo binaryType.

Além de oferecer suporte ao envio de strings e ArrayBuffers, agora você pode escolher enviar um Blob, desde que o tamanho esteja abaixo do maxMessageSize de transporte SCTP, conforme indicado na especificação do WebRTC (link em inglês).

Com o atributo binaryType definido como "blob", o atributo de dados do evento onMessage será do tipo Blob em vez do ArrayBuffer compatível no momento.

Comandos da extensão do WebDriver para a Compute Pressure

Expõe comandos do WebDriver para criar, remover e atualizar amostras de fontes de pressão para fontes de pressão virtuais. Essas fontes de pressão não dependem do suporte de hardware ou sistema operacional subjacente e podem ser usadas para testes.

Intl.DurationFormat

Fornece um método de formatação de durações, por exemplo, "1 hr 40 min 30 sec", que oferece suporte a várias localidades.

API Private Aggregation: mesclagem de contribuições do lado do cliente

Modifica a API Private Aggregation para mesclar as contribuições de histograma com o mesmo bucket e ID de filtragem antes de incorporar no payload criptografado do relatório agregável.

A agregação particular impõe um limite ao número de contribuições que podem ser incorporadas a um único relatório agregável, e as contribuições adicionais são descartadas. Ao mesclar as contribuições sempre que possível, podemos usar mais recursos fora do limite. Ignorando a exclusão de contribuições em excesso, a mesclagem desse tipo de contribuição não tem impacto nas saídas finais, por exemplo, nos relatórios de resumo.

scheduler.yield()

Fornece um método para ceder o controle ao navegador, que pode ser usado para dividir tarefas longas. A espera pela promessa retornada por scheduler.yield() faz com que a tarefa atual seja gerada, continuando em uma nova tarefa do navegador. Isso pode ser usado para melhorar os problemas de resposta causados por tarefas longas. As continuações são priorizadas para mitigar problemas de desempenho de alternativas existentes.

API Web Authentication: métodos de serialização JSON

Os métodos PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() e parseRequestOptionsFromJSON() da WebAuthn permitem que os desenvolvedores serializem uma resposta da WebAuthn em um objeto JSON ou desserializem um objeto de solicitação da WebAuthn da representação JSON.

Suporte para o intervalo estendido (HDR) da WebGPU

Adiciona parâmetros de mapeamento de tons à configuração da tela do WebGPU e adiciona opções de standard (o comportamento atual de restringir o conteúdo ao intervalo SDR da tela) como padrão e extended (não impondo essa restrição) como um novo comportamento. Isso permite que o conteúdo da WebGPU use toda a faixa de uma tela.

Testes de origem em andamento

No Chrome 129, você pode ativar os seguintes testes de origem.

Interface FileSystemObserver

A interface FileSystemObserver notifica os sites sobre mudanças no sistema de arquivos. Os sites observam mudanças em arquivos e diretórios no dispositivo local do usuário (conforme especificado em WICG/file-system-access) ou no sistema de arquivos do bucket (conforme especificado em fs.spec.whatwg.org) e são notificados sobre informações básicas de mudança, como o tipo de mudança.

Registre-se para o teste de origem da FileSystemObserver.

Suspensões de uso e remoções

Esta versão do Chrome apresenta as descontinuações e remoções listadas abaixo. Acesse ChromeStatus.com para conferir listas de descontinuações planejadas, atuais e remoções anteriores.

Esta versão do Chrome descontinua um recurso.

Descontinuação do uso de 0.0.0.0 para acesso à rede privada

O Chrome vai bloquear o acesso ao endereço IP 0.0.0.0 antes do lançamento completo do acesso à rede privada (PNA, na sigla em inglês).

O Chrome está descontinuando o acesso direto a endpoints de rede particular de sites públicos como parte da especificação PNA. Os serviços que escutam no localhost (127.0.0.0/8) são considerados privados de acordo com a especificação. A proteção de PNA do Chrome pode ser contornada usando o endereço IP 0.0.0.0 para acessar serviços que estão aguardando no localhost no macOS e no Linux.

Isso também pode ser usado indevidamente em ataques de revinculação do DNS que visam um aplicativo da Web que está em escuta no localhost.

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

O argumento includeShadowRoots foi removido do DOMParser.

O argumento includeShadowRoots era um argumento nunca padronizado para a função DOMParser.parseFromString(), que existia para permitir a análise imperativa de conteúdo HTML que contém o DOM paralelo declarativo. Ele foi enviado no Chrome 90 como parte do envio inicial do DOM paralelo declarativo.

Agora que uma versão padronizada desse recurso está disponível com os métodos setHTMLUnsafe() e parseHTMLUnsafe(), o argumento não padrão includeShadowRoots será removido. O código precisa ser atualizado da seguinte maneira:

Em vez de:

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

Usar:

Document.parseHTMLUnsafe(html);

Remover a serialização de DOM paralelo declarativo não padrão

A implementação do protótipo do DOM paralelo declarativo continha um método chamado getInnerHTML(), usado para serializar árvores do DOM que contêm raízes shadow. Essa parte do protótipo não foi padronizada com o restante do shadow DOM declarativo, e, em vez disso, uma substituição foi projetada: getHTML().

Portanto, o método getInnerHTML() antigo está sendo removido do Chrome. Use getHTML() como substituto, que em breve será compatível com todos os navegadores.

Remover PointerEvent.getCoalescedEvents() de contextos não seguros

O grupo de trabalho de eventos de ponteiro restringiu PointerEvent.getCoalescedEvents() a contextos seguros há mais de quatro anos, o que removeu a API de contextos não seguros. O Chrome enviou o comportamento antigo e não seguiu a mudança de especificação imediatamente devido a problemas de compatibilidade.

Agora estamos removendo esse recurso de contextos não seguros porque o uso do Chrome em contextos não seguros ficou muito baixo.