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
A propriedade CSS display
agora aceita várias palavras-chave como um valor, além das palavras-chave predefinidas. As duas primeiras palavras-chave representam os valores externos e internos de display. Há flags opcionais para list-item
, valores internos, como table-cell
, e os valores de caixa de contents
e none
.
Com as palavras-chave externas e internas, você pode definir como a caixa externa se comporta (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
. Acesse MDN para ver uma lista de mapeamentos comuns e mais informações.
Consultas de contêiner em estilo de contexto booleano
O Chrome 115 é compatível com consultas de contêiner style()
sem um valor de declaração, apenas com um nome de propriedade, como uma forma de corresponder 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 de animações da Web que permitem que os desenvolvedores usem a posição de um botão de rolagem ou a posição de um elemento dentro de um botão como uma entrada "tempo" em vez do horário monotônico padrão. Isso permite animações de rolagem acelerada, como a redução da barra de navegação, sem exigir a execução do script do usuário. Eles podem ser declarados e instanciados por meio de CSS e JavaScript usados em animações CSS e animações da Web.
Consulte Animar elementos na rolagem com animações de rolagem para mais detalhes.
Correção da regressão em que os elementos com display: contents
não eram mais mostrados na árvore de acessibilidade.
Foi introduzida uma regressão que fez 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
Aumento do tamanho máximo de um WebAssembly.Module()
na linha de execução principal para 8 MB
O construtor WebAssembly.Module() compila um módulo WebAssembly binário de forma síncrona, o 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 em um smartphone Google Pixel 1, que atualmente é considerado um smartphone simples representativo. Desenvolvimentos futuros no V8 ou no hardware podem permitir outras extensões do limite.
FedCM: suporte aos requisitos de mediação do gerenciamento de credenciais para a reautenticação automática
Oferece suporte aos requisitos de mediação do Gerenciamento de credenciais para oferecer uma UX de reautenticação simplificada para usuários que criaram contas federadas em sites com a API FedCM.
Upgrades de HTTPS
Atualizar de forma automática e otimista todas as navegações do mainframe para HTTPS, com substituição rápida para HTTP.
Como particionar as APIs Storage, Service Worker e Communication
Para evitar certos tipos de rastreamento entre sites em canais laterais, o Chrome está particionando as APIs de armazenamento e comunicação em contextos de terceiros. Isso inclui armazenamento gerenciado por cota, service workers e APIs de comunicação (como BroadcastChannel). Consulte a documentação sobre particionamento de armazenamento para mais detalhes.
Resource Timing: expor tempos de resposta provisórios
PerformanceResourceTiming.firstInterimResponseStart
foi exposto nos casos em que uma busca de navegação ou sub-recurso encontra uma resposta 1xx provisória. Por exemplo, com 100 "continues" ou 103 dicas iniciais, firstInterimResponseStart
agora corresponde ao tempo dessa primeira resposta provisória, enquanto responseStart
corresponde à resposta final, por exemplo, com o status 200.
Atualização de "xml" processamento de prefixos em lookupNamespaceURI()
e createNSResolver()
Node.lookupNamespaceURI()
oferece suporte a "xml" e "xmlns" prefixos por padrão. A função retorna strings de namespace fixas para ela. Document.createNSResolver()
e XPathEvaluator.createNSResolver()
param para unir o nó especificado e adicionar "xml" o processamento de prefixos. Elas retornam o nó especificado no estado em que se encontra. Os desenvolvedores Web agora podem usar um elemento como uma XPathNSResolver
sem envolvê-lo com createNSResolver()
.
VisibilityStateEntry
Mostra o estado de visibilidade (visível ou oculto) na linha do tempo de performance. A linha do tempo sempre terá uma entrada com startTime
de 0 e o estado de visibilidade inicial, além de entradas correspondentes a qualquer mudança do estado de visibilidade.
WGSLLanguageFeatures para WebGPU
Adiciona o getter wgslLanguageFeatures
no objeto GPU para a WebGPU e o tipo de WGSLLanguageFeatures
correspondente.
Comandos do WebDriver para interagir com caixas de diálogo do FedCM
Isso expõe vários comandos do WebDriver para permitir que a automação do navegador, como testes automatizados, interaja com caixas de diálogo do FedCM.
Testes de origem em andamento
No Chrome 115, é possível 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 sobrecarregar o sistema. Pressão de computação é um termo genérico por padrão. No momento, ele é calculado com base na carga da CPU, mas 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 Compute Pressure.
Inscreva-se no teste de origem do Compute Pressure.
Dicas de compilação explícitas com comentários mágicos
Permite anexar informações sobre quais funções devem ser analisadas e compiladas antecipadamente em arquivos JavaScript. As informações serão codificadas como comentários mágicos. Vamos testar diferentes formatos mágicos de comentários. Por exemplo, marcar todas as funções de um arquivo para compilação antecipada ou marcar somente um subconjunto de funções.
Inscreva-se para receber as dicas de compilação explícitas com o teste de origem dos comentários mágicos (link em inglês).
API Long Animation Frames
Esta é uma extensão da API Long Tasks. Ela mede a tarefa em conjunto com a atualização de renderização subsequente, adicionando informações como scripts de longa execução, tempo de renderização e tempo gasto em layout e estilo forçados, conhecidos como sobrecarga de layout. Os desenvolvedores podem usar isso como um diagnóstico da "lentidão", que é medida pela Interaction to Next Paint (INP), encontrando as causas do congestionamento da linha de execução principal, que geralmente é a causa de um INP ruim.
Faça o registro para o teste de origem de frames de animação longos.
API Storage Buckets
Os buckets de armazenamento permitem que os sites criem vários buckets de armazenamento para organizar os dados, permitindo que os user agents excluam cada bucket independentemente dos outros buckets. Cada bucket de armazenamento pode armazenar dados associados a APIs de armazenamento estabelecidas, como IndexedDB e CacheStorage. Registre-se no teste de origem da API Storage Buckets.
Descontinuações 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, descontinuações atuais e remoções anteriores.
Esta versão do Chrome descontinua dois recursos.
Suspender o uso do setter document.domain
O setter document.domain
está sendo descontinuado porque permite que os desenvolvedores flexibilizam a política de mesma origem e, como tal, ele complica o limite de segurança fundamental que queremos manter e impede que o modelo de processo do Chromium seja alterado após o Spectre.
Acesse a página O Chrome desativa a modificação de document.domain para alternativas ao uso de document.domain. Na maioria dos casos de uso, o postMessage()
de origem cruzada ou a API Channel Messaging podem substituir document.domain. Como último recurso, ative o domínio do documento usando os clusters de agente com origin-key. O setter será mantido, mas a origem não será alterada.
Suspender eventos de mutação
Eventos de mutação, incluindo DOMSubtreeModified
, DOMNodeInserted
, DOMNodeRemoved
, DOMNodeRemovedFromDocument
e DOMNodeInsertedIntoDocument
, foram descontinuados da especificação em 2011 e foram substituídos em 2012 pela API Mutation Observer. O uso dos eventos de mutação obsoletos precisa ser migrado para o 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.