Chrome 115 Beta

Várias palavras-chave para a propriedade de exibição CSS, WGSLLanguageFeatures para WebGPU, upgrades de HTTPS e muito mais.

Salvo indicação em contrário, as mudanças descritas 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 em ChromeStatus.com. O Chrome 115 está na versão Beta desde 31 de maio de 2023. 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.

Vários valores da propriedade display

Agora, a propriedade display do CSS aceita várias palavras-chave como valor, além das palavras-chave pré-compostas legadas. As duas primeiras palavras-chave representam os valores externos e internos de exibição. Há sinalizações opcionais para list-item, valores internos como table-cell e os valores de caixa contents e none.

Com as palavras-chave externas e internas, você pode definir o comportamento da caixa externa (de bloco ou inline) e como os filhos internos se comportam, por exemplo, flex, grid ou flow. Portanto, display: flex se torna display: block flex, e display: block se torna display: block flow. Consulte o MDN para ver uma lista de mapeamentos comuns e mais informações.

Consultas de contêiner de estilo de contexto booleano

O Chrome 115 oferece suporte a consultas de contêiner style() sem um valor de declaração, apenas um nome de propriedade, como uma forma de correspondência de valores não iniciais. Anteriormente, era necessário usar: not style(--my-property: initial). Agora, é possível usar: style(--my-property) para corresponder a qualquer valor não inicial.

Animações de rolagem

ScrollTimeline e ViewTimeline são uma extensão da especificação Web Animations que permitem aos desenvolvedores usar a posição de um botão de rolagem ou a posição de um elemento dentro de um botão como uma entrada de "hora" em vez do horário monotônico padrão. Isso permite animações de rolagem acelerada, como uma barra de navegação de redução, sem exigir a execução do script do usuário. Elas podem ser declaradas e instanciadas tanto por meio de CSS quanto de JavaScript usados em animações CSS e animações na web.

Consulte Animar elementos na rolagem com animações de rolagem para mais detalhes.

Correção para a regressão em que elementos com display: contents não eram mais exibidos na árvore de acessibilidade.

Foi introduzida uma regressão que fazia com que elementos com display: contents perdessem informações semânticas e não fossem mais representados corretamente na árvore de acessibilidade O Chrome 115 inclui uma correção para esse problema.

APIs Web

Aumentando o tamanho máximo de um WebAssembly.Module() na linha de execução principal para 8 MB.

O construtor WebAssembly.Module() compila um módulo binário WebAssembly de maneira síncrona, que pode bloquear a linha de execução principal. Para evitar isso, o tamanho máximo de um módulo WebAssembly que pode ser compilado com esse construtor é limitado a 8 MB. Módulos maiores podem ser compilados de forma assíncrona na linha de execução principal com WebAssembly.compile() ou de forma síncrona em uma linha de execução de worker. O limite de 8 MB é uma extensão do limite original de 4 KB. Essa extensão é possível graças às melhorias no tempo de execução do WebAssembly V8. O limite de 8 MB foi determinado por meio de medições de desempenho do smartphone Google Pixel 1, que atualmente é considerado um smartphone simples e representativo. Futuros desenvolvimentos no V8 ou em hardware podem permitir uma extensão maior do limite.

FedCM: suporte aos requisitos de mediação do gerenciamento de credenciais para reautenticação automática

Oferece suporte aos requisitos de mediação de gerenciamento de credenciais para fornecer UX de reautenticação simplificada para usuários que criaram contas federadas em sites com a API FedCM.

Upgrades de HTTPS

Fazer upgrade automático e otimista de todas as navegações do frame principal para HTTPS, com substituto rápido para HTTP.

Particionar as APIs de armazenamento, service worker e comunicação

Para evitar certos tipos de rastreamento entre sites por canal lateral, o Chrome está particionando APIs de armazenamento e comunicação em contextos de terceiros. Isso inclui armazenamento gerenciado por cotas, service workers e APIs de comunicação (como BroadcastChannel). Consulte a documentação sobre o particionamento de armazenamento para saber mais detalhes.

Resource Timing: expor tempos de resposta provisórios

PerformanceResourceTiming.firstInterimResponseStart foi exposto nos casos em que uma busca de navegação ou de sub-recursos encontra uma resposta provisória 1xx Por exemplo, com 100 continue ou 103 dicas antecipadas, firstInterimResponseStart agora corresponde ao tempo dessa primeira resposta provisória, enquanto responseStart corresponde à resposta final, por exemplo, com status 200.

