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
não é mais um EventTarget
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.