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 122 está na versão Beta desde 24 de janeiro de 2024. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.
CSS
Nesta versão, adicionamos três novos recursos CSS.
As consultas de CSS @container com recursos incompatíveis nunca correspondem
Os seletores @container
que contêm consultas sem suporte nunca selecionarão contêineres, o que significa que eles nunca serão correspondentes.
Isso significa que essa consulta nunca corresponderá a um contêiner, mesmo que haja um contêiner de tamanho correspondente à consulta de largura. Por exemplo, a consulta a seguir nunca será correspondida devido ao recurso desconhecido:
@container (width > 0px) or (unknown) {}
Essa é uma mudança recente na especificação para evitar problemas de compatibilidade com versões futuras.
Pseudoelemento ::backdrop
do CSS herdado do elemento de origem
O pseudoelemento ::backdrop
usado para herdar dos valores iniciais. Isso significa que
::backdrop
não poderia usar valores de propriedade personalizada, a menos que especificado diretamente na
regra ::backdrop
. A especificação foi alterada para que ::backdrop
herde do elemento de origem. Essa mudança faz com que a implementação do Chrome corresponda à nova especificação.
Condições do CSS supports()
para @import
@import
agora aceita uma condição supports()
. Se a condição supports()
não for correspondente, a importação não será buscada.
@import "scroll-driven-animations.css" supports(animation-timeline: auto);
As consultas de recursos a serem colocadas em supports()
são as mesmas usadas
com @supports
APIs Web
API Async Clipboard: ler HTML não corrigido
Adiciona uma opção unsanitized
no método read()
para receber o formato HTML não corrigido. A menos que os sites
incluam essa propriedade, a leitura da área de transferência será limpa.
Por padrão, ao ler tipos MIME text/html
usando a API assíncrona, o
limpador é invocado para remover o conteúdo da marcação HTML devido a questões de
segurança, e os estilos são inline no HTML. Isso leva a um payload HTML grande
e perda de fidelidade do conteúdo HTML quando lido por desenvolvedores da Web ou apps para dispositivos móveis.
Não exclua objetos de tipo de arquivo em dataTransfer.clearData().
Atualiza o Chrome para corresponder à
spec,
que especifica que clearData()
não afeta objetos de arquivo. Ele só 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 conta usada anteriormente foi desconectada e, portanto, usar essa conta novamente com o login federado exigiria o tratamento dela como uma nova conta.
Cancelamento do evento de mousedown interoperabilidade no iframe
Torne os destinos de eventos de mouse independentes do cancelamento do evento mousedown quando o
ponteiro for 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
ao iframe. No entanto, se o evento mousedown for cancelado, o Chrome hoje manterá uma
exceção antiga do WebKit de que os eventos mousemove e mouseup serão enviados para o frame
externo. O WebKit removeu essa exceção no ano passado, e o Mozilla nunca mostrou esse
comportamento nos últimos anos. Esse recurso vai remover a exceção apenas do Chrome para
esse caso especial.
Auxiliares de iterador
Os auxiliares de iterador são novos métodos no protótipo de iterador para permitir o uso e o consumo gerais de iteradores.
MessagePort.onclose
Uma alteração na API Channel Messaging, que notifica um dos MessagePorts
de que a outra porta foi desanexada. Ou seja, close()
é chamado, um
documento pendente é destruído ou a porta é coletada como lixo.
RTCRtpSender setParameters() 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.
Definir métodos
Os métodos "set" são novos métodos, como união e interseção, adicionados à classe
Set
integrada do JavaScript.
API Storage Buckets
Os buckets de armazenamento permitem que os sites organizem os dados do dispositivo em "buckets" separados, permitindo que os user agents removam os dados agrupados independentemente dos dados que estão em outros buckets e permitindo que os sites gerenciem de maneira ergonômica dados relacionados semanticamente. Cada bucket de armazenamento pode conter dados associados a APIs de armazenamento estabelecidas, como IndexedDB e CacheStorage.
URLPattern: hasRegExpGroups
Permite verificar se um URLPattern
usa um ou mais grupos de expressões
regulares ECMAScript e, portanto, pode não ser adequado para uso em casos em que um
mecanismo ECMAScript não está disponível (como algumas APIs planejadas futuras).
A rigor, isso reflete algo que os desenvolvedores poderiam saber de qualquer maneira ao
inspecionar o padrão, mas ter acesso à implementação dessa verificação pelo UA
torna isso mais simples.
Armazenamento de buffer de desenho do WebGL
O WebGL permite a renderização em texturas e buffers de renderização de vários formatos de pixel diferentes. Por exemplo, codificada em 8 bits, de ponto flutuante e sRGB.
O buffer de desenho do WebGL (transmitido ao compositor) é de 8 bits por padrão. O recurso drawBufferStorage permite que o WebGL configure o formato de pixel desse buffer de desenho, permitindo que os desenvolvedores façam o seguinte.
- Evite uma cópia extra ao converter a renderização para o formato de pixel de buffer de desenho padrão.
- Desenhe conteúdo com mais de 8 bits de precisão.
Este último recurso desbloqueia vários outros aplicativos:
- Um conteúdo com uma gama muito ampla de cores sem perda de precisão.
- aplicações médicas que exigem mais de 8 bits de precisão.
- Aplicativos de High Dynamic Range (quando disponíveis).
Encapsulamento de chave X25519Kyber768 para TLS
Proteja o tráfego TLS atual do Chrome contra futura criptoanálise quântica implantando o algoritmo de contrato de chave resistente ao quântico Kyber768. Este é um contrato de chave híbrido X25519 + Kyber768 com base em um padrão IETF. Essa especificação e lançamento estão fora do escopo do W3C. Esse contrato de chave será lançado como uma criptografia TLS e precisa ser transparente para os usuários.
Testes de origem em andamento
No Chrome 122, você pode ativar os novos testes de origem a seguir.
Extensões de escopo de apps 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 o documento atual da janela de um app faz parte do app e quais URLs são permitidos em outros membros do manifesto.
Com o scope_extensions, os desenvolvedores podem expandir os comportamentos dos apps para incluir outras origens se houver contrato entre a origem principal de um app da Web e as origens associadas.
Faça sua inscrição para o teste de origem das extensões de escopo de apps da Web
Controle de superfície capturada
A API Captured Surface Control permite que os aplicativos da Web produzam eventos de roda em uma guia ou janela capturada e leiam ou gravem o nível de zoom de uma guia capturada.