Atualização do tratamento do prefixo "xml" em lookupNamespaceURI() e createNSResolver()

Node.lookupNamespaceURI() aceita prefixos "xml" e "xmlns" por padrão. A função retorna strings de namespace fixas para eles. Document.createNSResolver() e XPathEvaluator.createNSResolver() são interrompidos para unir o nó especificado para adicionar o processamento de prefixo "xml". Eles retornam o nó especificado como está. Os desenvolvedores da Web agora podem usar um elemento como uma XPathNSResolver sem uni-lo com createNSResolver().

VisibilityStateEntry

Expõe o estado de visibilidade (visível ou oculto) na linha do tempo de performance. A linha do tempo sempre vai ter uma entrada com um startTime de 0 e o estado de visibilidade inicial, além de entradas correspondentes a qualquer mudança no estado de visibilidade.

WGSLLanguageFeatures para WebGPU

Adiciona o getter wgslLanguageFeatures ao objeto da GPU para a WebGPU e o tipo WGSLLanguageFeatures correspondente.

Comandos do WebDriver para interagir com caixas de diálogo do FedCM

Isso expõe vários comandos do WebDriver para permitir a automação do navegador, como testes automatizados, para interagir com caixas de diálogo do FedCM.

Testes de origem em andamento

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

Pressão de computação

A API Compute Pressure oferece informações de alto nível sobre o estado atual do hardware do dispositivo para permitir que os sites encontrem o equilíbrio certo para os usuários entre aproveitar a capacidade de processamento disponível e colocar o sistema sob estresse incontrolável. Pressão de computação é um termo genérico criado. No momento, ela é calculada com base na carga da CPU, mas os planos futuros incluem o uso de sinais de temperatura e status da bateria, por exemplo. Saiba mais em Anúncio do segundo teste de origem da pressão de computação.

Inscreva-se no teste de origem do Compute Pressure.

Dicas de compilação explícitas com comentários mágicos

Permitir a anexação de informações sobre quais funções precisam ser analisadas e compiladas prontamente em arquivos JavaScript. As informações serão codificadas como comentários mágicos. Estamos testando diferentes formatos de comentários mágicos. Por exemplo, marcar todas as funções em um arquivo para compilação rápida ou marcar apenas um subconjunto de funções.

Registre-se para receber dicas de compilação explícitas com o teste de origem de comentários mágicos.

API Long Animation Frames

Essa é uma extensão da API Long Tasks. Ele mede a tarefa junto com a atualização de renderização subsequente, adicionando informações como scripts de longa duração, tempo de renderização e tempo gasto em layout e estilo forçados, conhecidos como troca de layout. Os desenvolvedores podem usar isso como um diagnóstico de "lentidão", que é medida pela Interação com a próxima pintura (INP, na sigla em inglês), encontrando as causas de congestão na linha de execução principal, que geralmente é a causa de uma INP ruim.

Inscreva-se para o teste de origem de frames de animação longos.

API Storage Buckets

Com os buckets de armazenamento, os sites podem criar vários buckets de armazenamento para organizar os dados, permitindo que os user agents excluam cada bucket independentemente de outros buckets. Cada bucket de armazenamento armazena dados associados a APIs de armazenamento estabelecidas, como IndexedDB e CacheStorage. Inscreva-se no teste de origem da API Storage Buckets.

Descontinuações e remoções

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

Nesta versão do Chrome, descontinuamos dois recursos.

Descontinuar o setter document.domain

O setter document.domain será descontinuado porque permite que os desenvolvedores relaxem a política de mesma origem. Dessa forma, ele complica o limite de segurança fundamental que queremos manter e cria obstáculos no caminho de mudanças pós-Spectre no modelo de processo do Chromium. Acesse O Chrome desativa a modificação de document.domain para ver alternativas ao uso de document.domain. Na maioria dos casos de uso, o postMessage() de origem cruzada ou a API Channel Messaging pode substituir document.domain. Como último recurso, é possível ativar o domínio do documento em clusters de agente com origin-key. O setter permanecerá inalterado, mas a origem também.

Descontinuar eventos de mutação

Eventos de mutação, incluindo DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument e DOMNodeInsertedIntoDocument, foram descontinuados na especificação em 2011 e substituídos em 2012 pela API Mutation Observer. Os eventos de mutação obsoletos precisam ser migrados para a Mutation Observer antes da remoção no Chrome 127 (20 de julho de 2024).

Saiba mais sobre a descontinuação de eventos de mutação.