Chrome 126

Data de lançamento estável:11 de junho de 2024

Salvo indicação em contrário, as mudanças a seguir se aplicam à versão do canal estável do Chrome 126 para Android, ChromeOS, Linux, macOS e Windows.

CSS

Transições de visualização de vários documentos para navegações de mesma origem

Anteriormente, era necessário reestruturar 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 de mesma origem.

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

@view-transition {
  navigation: auto;
}

As transições de visualização de vários documentos usam os mesmos elementos básicos e princípios das transições de visualização de um 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 no 1372584 | Entrada ChromeStatus.com | Especificação

APIs Web

Extensão de sinal de gatilho da API Gamepad

Amplia a interface GamepadHapticActuator para expor o recurso trigger-rumble na Web para gamepads compatíveis. Essa extensão permitirá que aplicativos da Web que aproveitam a API Gamepad também vibrem os acionadores dos dispositivos gamepad que vêm equipados com essa funcionalidade.

Rastreamento do bug 40834175 | Entrada 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 abram várias páginas ao mesmo tempo. O modo com guias adiciona uma barra de guia a apps da Web independentes no ChromeOS, permitindo que várias guias sejam abertas de uma só vez.

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

Como rastrear o bug 40598974 | Entrada ChromeStatus.com | Especificação

Método toJSON() para GeolocationCoordinates e GeolocationPosition

Adiciona métodos .toJSON() às interfaces 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 ChromeStatus.com | Especificação

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

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

Demonstração | Rastreamento do bug no 1171318 | Entrada ChromeStatus.com

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

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

Antes, quando a API era chamada usando a atribuição attributionsrc como parte de vários elementos HTML (como <img>, <script>, <a> ou window.open), ela ignorou o atributo da política do referenciador 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êiner MP4 no MediaRecorder.

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

MediaRecorder | Entrada ChromeStatus.com | Especificação

Parâmetros signal e application do OpusEncoderConfig

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

signal pode ser "auto", "music" ou "voice". Ela 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 de fala, a reprodução fiel da entrada original ou a latência mínima.

Entrada ChromeStatus.com | Especificação

JavaScript

Suporte do visualViewport onscrollend

O evento JavaScript scrollend é disparado para indicar que uma operação de rolagem chegou ao fim.

A interface visualViewport inclui um manipulador de eventos onscrollend que precisa ser invocado quando uma operação de rolagem no visualViewport é encerrada. O Chrome já oferece suporte à adição de um listener de eventos de rolagem usando visualViewport.addEventListener("scrollend"). Isso também possibilita adicionar um listener de eventos usando visualViewport.onscrollend.

Rastreamento do bug no 325307785 | Entrada 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, lançada como parte da descontinuação de cookies de terceiros (3PCD, na sigla em inglês), 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. Precisamos restaurar o comportamento anterior de navigator.cookieEnabled, que indicava apenas se os cookies foram ativados ou desativados para o site, e confiar na função document.hasStorageAccess de fornecedores diferentes para indicar se o acesso a cookies não particionados é possível.

Rastreamento do bug no 335553590 | Entrada ChromeStatus.com | Especificação

Acessibilidade

Suporte para o framework de acessibilidade de automação da interface no Windows

Aplicativos assistivos modernos no Microsoft Windows usam a estrutura de acessibilidade de automação da interface do usuário da plataforma para interoperar com interfaces de usuário de outros aplicativos. Até agora, o Chromium era compatível com as antigas estruturas Microsoft Active Accessibility (MSAA) e IAccessible2 (IA2) para essa finalidade, 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 da interface (UIA, na sigla em inglês) no Windows, facilitando a comunicação das ferramentas de acessibilidade com o navegador. Lançaremos um lançamento gradual para a versão estável a partir do Chrome 126. Isso vai ativar o Voice Access em todos os navegadores baseados no Chromium e vai melhorar a experiência do usuário em todas as ferramentas de acessibilidade baseadas na UIA, como Narrator e Lupa.

Introdução ao suporte à UIA no Windows

Novos testes de origem

FedCM como um sinal de confiança para a API Storage Access

Reconcilia as APIs FedCM e Storage Access fazendo um FedCM anterior conceder um motivo válido para aprovar automaticamente uma solicitação de acesso ao armazenamento.

Quando um usuário concede permissão para usar a identidade com um provedor de identidade (IdP, na sigla em inglês) de terceiros em uma parte confiável (RP), muitos IdPs exigem que os cookies de terceiros funcionem de maneira correta e segura. O objetivo desta proposta é atender a esse requisito de maneira particular e segura, atualizando as verificações de permissão da API Storage Access (SAA) para aceitar não apenas a concessão de permissão fornecida por um prompt de acesso ao armazenamento, mas também a concessão de permissão fornecida por um prompt do FedCM.

Uma propriedade importante desse mecanismo é limitar a concessão a casos explicitamente permitidos pela RP por meio da política de permissões do FedCM, aplicando um controle por frame para o RP e impedindo a vigilância passiva do IdP além dos recursos que o FedCM já concede.

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

Desativação das visualizações de mídia

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

O Chrome fornecerá visualizações em tempo real da entrada de câmera e microfone sempre que as permissões de câmera e microfone forem solicitadas pelos sites. Elas também estarão disponíveis nas informações da página do site.

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

Teste de origem | Rastreamento do bug no 330762482 | Entrada ChromeStatus.com

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

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

Rastreamento do bug 40262526 | Entrada 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ão permite uma UX de solicitação de permissão aprimorada para os usuários, bem como um caminho de recuperação do estado de permissão "negado" para sites.

Entrada ChromeStatus.com

Descontinuações e remoções

Retirar e remover a sintaxe 'assert' da declaração de importação

Descontinuação e remoção da palavra-chave assert 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ção

Leia mais

Quer saber mais? Confira estes outros recursos.

Fazer o download do Google Chrome

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