Chrome 126

Data de lançamento da versão estável: 11 de junho de 2024

Salvo indicação em contrário, as seguintes mudanças se aplicam ao Chrome 126 Stable lançamento do canal para Android, ChromeOS, Linux, macOS e Windows.

CSS

Transições de visualização entre documentos para navegações de mesma origem

Antes, você precisava reprojetar seu site para um SPA para usar a API View Transitions. Entretanto, esse não é mais o caso. As transições de visualização agora são ativadas por padrão para navegações de mesma origem. É possível criar uma transição de visualização entre dois documentos diferentes que têm a mesma origem.

Para permitir uma transição de visualização de vários documentos, as duas extremidades precisam ativar a opção. Para fazer isso, use a regra @view-transition e defina o descritor navigation como auto.

@view-transition {
  navigation: auto;
}

As transições de visualização entre documentos usam os mesmos elementos básicos e princípios que as transições de visualização no mesmo documento. Os elementos que têm um view-transition-name aplicado são capturados, e você pode personalizar as animações usando animações CSS.

Transições suaves com a API View Transition | Como rastrear o bug 1372584 | Entrada de ChromeStatus.com | Especificação

APIs Web

Extensão de ruído de gatilho da API Gamepad

Amplia a interface GamepadHapticActuator para expor o trigger-rumble na Web para gamepads compatíveis. Essa extensão permite que aplicativos da Web que usam a API Gamepad também vibrem os gatilhos de dispositivos de gamepad que vêm com essa funcionalidade.

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

Apps da Web com guias do ChromeOS

Os PWAs em uma janela independente só podem ter uma página aberta por vez. Alguns apps esperam que os usuários tenham muitas páginas abertas ao mesmo tempo. O modo de guias adiciona uma faixa de guias a apps da Web independentes no ChromeOS, permitindo que várias guias sejam abertas ao mesmo tempo.

O recurso adiciona um novo modo de exibição de "tabbed" e um novo campo de manifesto ao permitir personalizações na barra de guias.

Bug 40598974 de rastreamento | Entrada de ChromeStatus.com | Especificação

Método toJSON() para GeolocationCoordinates e GeolocationPosition

Adiciona os métodos .toJSON() a GeolocationCoordinates e GeolocationPosition. Isso permite a serialização desses objetos com JSON.stringify().

Entrada ChromeStatus.com

Superinterface de IDL da Web WebGLObject

Esse recurso expõe o tipo WebGLObject nos mesmos contextos em que a API WebGL é exposta: na linha de execução principal e nos workers.

Entrada do ChromeStatus.com | Especificação

Reativação da API CloseWatcher e fechamento de solicitações para <dialog> e popover=""

A API CloseWatcher permite processar solicitações de fechamento, como a tecla ESC em computadores ou o gesto ou botão "Voltar" no Android, de maneira uniforme. Esse recurso foi originalmente enviado no Chrome 120, mas foi desativado devido uma interação inesperada com <dialog>. Ele foi reativado no Chrome 126 após algumas melhorias no comportamento para minimizar os problemas visto lá.

Demo | Bug de rastreamento #1171318 | Entrada do ChromeStatus.com

API Attribution Reporting: política de referenciador para solicitações attributionsrc

As solicitações attributionsrc são tratadas como outros sub-recursos da página.

Anteriormente, quando a API era chamada pelo uso da atribuição attributionsrc como parte de vários elementos HTML (como <img>, <script>, <a> ou window.open), ela ignorava o atributo de política de redirecionamento no nível do recurso definido no elemento <html>.

Com essa mudança, a solicitação attributionsrc passará a aplicar a mesma política de referenciador definida no nível do recurso <img>, <script>, <a> ou window.open.

Isso dá às adtechs mais controle sobre se querem ou não ser mais ou menos restritivas em relação às informações do referenciador nas solicitações attributionsrc.

Entrada ChromeStatus.com

Mídia

Suporte a contêineres MP4 para MediaRecorder

Adiciona compatibilidade com a transmissão de áudio e vídeo em contêineres MP4 com o MediaRecorder.

MediaRecorder | Entrada de ChromeStatus.com | Especificação

Parâmetros signal e application do OpusEncoderConfig

Os parâmetros OpusEncoderConfig.signal e OpusEncoderConfig.application são mapeados diretamente para botões de codificador específicos da implementação. Isso permite que a Web autores fornecem dicas sobre qual tipo de dados está sendo codificado e em qual contexto em que os dados estão sendo usados.

signal pode ser "auto", "music" ou "voice". Ele configura o codificador para ter o melhor desempenho na codificação do tipo especificado de dados. application pode ser "voip", "audio" ou "lowdelay". Ele configura o codificador para favorecer a inteligibilidade da fala, a reprodução fiel da entrada original ou a latência mínima.

Entrada ChromeStatus.com | Especificações

JavaScript

visualViewport onscrollend

O evento JavaScript scrollend é acionado para indicar que uma operação de rolagem acabou.

