Chrome 131 Beta

Publicado em 16 de outubro de 2024

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 em ChromeStatus.com. O Chrome 131 está na versão Beta desde 16 de outubro 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 oito novos recursos do CSS.

Posicionamento de âncora do CSS: anchor-scope

A propriedade anchor-scope permite limitar a visibilidade dos nomes de âncora a um subárvore específica.

​CSS font-variant-emoji

A propriedade CSS font-variant-emoji oferece uma maneira de controlar os glifos de emoji coloridos (estilo emoji) e monocromáticos (estilo de texto). Isso também pode ser feito adicionando um seletor de variação de emoji, especificamente U+FE0E para texto e U+FE0F para emoji, após cada código de ponto de emoji.

Herança de destaque do CSS

Com a herança de destaque do CSS, as pseudoclasses de destaque do CSS, como ::selection e ::highlight, herdam as propriedades pela cadeia de destaque de pseudoelementos, em vez da cadeia de elementos. O resultado é um modelo mais intuitivo para a herança de propriedades em destaques.

Para saber mais, leia a postagem do blog Inheritance changes for CSS selection styling escrita por Stephen Chenney, da Igalia.

Melhorias na estrutura de estilo dos elementos <details> e <summary>

Suporte a mais estilos de CSS para a estrutura dos elementos <details> e <summary> para permitir que esses elementos sejam usados em mais casos em que widgets de abertura ou accordion são criados na Web. Especificamente, essa mudança remove restrições que impediam a definição da propriedade display nesses elementos e adiciona um pseudoelemento ::details-content para estilizar o contêiner da parte que se expande e se contrai.

@page caixas de margem

Adicionamos suporte a caixas de margem de página ao imprimir um documento da Web ou exportá-lo como PDF.

As caixas de margem @page permitem definir o conteúdo na área de margem de uma página, por exemplo, para fornecer cabeçalhos e rodapés personalizados, em vez de usar os cabeçalhos e rodapés integrados gerados pelo navegador.

Uma caixa de margem é definida usando uma regra at-rule dentro de uma regra @page do CSS. A aparência e o conteúdo de uma caixa de margem são especificados com propriedades CSS dentro da regra at, incluindo a propriedade content. Os contadores também são compatíveis com a numeração de páginas. A especificação define dois nomes de contador especiais: page para o número de página atual e pages para o número total de páginas.

Sintaxe <string> de suporte a @property

Compatibilidade com o nome do componente de sintaxe <string> para propriedades personalizadas registradas.

Suporte a currentcolor na sintaxe de cores relativa

Permitir que cores relativas no CSS (usando a palavra-chave from) usem currentcolor como base. Isso permite definir cores complementares, com base na cor do texto de um elemento, para bordas, sombras ou planos de fundo desse elemento.

Esse recurso também inclui casos de uso em que as funções de cor são aninhadas com uma dependência de currentcolor, por exemplo, color-mix(in srgb, rgb(from currentcolor r g b), white)) ou rgb(from rgb(from currentcolor 1 g b) b g r).

Suporte a recursos SVG externos para as propriedades clip-path, fill, stroke e marker-*

Esse recurso adiciona suporte a referências externas para caminhos de clipe, marcadores e servidores de pintura (para as propriedades "fill" e "stroke"). Por exemplo, clip-path: url("resources.svg#myPath").

APIs Web

API Direct Sockets

Permite que apps da Web isolados estabeleçam comunicações de protocolo de controle de transmissão direta (TCP) e de protocolo de datagrama do usuário (UDP) com dispositivos e sistemas de rede, bem como escutar e aceitar conexões de entrada.

O cabeçalho Speculation-Rules foi isento das restrições do CSP

Atualiza a integração entre as regras de especulação e o CSP para que o CSP se aplique apenas a <script type=speculationrules>, e não ao cabeçalho Speculation-Rules. As políticas de script do CSP têm como objetivo proteger contra a injeção de scripts em HTML, e o modelo de ameaça do CSP não se relaciona com cabeçalhos HTTP. Isso permite uma implantação mais fácil de regras de especulação de CDNs e outros servidores de borda.

FedCM como um indicador de confiança para a API Storage Access

Reconcilia as APIs FedCM e Storage Access fazendo com que uma concessão FedCM anterior seja um motivo válido para aprovar automaticamente uma solicitação de acesso ao armazenamento.

Quando um usuário concede permissão para usar a própria identidade com um provedor de identidade de terceiros (IdP) em uma parte confiável (RP), muitos IdPs exigem cookies de terceiros para funcionar corretamente e com segurança. Esta proposta tem como objetivo atender a esse requisito de maneira privada e segura, atualizando as verificações de permissão da API Storage Access (SAA, na sigla em inglês) para não aceitar apenas a concessão de permissão dada por uma solicitações de acesso ao armazenamento, mas também a concessão de permissão dada por uma solicitações do FedCM.

