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.