A interface visualViewport inclui um manipulador de eventos onscrollend que precisa ser invocado quando uma operação de rolagem na visualViewport é concluída. O Chrome já oferece suporte à adição de um listener de eventos de rolagem usando visualViewport.addEventListener("scrollend"). Isso permite adicionar um listener de eventos usando visualViewport.onscrollend.

Rastreamento do bug #325307785 | Entrada do ChromeStatus.com

Privacidade

Alinhar navigator.cookieEnabled à especificação

navigator.cookieEnabled indica se "o user agent tenta processar cookies" em um determinado contexto. Uma mudança no Chrome, enviada como parte da descontinuação dos cookies de terceiros (3PCD), faria com que ele indicasse se o acesso a cookies não particionados é possível, fazendo com que ele retorne "false" na maioria dos iframes entre sites. Devemos restaurar o comportamento anterior de navigator.cookieEnabled, que indicava apenas se os cookies estavam ativados ou desativados para o site e dependia da função document.hasStorageAccess entre fornecedores para indicar se é possível acessar cookies não particionados.

Bug de rastreamento 335553590 | Entrada de ChromeStatus.com | Especificação

Acessibilidade

Suporte ao framework de acessibilidade de automação de interface no Windows

Aplicativos assistivos modernos no Microsoft Windows usam o framework de acessibilidade de automação da interface do usuário da plataforma para interoperar com outros aplicativos do Google Cloud. Até agora, o Chromium oferecia suporte ao framework Microsoft Active Accessibility (MSAA) e IAccessible2 (IA2) mais antigos para esse fim, o que levou a problemas com ferramentas de acessibilidade no Windows.

Para resolver esse problema, a Microsoft trabalhou com a equipe do Chrome para oferecer suporte direto ao framework de automação de interface (UIA) no Windows, facilitando a comunicação das ferramentas de acessibilidade com o navegador. Vamos lançar a versão estável de forma gradual, começando pela versão 126 do Chrome. Isso vai permitir que o Acesso por voz funcione em todos os navegadores baseados no Chromium e melhorar a experiência do usuário para todas as ferramentas de acessibilidade baseadas em UIA, como o Narrador e a Lupa.

Introdução ao suporte à UIA no Windows

Novos testes de origem

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 que cookies de terceiros funcionem de maneira correta e segura. Esta proposta visa satisfazer que de maneira particular e segura atualizando a API Storage Access (SAA) de permissão para não apenas aceitar a concessão da permissão uma solicitação de acesso ao armazenamento e também a permissão concedida por um FedCM prompt de comando.

Uma propriedade importante desse mecanismo é limitar a concessão a casos explicitamente pela política de permissões do FedCM, aplicando uma restrição para a parte restrita e impedindo a vigilância passiva do IdP além do recursos já concedidos pela FedCM.

Teste de origem | Explicação | Entrada de ChromeStatus.com

Desativação das prévias de mídia

Este teste de origem reversa exclui sites após o lançamento de prévias de mídia.

O Chrome vai fornecer visualizações em tempo real da entrada de câmera e microfone quando as permissões de câmera e microfone forem solicitadas por sites. Elas também estarão disponíveis no pageinfo do site.

Além disso, os usuários com vários dispositivos poderão selecionar uma câmera e um microfone no momento em que as permissões forem solicitadas, a menos que o site tenha solicitado um dispositivo específico por getUserMedia().

Teste de origem | Bug de rastreamento 330762482 | Entrada de ChromeStatus.com

FedCM: API de continuação, API de parâmetros, API Fields, vários configURLs, rótulos de conta personalizados

Os desenvolvedores podem começar a participar de um teste de origem para um pacote de recursos do FedCM para computador que pode incluir autorização. O pacote consiste na API Continuation do FedCM, na API Parameter, na API Fields, em vários configURLs e em rótulos de conta personalizados. Isso permite uma experiência semelhante a um fluxo de autorização OAuth que envolve uma caixa de diálogo de permissão fornecida pelo IdP.

Bug de rastreamento 40262526 | Entrada de ChromeStatus.com

Controle de permissão incorporado da página

Forneça um novo elemento HTML que interaja com o fluxo de permissão.

No momento, a solicitação de permissão é acionada diretamente do JavaScript, sem que o user agent tenha um sinal forte da intenção do usuário. Ter um elemento no conteúdo que o usuário usa para acionar o fluxo de permissões melhora a UX do aviso de permissão para os usuários, além de oferecer um caminho de recuperação do estado de permissão "negada" para sites.

Entrada do ChromeStatus.com

Suspensões de uso e remoções

Cancelamento e remoção da declaração de importação 'assert' de sintaxe

A palavra-chave assert foi descontinuada e removida em favor da nova palavra-chave with na sintaxe do atributo de importação.

Ou seja, import m from 'foo' assert { type: 'json' } agora vai gerar um SyntaxError, e os desenvolvedores precisam mudar para import m from 'foo' with { type: 'json' }.

Entrada ChromeStatus.com | Especificações

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.