Uma propriedade importante desse mecanismo é limitar a concessão a casos explicitamente permitidos pelo RP com a política de permissões do FedCM, aplicando um controle por frame ao RP e impedindo a vigilância passiva pelo IdP além dos recursos que o FedCM já concede.

Valor COOP noopener-allow-popups

Algumas origens podem conter diferentes aplicativos com diferentes níveis de requisitos de segurança. Nesses casos, pode ser útil impedir que scripts executados em um aplicativo abram e executem páginas de outro aplicativo de mesma origem.

Nesses casos, pode ser útil garantir que o documento aberto não possa ser executado, mesmo que o documento aberto seja de mesma origem. O valor noopener-allow-popups Cross-Origin-Opener-Policy permite que os documentos definam esse comportamento.

API Private Aggregation: aumento do limite de contribuição para 100 para os autores de chamadas da API Protected Audience

Permite que os executores de script da API Protected Audience façam até 100 contribuições por relatório de agregação privada, em comparação com o limite atual de 20.

A agregação particular limita o número de contribuições de histograma que podem ser incorporadas a um único relatório agregável, descartando qualquer outra contribuição. Os autores de chamada do Shared Storage podem contornar o limite invocando outra operação do Shared Storage. No entanto, os autores de chamadas da API Protected Audience não têm armazenamento persistente, portanto, eles perdem as contribuições em excesso no final do leilão. Essa mudança é neutra em relação à privacidade, porque as contribuições da API ainda são limitadas pelo mesmo orçamento de privacidade.

Devido ao preenchimento, cada relatório da API Protected Audience terá um payload maior, mesmo se não precisar do limite de contribuição maior. Esperamos que esses relatórios maiores aumentem o custo de operação do serviço de agregação.

Selecionar a flexibilização do analisador

Essa mudança faz com que o analisador de HTML permita mais tags em <select> além de <option>, <optgroup> e <hr>.

Essa mudança oferece suporte ao recurso personalizável <select>, mas está sendo enviado primeiro porque pode ser feito separadamente e tem alguns riscos de compatibilidade que a equipe do Chrome gostaria de receber feedback.

WebGPU: distâncias de corte

Adiciona o recurso opcional de GPU clip-distances, que permite definir distâncias de clipe definidas pelo usuário nas saídas do sombreador de vértice. Essa técnica é particularmente útil para aplicativos que precisam recortar todos os vértices em uma cena que estão além de um plano definido pelo usuário, como muitos aplicativos de CAD.

WebGPU: GPUCanvasContext getConfiguration()

Depois que GPUCanvasContext configure() for chamado com um dicionário de configuração, use o método GPUCanvasContext getConfiguration() para verificar a configuração do contexto da tela. Ele inclui os membros device, format, usage, viewFormats, colorSpace, toneMapping e alphaMode da GPU. Conforme discutido no problema 4828, os apps da Web podem usar para detectar se a tela HDR tem suporte no WebGPU.

WebHID em workers dedicados

Ativa a WebHID em contextos de worker dedicados. Isso permite que você execute E/S pesadas e processe dados de um dispositivo HID em uma linha de execução separada, ajudando a reduzir o impacto de desempenho na linha de execução principal.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Uma API que configura codificadores do WebRTC para dimensionar frames de entrada se eles forem maiores do que maxWidth e maxHeight especificados. Essa API é semelhante à scaleResolutionDownBy, exceto que as restrições de resolução são expressas em termos absolutos (por exemplo, 640x360) em vez de termos relativos (por exemplo, redução de escala por 2), evitando condições de disputa relacionadas à alteração do tamanho do frame de entrada instantaneamente.

Novos testes de origem

No Chrome 131, você pode ativar os seguintes novos testes de origem.

Estatísticas de pré-reprodução para WebAudio

O recurso AudioContext.playoutStats permite que um aplicativo meça a qualidade e a latência da reprodução de áudio usando o WebAudio.

API Summarizer

Uma API JavaScript para produzir resumos do texto de entrada, com o suporte de um modelo de linguagem de IA.

Suspensões de uso e remoções

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

Esta versão do Chrome remove três recursos.

Remover a propriedade de posicionamento de âncora do CSS inset-area

Com a resolução do grupo de trabalho do CSS para renomear a propriedade inset-area para position-area, essa remoção limpa a implementação no Chromium para um recurso compatível com os padrões.

Remover a capacidade de desativar BeforeunloadEventCancelByPreventDefault

O recurso BeforeunloadEventCancelByPreventDefault foi enviado no Chrome 117, mas há uma política corporativa que permite que essa flag seja desativada à força. A política empresarial será removida no Chrome 131.

O método requestAdapterInfo() não padrão do GPUAdapter foi removido

O grupo de trabalho da WebGPU decidiu que não era prático para requestAdapterInfo() acionar uma solicitação de permissão. Por isso, removeu essa opção e a substituiu pelo atributo info do GPUAdapter. Assim, os desenvolvedores da Web podem receber o mesmo valor de GPUAdapterInfo de maneira síncrona.