Beta do Chrome 132

Publicado em 13 de novembro 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 132 é uma versão Beta desde 13 de novembro de 2024. Faça o download da versão mais recente em Google.com para computadores ou na Google Play Store no Android.

CSS

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

Posicionamento de âncora do CSS: permitir anchor-size() nas propriedades inset e margin

Originalmente, anchor-size() só era permitido em propriedades de dimensionamento. A especificação foi alterada para permitir anchor-size() em insetos e margens também.

Modos de gravação lateral do CSS

Suporte a palavras-chave sideways-rl e sideways-lr para a propriedade CSS writing-mode. sideways-rl e sideways-lr são úteis para escrever texto não CJK na vertical. Eles não têm comportamentos favoráveis para idiomas CJK, ao contrário de vertical-rl e vertical-lr.

APIs Web

Capturar todas as telas

Capture todas as telas conectadas ao dispositivo usando getAllScreensMedia().

Chamar getDisplayMedia() várias vezes requer vários gestos do usuário, o que sobrecarrega o usuário com a escolha da próxima tela a cada vez, e não garante ao app que todas as telas foram selecionadas. O método getAllScreensMedia() melhorou em todos esses aspectos.

Esse recurso está disponível apenas para computadores.

Eventos de alternância de caixa de diálogo

É útil saber quando os elementos <dialog> são abertos e fechados, e popover já tem ToggleEvent, que é enviado quando um pop-up é aberto ou fechado. Antes, para detectar quando uma <dialog> é aberta, era necessário registrar um observador de mutação para verificar se ela estava aberta. No entanto, isso é muito trabalho, e um evento seria mais fácil.

Essa mudança incorpora o mesmo ToggleEvent que os pop-ups enviam, mas para elementos <dialog>: quando showModal ou show é chamado, o <dialog> envia um ToggleEvent com newState=open. Quando um <dialog> é fechado (usando o formulário, o botão ou o closewatcher), ele precisa enviar um ToggleEvent com newState=closed.

Captura de elementos

Considerando um MediaStreamTrack de vídeo obtido por meios preexistentes para iniciar a captura de guias, a captura de elementos permite que a faixa seja modificada para capturar apenas um subárvore do DOM a partir de um determinado elemento.

A API tem alguma semelhança com a API Region Capture, mas oferece maior flexibilidade para aplicativos, porque o conteúdo ocluído e o que causa a obstrução são excluídos da captura.

Recursos de autorização de FedCM

Ele agrupa alguns recursos que podem ser usados por provedores de identidade (IdPs) para implementar fluxos de autorização, como permitir que um usuário conceda acesso ao próprio calendário a uma parte confiável (RP). Especificamente:

  • O IdP precisa mostrar uma solicitação personalizada para a permissão (API de continuação).
  • O RP precisa de uma maneira extensível de comunicar ao IdP o que ele quer acessar (API de parâmetros).
  • O RP precisa ser capaz de personalizar ou suprimir o texto referente ao compartilhamento de "nome, endereço de e-mail e foto do perfil" do IdP, porque, nessa situação, ele está solicitando informações diferentes (API de campos).
  • O IdP pode querer usar um endpoint diferente para implementar o fluxo de autorização (vários configURLs).
  • Algumas contas podem estar qualificadas apenas para um dos fluxos de autenticação e autorização. Portanto, é necessário mostrar contas diferentes nos dois fluxos (API de rótulos da conta).

API FedCM Mode e API Use Other Account

Duas novas extensões para FedCM:

  • Modo: o modo active permite que os sites chamem o FedCM dentro de um clique de botão (por exemplo, clicando em um botão Fazer login no IdP), o que exige que o FedCM garanta que ele sempre responda com uma interface do usuário visível. Chamar a API FedCM no modo ativo faz com que os usuários façam login no provedor de identidade (IdP) quando estiverem desconectados. Além disso, como o modo ativo é chamado em um gesto explícito do usuário, a interface também é mais proeminente (por exemplo, centralizada e modal) em comparação com a interface do modo passivo, que não exige um requisito de gesto do usuário e pode ser chamada no carregamento da página.
  • Usar outra conta: com essa extensão, um IdP pode permitir que os usuários façam login em outras contas.

Busca: Request.bytes() e Response.bytes()

Adicione um método bytes() às interfaces Request e Response, que retorna uma promessa resolvida com um Uint8Array. Embora Request e Response tenham um método arrayBuffer(), não é possível ler diretamente de um buffer. Você precisa criar uma visualização, como uma Uint8Array, para ler. O método bytes() melhora a ergonomia de como o corpo da solicitação e da resposta é recebido.

Acesso ao sistema de arquivos para Android e WebView

Essa API permite que os desenvolvedores criem apps poderosos que interagem com outros apps (não da Web) no dispositivo do usuário usando o sistema de arquivos do dispositivo. Depois que um usuário concede acesso a um app da Web, essa API permite que o app leia ou salve mudanças diretamente em arquivos e pastas selecionados pelo usuário. Além de ler e gravar arquivos, essa API oferece a capacidade de abrir um diretório e enumerar o conteúdo, além de armazenar identificadores de arquivos e diretórios no IndexedDB para recuperar o acesso ao mesmo conteúdo mais tarde.

O acesso ao sistema de arquivos foi enviado para o Chrome 86 para computadores e, com o Chrome 132, está disponível no Android e na WebView.

Ignorar Strict-Transport-Security para localhost

