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.