Chrome 132

Data de lançamento da versão estável:14 de janeiro de 2025

A menos que indicado de outra forma, as mudanças a seguir se aplicam à versão do canal estável do Chrome 132 para Android, ChromeOS, Linux, macOS e Windows.

HTML e DOM

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

Antes, chamar showPopover() ou showModal() em um pop-up ou caixa de diálogo que fica 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. A partir do Chrome 132, essas situações agora geram InvalidStateError.

Rastreamento do bug #373684393 | Entrada do ChromeStatus.com | Especificação

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 está 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, <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.

Rastreamento do bug #41494780 | Entrada do ChromeStatus.com | Especificação

Correção da seleção isCollapsed no shadow DOM

A seleção "isCollapsed" precisa retornar "true" se e somente se a âncora e o foco forem os mesmos. Isso precisa ser verdadeiro, independentemente de a seleção começar ou terminar dentro de uma árvore de luz ou de sombra.

Demo | Bug de rastreamento #40400558 | Entrada do ChromeStatus.com | Especificação

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.

Rastreamento do bug #346521300 | Entrada do ChromeStatus.com | Especificação

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.

MDN writing-mode | Bug de rastreamento #40501131 | Entrada do ChromeStatus.com | Especificação

Carregando

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

Um método bytes() foi adicionado à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 receber o corpo da solicitação e da resposta.

Rastreamento do bug #340206277 | Entrada do ChromeStatus.com | Especificação

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 de localhost, ele será aplicado a todas as solicitações de localhost subsequentes, independentemente da porta.

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

Rastreamento do bug #41251622 | Entrada do ChromeStatus.com

Mídia

Capturar todas as telas

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

Chamar getDisplayMedia() várias vezes exige 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() melhora em todas essas frentes.

Esse recurso está disponível apenas para computadores.

Documento de design | Bug de rastreamento #40216442 | Entrada do ChromeStatus.com | Especificação

Element Capture

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 elemento específico.

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 obstrução são excluídos da captura.

Demo | Rastreamento do bug #270230413 | Entrada do ChromeStatus.com | Especificação

APIs Web

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 realinhe com a interface Body, fornecendo o acessório bytes() na interface PushMessageData também.

MDN PushMessageData: método bytes() | Bug de rastreamento #373336950 | Entrada do ChromeStatus.com | Especificação

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. O problema foi corrigido, e o recurso continua sendo lançado com o Chrome 132.

Roladores com foco no teclado | Bug de rastreamento #40113891 | Entrada do ChromeStatus.com | Especificação

API Device Posture

Essa API ajuda os desenvolvedores a detectar a postura atual de um dispositivo dobrável. A postura do dispositivo é a posição física em que um dispositivo é mantido, que pode ser derivada de sensores, além do ângulo.

Desde a melhoria da usabilidade de um site evitando a área de uma dobra até permitir casos de uso inovadores para a Web, conhecer a postura de um dispositivo pode ajudar os desenvolvedores a adaptar o conteúdo a diferentes dispositivos.

O conteúdo pode ser consumido e navegado mesmo quando o dispositivo não está plano. Nesse caso, o desenvolvedor pode querer fornecer um layout diferente dependendo do estado de postura em que o dispositivo está sendo usado.

Repositório do Git | Bug de rastreamento #40124716 | Entrada do ChromeStatus.com | Especificação

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.

Rastreamento do bug #367440966 | Entrada do ChromeStatus.com | Especificação

Caractere curinga da 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 * (coringa).

Entrada do ChromeStatus.com | Especificação

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.

Demo | Bug de rastreamento #370694829 | Entrada do ChromeStatus.com | Especificação

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 arquivo e diretório no IndexedDB para recuperar o acesso ao mesmo conteúdo mais tarde.

O acesso ao sistema de arquivos foi enviado para a versão para computador do Chrome 86. Com o Chrome 132, ele está disponível no Android e na WebView.

A API File System Access | Bug de rastreamento #40091667 | Entrada do ChromeStatus.com | Especificação

API WebAuthn Signal

Permite que as partes confiáveis da WebAuthn sinalizem informações sobre credenciais existentes de volta aos 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.

Demo | Bug de rastreamento #361751877 | Entrada do ChromeStatus.com | Especificação

Renderização e gráficos

WebGPU: mesclagem de texturas flutuantes de 32 bits

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

Rastreamento do bug #369649348 | Entrada do ChromeStatus.com | Especificação

WebGPU: expor GPUAdapterInfo de GPUDevice

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

Rastreamento do bug #376600838 | Entrada do ChromeStatus.com | Especificação

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 de usos da textura de origem que sejam válidos com o formato de visualização e específicos 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.

Rastreamento do bug #363903526 | Entrada do ChromeStatus.com | Especificação

Testes de origem

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 de forma imediata em arquivos JavaScript. As informações serão codificadas como comentários mágicos.

Teste de origem | Explicação | Rastreamento do bug #42203853 | Entrada do ChromeStatus.com

Document-Isolation-Policy

O 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.

Teste de origem | Bug de rastreamento #333029146 | Entrada do ChromeStatus.com | Especificação

Suspensões de uso e exclusões

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.

Entrada do ChromeStatus.com | Especificação

Remover APIs de tela cheia HTMLVideoElement com prefixo

As APIs de tela cheia HTMLVideoElement com prefixo 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 oferece suporte para as APIs sem prefixo há alguns anos.

O Chrome 132 remove o seguinte de HTMLVideoElement:

  • O atributo webkitSupportsFullscreen.
  • O atributo webkitDisplayingFullscreen.
  • O método webkitEnterFullscreen().
  • O método webkitExitFullscreen(). Observe a diferença entre as maiúsculas e minúsculas de "S" em FullScreen.
  • O método webkitEnterFullScreen().
  • O método webkitExitFullScreen().

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

Entrada do ChromeStatus.com

Leitura adicional

Quer saber mais? Confira estes outros recursos.

Fazer o download do Google Chrome

Faça o download do Chrome para Android, computador ou iOS.