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 entre documentos para navegações de mesma origem

Antes, era necessário reestruturar o site para um SPA para usar a API View Transitions. Entretanto, esse não é mais o caso. As transições de visualização agora estã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 ativar uma transição de visualização entre documentos, as duas extremidades precisam aceitar. 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 das 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 | Bug de rastreamento nº 1372584 | Entrada do ChromeStatus.com | Especificação

APIs Web

Extensão trigger-rumble da API Gamepad

Estende a interface GamepadHapticActuator para expor o recurso de vibração do gatilho na Web para gamepads compatíveis. Essa extensão vai permitir que os aplicativos da Web que usam a API Gamepad também vibrem os gatilhos de dispositivos de gamepad equipados com essa funcionalidade.

Bug de rastreamento nº 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 com guias adiciona uma barra de guias aos 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 para permitir personalizações na barra de guias.

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

Método toJSON() para GeolocationCoordinates e GeolocationPosition

Adição de métodos .toJSON() às interfaces GeolocationCoordinates e GeolocationPosition. Isso permite a serialização desses objetos com JSON.stringify().

Entrada do ChromeStatus.com

Superinterface Web IDL do 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

Reativar a API CloseWatcher e fechar as solicitações para <dialog> e popover=""

A API CloseWatcher permite processar solicitações de fechamento, como a tecla ESC em plataformas para computador ou o gesto ou botão de voltar no Android, de maneira uniforme. Esse recurso foi lançado originalmente 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 | Bug de rastreamento nº 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 na página.

Anteriormente, 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 ignorava o atributo de política de referenciador no nível do recurso definido no elemento <html>.

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

Isso permite que as adtechs tenham mais controle sobre se querem ser mais ou menos restritivas em relação às informações de referenciador nas solicitações attributionsrc.

Entrada do ChromeStatus.com

Mídia

Suporte a contêineres MP4 para MediaRecorder

Adiciona suporte para multiplexar áudio e vídeo em contêineres MP4 com o MediaRecorder.

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

Parâmetros signal e application de OpusEncoderConfig

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

signal pode ser "auto", "music" ou "voice". Ele configura o codificador para o melhor desempenho na codificação do tipo de dados especificado. 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 do ChromeStatus.com | Especificação

JavaScript

Suporte para visualViewport onscrollend

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

A interface visualViewport inclui um manipulador de eventos onscrollend que precisa ser invocado quando uma operação de rolagem na visualViewport é encerrada. O Chrome já permite adicionar um listener de eventos scrollend usando visualViewport.addEventListener("scrollend"). Isso só possibilita adicionar um listener de eventos usando visualViewport.onscrollend.

Bug de rastreamento nº 325307785 | Entrada do ChromeStatus.com

Privacidade

Alinhar navigator.cookieEnabled com as especificações

Atualmente, 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 passar a depender da função document.hasStorageAccess entre fornecedores para indicar se é possível acessar cookies não particionados.

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

Acessibilidade

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

Os aplicativos de assistência modernos no Microsoft Windows usam o framework de acessibilidade de automação de interface da plataforma para interoperar com as interfaces do usuário de outros aplicativos. Até agora, o Chromium era compatível com os frameworks mais antigos Microsoft Active Accessibility (MSAA) e IAccessible2 (IA2) para essa finalidade, o que causava 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, na sigla em inglês) no Windows, facilitando a comunicação das ferramentas de acessibilidade com o navegador. Vamos iniciar um lançamento gradual para a versão estável, começando com o Chrome 126. Isso vai permitir que o Voice Access funcione em todos os navegadores baseados no Chromium e vai melhorar a experiência do usuário em todas as ferramentas de acessibilidade baseadas em UIA, como o Narrador e a Lupa.

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 anterior da FedCM 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 identidade dele com um provedor de identidade (IdP) de terceiros em uma parte confiável (RP), muitos IdPs exigem cookies de terceiros para funcionar de maneira correta e segura. Esta proposta visa 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 dada por um prompt de acesso ao armazenamento, mas também a concessão de permissão dada por um prompt do FedCM.

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

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

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

Esse teste de origem reverso exclui sites do lançamento das prévias de mídia.

O Chrome vai mostrar prévias em tempo real da entrada da câmera e do microfone quando as permissões forem solicitadas pelos sites. Elas também vão estar disponíveis nas informações da página 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 usando getUserMedia().

Teste de origem | Bug de rastreamento nº 330762482 | Entrada do ChromeStatus.com

FedCM: API Continuation, API Parameters, 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 da FedCM para computador que pode incluir autorização. O pacote consiste na API Continuation, na API Parameter, na API Fields, em várias configURLs e em rótulos de conta personalizados da FedCM. 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.

Bug de rastreamento nº 40262526 | Entrada do ChromeStatus.com

Controle de permissões incorporado à 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 pelo 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 melhora a UX da solicitação de permissão para os usuários, além de um caminho de recuperação do estado de permissão "negado" para os sites.

Entrada do ChromeStatus.com

Descontinuações e remoções

Descontinuar e remover a sintaxe "assert" da declaração de importação

Descontinuamos e removemos a 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 do ChromeStatus.com | Especificação

Leitura adicional

Quer saber mais? Confira estes recursos adicionais.

Fazer o download do Google Chrome

Baixe o Chrome para Android, computador ou iOS.