Chrome 131 Beta

Publicado em 16 de outubro de 2024

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. Para saber mais sobre os recursos listados aqui, acesse os links fornecidos ou a 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 de 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 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 emojis, especificamente U+FE0E para texto e U+FE0F para emojis, após cada ponto de código do 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>

Ofereça suporte a mais estilos CSS para a estrutura de elementos <details> e <summary>, permitindo que esses elementos sejam usados em mais casos em que widgets de divulgação ou acordeão são criados na Web. Mais especificamente, essa mudança remove as restrições que impediam a configuração da propriedade de exibição nesses elementos e adiciona um pseudoelemento ::details-content para estilizar o contêiner da parte que é aberta e recolhida.

@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 da 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 as 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 corte, 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.

Isento de cabeçalho Speculation-Rules das restrições da 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 facilita a implantação 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 aplicativos diferentes com níveis distintos de requisitos de segurança. Nesses casos, pode ser útil impedir que os scripts em execução em um aplicativo abram e façam script de 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 scripts 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 chamadas 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 termos de privacidade, já que 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 tags adicionais em <select>, além de <option>, <optgroup> e <hr>.

Essa mudança oferece suporte ao recurso <select> personalizável, mas está sendo enviado primeiro porque pode ser feito separadamente e tem algum risco 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 cortar 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, será possível usar o método GPUCanvasContext getConfiguration() para verificar a configuração de contexto da tela. Ele inclui os membros device, format, usage, viewFormats, colorSpace, toneMapping e alphaMode da GPU. Como discutido na questão 4828, os apps da Web podem usar para detectar se a tela HDR tem suporte no WebGPU.

WebHID em workers dedicados

Ativa o WebHID em contextos de worker dedicados. Isso permite realizar E/S intensas e processar dados de um dispositivo HID em uma linha de execução separada, ajudando a reduzir o impacto do 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 a 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, redimensionar para 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 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 ChromeStatus.com para conferir as listas de suspensões de uso planejadas, atual 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 existe uma política corporativa que permite que essa sinalização seja desativada à força. A política corporativa será removida no Chrome 131.

Remoção do método GPUAdapter requestAdapterInfo() não padrão

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