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. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 132 está na versão Beta desde 13 de novembro de 2024. Baixe a versão mais recente em Google.com para computador ou na Google Play Store para Android.
CSS
Nesta versão, adicionamos dois novos recursos de CSS.
Posicionamento de âncora CSS: permitir anchor-size() nas propriedades inset e margin
Originalmente, o anchor-size() só era permitido em propriedades de dimensionamento. A especificação foi alterada para permitir anchor-size() em encartes e margens também.
Modos de escrita lateral do CSS
Suporte às palavras-chave sideways-rl e sideways-lr para a propriedade writing-mode do CSS. sideways-rl e sideways-lr são úteis para escrever texto não CJK verticalmente. 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 exige vários gestos do usuário,
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 todos esses aspectos.
Esse recurso está disponível apenas para computadores.
Eventos de ativação/desativação de caixa de diálogo
É útil saber quando os elementos <dialog> abrem e fecham, e o popover
já tem ToggleEvent, que é enviado quando um popover abre ou fecha.
Antes, para detectar quando um <dialog> era aberto, era necessário registrar um observador de mutação
para verificar se estava aberto. No entanto, isso dá muito trabalho, e um evento
seria mais fácil.
Essa mudança incorpora o mesmo ToggleEvent que os popovers 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, botão ou closewatcher), ele precisa enviar um ToggleEvent com
newState=closed.
Captura de elementos
Dado um vídeo MediaStreamTrack obtido por meios preexistentes para iniciar
a captura de guias, a captura de elementos permite mudar a faixa para capturar apenas uma subárvore
do DOM começando em um determinado elemento.
A API tem alguma semelhança com a API Region Capture, mas oferece mais flexibilidade para aplicativos, porque o conteúdo oclusor e ocluído são excluídos da captura.
Recursos de autorização da FedCM
Isso agrupa alguns recursos que podem ser usados por provedores de identidade (IdP) para implementar fluxos de autorização, como permitir que um usuário conceda acesso à agenda dele a uma parte confiável (RP). Especificamente:
- O IdP precisa mostrar uma solicitação personalizada para a permissão (API Continuation).
- O RP precisa de uma maneira extensível de comunicar ao IdP o que ele quer acessar (API de parâmetros).
- O RP precisa personalizar ou suprimir o texto referente ao compartilhamento de "nome, endereço de e-mail e foto do perfil" pelo IdP porque, nessa situação, ele está pedindo informações diferentes (API Fields).
- O IdP pode querer usar um endpoint diferente para implementar o fluxo de autorização (vários configURLs).
- Algumas contas podem estar qualificadas para apenas 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 a FedCM:
- Modo: o modo
activepermite que os sites chamem o FedCM com um clique em um botão (por exemplo, clicar em um botão Fazer login no IdP), o que exige que o FedCM garanta que sempre vai responder com uma interface do usuário visível. Chamar a API FedCM no modo ativo leva os usuários a fazer login no provedor de identidade (IdP) quando eles estão 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 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 que é 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 um Uint8Array, para ler. O método bytes() melhora a
ergonomia de recebimento do corpo de solicitação e resposta.
Acesso ao sistema de arquivos para Android e WebView
Com essa API, os desenvolvedores podem criar apps eficientes que interagem com outros apps (não 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 nos arquivos e pastas selecionados pelo usuário. Além de ler e gravar arquivos, essa API permite abrir um diretório e enumerar o conteúdo dele, 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 lançado para computadores no Chrome 86 e, com o Chrome 132, está disponível no Android e no WebView.
Ignorar Strict-Transport-Security para localhost
Os cabeçalhos de resposta Strict-Transport-Security (STS) podem causar problemas para servidores da Web 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 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 na Web para um pacote de software local. Se um listener local definir Strict-Transport-Security em uma resposta de host local, isso será aplicado a todas as solicitações subsequentes de host local, independente da porta.
O Chrome 132 resolve esse problema ignorando os cabeçalhos Strict-Transport-Security
em respostas de URLs 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.
Lista de permissões curinga padrão da política de permissões da API Private State Token
O acesso à API Private State Token é controlado por 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 * (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 vendem buffers de bytes como Uint8Arrays. O Chrome 132 se realinha com a interface Body ao fornecer o acessador bytes() na interface PushMessageData também.
Consultas salvas em sharedStorage.selectURL
Agora, o sharedStorage.selectURL() permite que as consultas sejam salvas e reutilizadas por página. Os dois orçamentos de carregamento por página são cobrados na primeira vez que uma consulta salva é executada, mas não nas 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 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 mostrado. No Chrome 132, essas situações agora geram InvalidStateError.
API WebAuthn Signal
Permite que as partes confiáveis do WebAuthn sinalizem informações sobre credenciais existentes para provedores de armazenamento de credenciais, para que credenciais incorretas ou revogadas possam ser atualizadas ou removidas da interface do provedor e do sistema.
Saiba mais sobre a API Signal para chaves de acesso no Chrome para computador.
WebGPU: combinação de texturas de ponto flutuante de 32 bits
O recurso de GPU float32-blendable torna as texturas de GPU com formatos r32float, rg32float e rgba32float combináveis.
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 do WebGPU para solicitar um subconjunto dos 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. Ao adicionar um campo de uso à criação da visualização de textura, o usuário pode solicitar um subconjunto dos usos da textura de origem que são válidos com o formato da visualização e específicos para o uso pretendido da visualização de textura.
As implementações do 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
O Document-Isolation-Policy permite que um documento ative o crossOriginIsolation para
si mesmo, sem precisar implantar COOP ou COEP, e independente do status de
crossOriginIsolation da página. A política é apoiada pelo isolamento de processos. Além disso, os sub-recursos de origem cruzada não CORS do documento serão
carregados sem credenciais ou precisarão ter um cabeçalho CORP.
Dicas de compilação explícita com comentários mágicos
Com esse recurso, é possível 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.
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 dois recursos.
navigator.storage não é mais um EventTarget
O navigator.storage foi transformado em um EventTarget para o evento de pressão de armazenamento,
que nunca passou da fase de protótipo. Esse código morto está sendo removido e, como resultado, navigator.storage não vai mais estender EventTarget.
Remover APIs de tela cheia prefixadas HTMLVideoElement
As APIs de tela cheia prefixadas de HTMLVideoElement foram descontinuadas no Chrome
Elas foram substituídas pela API Element.requestFullscreen(), que foi lançada sem prefixo no Chrome 71, em 2018. Em 2024, a maioria dos navegadores já oferece suporte a 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 diferenciação entre letras maiúsculas e minúsculas na palavra "FullScreen". - O método
webkitEnterFullScreen(). - O método
webkitExitFullScreen().
Esses métodos agora são apenas alias para a API moderna. O uso deles diminuiu constantemente ao longo dos anos.