Os cabeçalhos de resposta Strict-Transport-Security (STS) podem causar problemas para servidores da Web do localhost porque o STS é aplicado em todo o host, em todas as portas. Isso causa problemas de compatibilidade para desenvolvedores da Web que fazem testes locais. Isso também afeta os usuários finais que usam pacotes de software que geralmente iniciam servidores da Web localhost por motivos temporários. Por exemplo, a comunicação de um token de autenticação de um login da Web para um pacote de software local. Se um listener local definir Strict-Transport-Security em uma resposta do localhost, ele será aplicado a todas as solicitações do localhost subsequentes, independentemente da porta.

O Chrome 132 resolve esse problema ignorando os cabeçalhos Strict-Transport-Security em respostas de URLs de localhost.

Contêineres de rolagem com foco no teclado

O lançamento desse recurso (do Chrome 130) foi interrompido devido a uma regressão de acessibilidade. Isso foi corrigido, e o recurso continua sendo lançado com o Chrome 132.

Expressão regular de lista de permissões padrão da política de permissões da API Private State Tokens

O acesso à API Private State Tokens é restrito pelos recursos da Política de permissões. O Chrome 132 atualiza a lista de permissões padrão para os recursos private-state-token-issuance e private-state-token-redemption de self para * (caractere curinga).

PushMessageData::bytes()

A interface PushMessageData imita a interface Body, que foi alterada no início deste ano com um novo método bytes(), seguindo o princípio de que as APIs geralmente precisam vender buffers de bytes como Uint8Arrays. O Chrome 132 se realinhou com a interface Body, fornecendo o acionador bytes() na interface PushMessageData.

Consultas salvas em sharedStorage.selectURL

Agora, sharedStorage.selectURL() permite que as consultas sejam salvas e reutilizadas por página, em que os dois orçamentos por carregamento de página são cobrados na primeira vez que uma consulta salva é executada, mas não para execuções subsequentes da consulta salva durante o mesmo carregamento de página. Isso é feito com um parâmetro savedQuery nas opções de selectURL() que nomeia a consulta.

Gerar exceção para popovers e caixas de diálogo em documentos não ativos

Anteriormente, chamar showPopover() ou showModal() em um pop-up ou caixa de diálogo que está em um documento inativo falhava silenciosamente. Nenhuma exceção seria gerada, mas, como o documento está inativo, nenhum pop-up ou caixa de diálogo seria mostrada. No Chrome 132, essas situações agora geram InvalidStateError.

API WebAuthn Signal

Permite que as partes confiáveis da WebAuthn sinalizem informações sobre credenciais existentes para os provedores de armazenamento de credenciais, para que credenciais incorretas ou revogadas possam ser atualizadas ou removidas da interface do sistema e do provedor.

Saiba mais sobre a API Signal para chaves de acesso no Chrome para computador.

WebGPU: mesclagem de texturas de ponto flutuante de 32 bits

O recurso de GPU float32-blendable permite mesclar texturas de GPU com formatos r32float, rg32float e rgba32float.

WebGPU: expor GPUAdapterInfo de GPUDevice

O atributo adapterInfo do GPUDevice expõe o mesmo GPUAdapterInfo que o objeto GPUAdapter.

WebGPU: uso da visualização de textura

Adiciona um campo opcional à criação de visualização de textura da WebGPU para solicitar um subconjunto de flags de uso da textura de origem.

Por padrão, o uso da visualização de textura é herdado da textura de origem, mas há formatos de visualização que podem ser incompatíveis com o conjunto completo de usos herdados. Adicionar um campo de uso à criação de uma visualização de textura permite que o usuário solicite um subconjunto das utilizações da textura de origem que sejam válidas com o formato de visualização e específicas para o uso pretendido da visualização de textura.

As implementações da WebGPU também podem otimizar a criação de recursos de baixo nível e melhorar o desempenho ao usar visualizações com flags de uso mais especializadas.

Novos testes de origem

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

Document-Isolation-Policy

Document-Isolation-Policy permite que um documento ative o crossOriginIsolation para si mesmo, sem precisar implantar o COOP ou o COEP, e independentemente do status crossOriginIsolation da página. A política é apoiada pelo isolamento de processos. Além disso, os subrecursos de origem cruzada do documento que não são CORS serão carregados sem credenciais ou precisarão ter um cabeçalho CORP.

Dicas de compilação explícitas com comentários mágicos

Esse recurso permite anexar informações sobre quais funções precisam ser analisadas e compiladas em arquivos JavaScript. As informações serão codificadas como comentários mágicos.

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, suspensões de uso atuais e remoções anteriores.

Esta versão do Chrome remove dois recursos.

navigator.storage foi criado como um EventTarget para o evento de pressão de armazenamento, que nunca passou da fase de protótipo. Esse código inativo está sendo removido e, como resultado, navigator.storage não vai mais estender EventTarget.

Remoção das APIs de tela cheia HTMLVideoElement com prefixo

As APIs prefixadas de tela cheia do HTMLVideoElement foram descontinuadas no Chrome

Elas foram substituídas pela API Element.requestFullscreen(), que foi lançada sem prefixo no Chrome 71, em 2018. Desde 2024, a maioria dos navegadores tem suporte para as APIs sem prefixo há alguns anos.

O Chrome 132 remove os seguintes itens de HTMLVideoElement:

  • O atributo webkitSupportsFullscreen.
  • O atributo webkitDisplayingFullscreen.
  • O método webkitEnterFullscreen().
  • O método webkitExitFullscreen(). Observe a diferenciação entre maiúsculas e minúsculas da letra "S" em tela cheia.
  • O método webkitEnterFullScreen().
  • O método webkitExitFullScreen().

Esses métodos agora são apenas alias para a API moderna. O uso deles diminuiu gradualmente ao longo dos anos.