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 computadores ou na Google Play Store no Android.
CSS
Esta versão adiciona 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 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 <details> e <summary>
elementos 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.
Caixas de margem @page
Adicione 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-rule, incluindo a propriedade content. Os contadores também são aceitos para numeração de páginas. A especificação define dois nomes de contador especiais: page para o número da página atual e pages para o número total de páginas.
Suporte a `@property` para a sintaxe <string>
Suporte ao nome do componente de sintaxe <string> para propriedades personalizadas registradas.
Suporte a currentcolor na sintaxe de cor relativa
Permita que cores relativas em 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 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 Isolados da Web estabeleçam comunicações diretas do protocolo de controle de transmissão (TCP) e do protocolo de datagramas 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 de CSP
Atualiza a integração entre regras de especulação e CSP para que o CSP apenas
se aplique a <script type=speculationrules>, e não ao Speculation-Rules
cabeçalho. 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 está relacionado a 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, tornando 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 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 tem como objetivo 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 fornecida por um prompt de acesso ao armazenamento, mas também a concessão de permissão fornecida por um prompt do FedCM.
Uma propriedade importante desse mecanismo é limitar a concessão a casos explicitamente permitidos pela RP com a política de permissões do FedCM, aplicando um controle por frame para a RP e impedindo a vigilância passiva pelo IdP além dos recursos que o FedCM já concede.
Valor noopener-allow-popups de COOP
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 possam abrir e criar scripts de páginas de outro aplicativo de mesma origem.
Nesses casos, pode ser útil que um documento garanta que o abridor não possa criar scripts, mesmo que o documento do abridor seja da mesma origem. O valor noopener-allow-popups da política Cross-Origin-Opener-Policy permite que os documentos definam esse comportamento.
API Private Aggregation: aumentar o limite de contribuição para 100 para chamadores da 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 outras contribuições. Os chamadores de armazenamento compartilhado podem contornar o limite invocando outra operação de armazenamento compartilhado. No entanto, os chamadores da 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 preenchimento, cada relatório de público-alvo da Protected Audience 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.
Relaxamento do analisador de seleção
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 de GPU opcional clip-distances que permite definir distâncias de corte 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 CAD.
WebGPU: GPUCanvasContext getConfiguration()
Depois que GPUCanvasContext configure() for chamado com um dicionário de configuração, você poderá usar o método GPUCanvasContext getConfiguration() para verificar a configuração do contexto da tela. Ele inclui membros device, format, usage, viewFormats, colorSpace, toneMapping e alphaMode da GPU.
Conforme discutido no problema 4828,
os apps da Web podem usá-lo
para detectar se a tela HDR é compatível com a 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 no desempenho da linha de execução principal.
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
Uma API que configura codificadores WebRTC para dimensionar frames de entrada se eles forem maiores 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, 640 x 360) em vez de termos relativos (por exemplo, reduzir escala vertical em 2), evitando disputas relacionadas à mudança do tamanho do frame de entrada em tempo real.
Novos testes de origem
No Chrome 131, você pode participar dos 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 o 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 descontinuações e remoções. Acesse 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 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 que essa flag seja desativada à força. A política corporativa 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, eles removeram essa opção e a substituíram pelo atributo info do GPUAdapter. Assim, os desenvolvedores da Web podem receber o mesmo valor de GPUAdapterInfo de maneira síncrona.