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. 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 computador ou na Google Play Store para Android.

CSS

Nesta versão, adicionamos oito novos recursos de CSS.

Posicionamento de âncora CSS: anchor-scope

A propriedade anchor-scope permite limitar a visibilidade dos nomes de âncora a uma determinada subárvore.

​CSS font-variant-emoji

A propriedade CSS font-variant-emoji oferece uma maneira de controlar entre glifos de emoji coloridos (estilo emoji) e monocromáticos (estilo 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 ponto de código 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 pseudodestaque, em vez da cadeia de elementos. O resultado é um modelo mais intuitivo para herança de propriedades em destaques.

Para saber mais, leia a postagem do blog Mudanças de herança para estilização de seleção de CSS, 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 sejam usados em mais casos em que widgets de expandir/recolher 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

Adição de suporte para caixas de margem de página ao imprimir ou exportar um documento da Web 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 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 especiais de contador: page para o número da página atual e pages para o número total de páginas.

Suporte a @property e sintaxe <string>

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

Suporte a currentcolor na sintaxe de cores relativas

Permite cores relativas em CSS (usando a palavra-chave from) para usar 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 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 os apps da Web isolados estabeleçam comunicações diretas do protocolo de controle de transmissão (TCP) e do protocolo de datagrama do usuário (UDP) com dispositivos e sistemas de rede além de ouvir e aceitar conexões recebidas.

Isentar o cabeçalho Speculation-Rules das restrições da CSP

Atualiza a integração entre regras de especulação e CSP para que a CSP seja aplicada apenas a <script type=speculationrules>, e não ao cabeçalho Speculation-Rules. As políticas de script da CSP protegem contra a injeção de scripts em HTML, e o modelo de ameaça da CSP não se relaciona a 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

Faz a conciliação das APIs FedCM e Storage Access ao tornar uma concessão anterior do FedCM um motivo válido para aprovar automaticamente uma solicitação de acesso ao armazenamento.

Quando um usuário concede permissão para usar a identidade dele com um provedor de identidade (IdP) de terceiros em uma parte confiável (RP), muitos IdPs exigem cookies de terceiros para funcionar corretamente e com segurança. Essa proposta visa atender a esse requisito de maneira particular e segura, atualizando as verificações de permissão da API Storage Access (SAA) para aceitar não apenas a concessão de permissão dada por um solicitação de acesso ao armazenamento, mas também a concessão de permissão dada por uma solicitação da FedCM.

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

Valor de COOP noopener-allow-popups

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

Nesses casos, pode ser útil para um documento garantir que o abridor não possa criar scripts, mesmo que o documento de abertura seja de mesma origem. O valor noopener-allow-popups da política de abertura entre origens permite que os documentos definam esse comportamento.

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

Permite que os executores de script da 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 privada limita o número de contribuições de histograma que podem ser incorporadas em um único relatório agregável, descartando as contribuições extras. Os chamadores do armazenamento compartilhado podem contornar o limite invocando outra operação de armazenamento compartilhado. No entanto, os chamadores da API Protected Audience não têm armazenamento persistente, então perdem as contribuições excedentes no final do leilão. Essa mudança é neutra em relação à privacidade, já que as contribuições da API ainda são limitadas pelo mesmo orçamento de privacidade.

Devido ao padding, cada relatório da audiência protegida terá um payload maior, mesmo que não precise 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 relaxamento do analisador

Com essa mudança, o analisador de HTML permite tags extras em <select>, além de <option>, <optgroup> e <hr>.

Essa mudança oferece suporte ao recurso personalizável <select>, mas está sendo implementada primeiro porque pode ser feita separadamente e apresenta alguns riscos de compatibilidade, sobre os quais 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 corte definidas pelo usuário em saídas de shader 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 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 do canvas. Isso inclui os membros de GPU device, format, usage, viewFormats, colorSpace, toneMapping e alphaMode. Conforme discutido na questão 4828, os apps da Web podem usar esse recurso para detectar se o canvas HDR é compatível com o WebGPU.

WebHID em workers dedicados

Ativa o WebHID em contextos de worker dedicados. Isso permite realizar E/S pesada e processamento de dados de um dispositivo HID em uma linha de execução separada, ajudando a reduzir o impacto na performance da linha de execução principal.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Uma API que configura codificadores WebRTC para escalonar frames de entrada se eles forem maiores que os maxWidth e maxHeight especificados. Essa API é semelhante à scaleResolutionDownBy, mas as restrições de resolução são expressas em termos absolutos (por exemplo, 640 x 360) em vez de relativos (por exemplo, reduzir em 2), evitando condições de disputa relacionadas à mudança do tamanho do frame de entrada on the fly.

Novos testes de origem

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

Estatísticas de 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 WebAudio.

API Summarizer

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

Descontinuações e remoções

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

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

Remova a propriedade de posicionamento de âncora CSS inset-area

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

Remover a capacidade de desativar BeforeunloadEventCancelByPreventDefault

O recurso BeforeunloadEventCancelByPreventDefault foi lançado no Chrome 117, mas há uma política corporativa que permite desativar essa flag. A política empresarial será removida no Chrome 131.

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

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