Chrome 122 Beta

Salvo indicação em contrário, as seguintes mudanças são válidas para a versão Beta mais recente do Chrome lançamento do canal para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 122 está na versão Beta desde 24 de janeiro de 2024. Você pode fazer o download a versão mais recente no Google.com para computador ou na Google Play Store no Android.

CSS

Nesta versão, adicionamos três novos recursos CSS.

As consultas CSS @container com recursos não compatíveis nunca correspondem

Seletores @container contendo consultas não suportadas nunca selecionarão nenhuma contêineres, o que significa que eles nunca serão correspondentes.

Isso significa que essa consulta nunca corresponderá a nenhum contêiner, mesmo que também haja uma contêiner de tamanho que corresponda à largura da consulta. Por exemplo, a consulta a seguir nunca corresponderão devido ao recurso desconhecido:

@container (width > 0px) or (unknown) {}

Esta é uma mudança recente na especificação para evitar a compatibilidade com versões futuras problemas.

Pseudoelemento CSS ::backdrop herdado do elemento de origem

O pseudoelemento ::backdrop usado para herdar de valores iniciais. Isso significou O ::backdrop não poderá usar valores de propriedade personalizada, a menos que seja especificado diretamente no a regra ::backdrop. A especificação mudou para que ::backdrop herdada do elemento de origem, essa alteração torna o navegador Chrome devem corresponder à nova especificação.

Condições supports() do CSS para @import

@import agora aceita uma condição supports(). Se a condição supports() não corresponder, a importação não será buscada.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

As consultas de recursos a serem inseridas em supports() são as mesmas que as usadas com @supports

APIs Web

API Async Clipboard: ler HTML não limpo

Adiciona um unsanitized. no método read() para receber o formato HTML não corrigido. A menos que sites incluir esta propriedade, a leitura da área de transferência será limpa.

Por padrão, ao ler tipos MIME text/html usando a API assíncrona, a limpador é invocado para remover o conteúdo da marcação HTML devido à segurança e estilos estão embutidos no HTML. Isso leva a um grande payload de HTML e perda de fidelidade do conteúdo HTML quando lido por desenvolvedores Web ou apps para dispositivos móveis.

Não exclua objetos de tipo de arquivo em dataTransfer.clearData()

Atualiza o Chrome para corresponder às spec, que especifica que clearData() não afeta objetos File. Ele apenas exclui os objetos do tipo text.

FedCM: desconectar

Permite desconectar uma conta de login federada usando o site da parte confiável. Com a API de desconexão, uma parte confiável pode notificar o provedor de identidade que uma A conta usada anteriormente será desconectada e usada novamente com o login federado, é necessário tratá-lo como uma nova conta.

Cancelamento interoperabilidade do evento de mousedown no iframe

Torne os destinos de evento do mouse independentes do cancelamento do evento mousedown quando o o ponteiro é arrastado para fora de um iframe. Quando o mouse é arrastado para fora de um iframe, todos os navegadores (incluindo o Chrome) enviam eventos mousemove e mouseup para o iframe. No entanto, se o evento mousedown for cancelado, o Chrome hoje mantém uma exceção do WebKit antiga de que os eventos mousemove e mouseup são enviados para o servidor frame. O WebKit removeu essa exceção no ano passado, e o Mozilla nunca exibiu isso de comportamento nos últimos anos. Esse recurso removerá a exceção exclusiva do Chrome para neste caso especial.

Auxiliares de iterador

Os ajudantes de iterador são novos métodos no protótipo de iterador para permitir o uso geral e o consumo de iteradores.

MessagePort.onclose

Uma alteração na API Channel Messaging, que notifica um dos MessagePorts que a outra porta foi liberada. Ou seja, close() é chamado, uma o documento devido é destruído ou a porta é coletada de lixo.

Extensões setParameters() do RTCRtpSender para solicitar a geração de um frame-chave

Adiciona um segundo parâmetro opcional à chamada RTCRtpSender.setParameters do WebRTC. que pode ser usado para solicitar que o codificador associado gere um frame-chave.

Métodos "set"

Métodos "set" são novos métodos, como união e interseção, adicionados ao classe Set integrada.

API Storage Buckets

Os buckets de armazenamento oferecem aos sites a capacidade de organizar dados no dispositivo em "buckets separados", permitindo que os user agents removam o dados agrupados independentemente dos que estão em outros buckets e permitir que os sites para gerenciar ergonomicamente dados semanticamente relacionados. Cada bucket de armazenamento contêm dados associados a APIs de armazenamento estabelecidas, como IndexedDB e CacheStorage.

URLPattern: hasRegExpGroups

Permite inspecionar se um URLPattern usa um ou mais códigos ECMAScript regulares grupos de expressão e, portanto, pode não ser adequado para uso em casos em que uma O mecanismo ECMAScript não está disponível (como algumas APIs planejadas futuras). Estritamente falando, isso reflete algo que os desenvolvedores poderiam saber de qualquer forma, inspecionando o padrão, mas tendo acesso à implementação do UA dessa verificação torna isso mais simples.

BufferStorage do WebGL

O WebGL permite renderizar texturas e buffers de renderização de diversos pixels formatos. Por exemplo, 8 bits, ponto flutuante e codificada em sRGB.

O buffer de desenho do WebGL (o buffer que é passado para o compositor) é 8 bits por padrão. O recurso drawablesBufferStorage permite que o WebGL configure a formato de pixel desse buffer de desenho, permitindo que os desenvolvedores façam o seguinte.

  • Evitar uma cópia extra ao converter a renderização para o desenho padrão em formato de pixel de buffer.
  • Desenhe conteúdo com mais de 8 bits de precisão.

O último recurso desbloqueia vários outros aplicativos:

  • Um conteúdo de gama muito ampla de cores sem perda de precisão.
  • Aplicativos médicos que exigem mais de 8 bits de precisão.
  • Aplicativos de High Dynamic Range (quando disponíveis).

Encapsulamento de chaves X25519Kyber768 para TLS

Para proteger o tráfego TLS atual do Chrome contra criptoanálise quântica futura: implantar o algoritmo Kyber768 de contrato de chaves resistente a quânticos. Esta é uma híbrido X25519 + contrato de chave Kyber768 com base em um padrão IETF. Isso especificação e lançamento está fora do escopo do W3C. Este acordo importante será lançados como uma cifra TLS e precisam ser transparentes para os usuários.

Testes de origem em andamento

No Chrome 122, é possível ativar as seguintes novas origens testes.

Extensões de escopo de app da Web

O escopo do app da Web (definido pelo campo de escopo) só pode ser definido com um caminho de uma única origem. Ele é usado para determinar se a janela atual de um app o documento faz parte do aplicativo. Ele também determina quais URLs são permitidos outros membros do manifesto.

Com scope_extensions, os desenvolvedores têm expandir os comportamentos do app para incluir outras origens se houver acordo entre a origem principal de um app da Web e as origens associadas.

Inscrever-se no teste de origem das extensões do escopo do app da Web

Controle de superfície capturada

A API Captured Surface Control. permite que aplicativos da Web produzam eventos de roda em uma guia ou janela capturada e leia ou escrever o nível de zoom de uma guia capturada.

Inscreva-se no teste de origem do Captured Surface Control.