Salvo indicação em contrário, as mudanças a seguir se aplicam à versão do canal estável do Chrome 124 para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados aqui pelos links fornecidos ou na lista em ChromeStatus.com. O Chrome 124 está estável desde 16 de abril de 2024. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store para Android.
Quer apenas os destaques? Confira Novidades no Chrome 124.
Alterações no navegador e Ferramentas para desenvolvedores
Instalação universal
Torne qualquer página instalável, mesmo as que não atendem aos critérios atuais de instalação do PWA.
Contêineres de rolagem com foco no teclado
Melhora a acessibilidade, tornando os contêineres de rolagem focalizáveis usando a navegação de foco
sequencial. Antes dessa mudança, a tecla Tab não foca os controles de rolagem,
a menos que tabIndex
seja explicitamente definido como 0 ou mais.
Ao tornar os controles de rolagem focalizáveis por padrão, os usuários que não podem (ou não querem) usar um mouse poderão focar o conteúdo recortado usando a tecla Tab e as teclas de seta do teclado. Esse comportamento será ativado somente se o botão de rolagem não tiver filhos focalizáveis do teclado.
Esse recurso será lançado aos poucos a partir do Chrome 124 e estará disponível para todos os usuários a partir do Chrome 125.
Roláveis focalizáveis do teclado | Bug 40113891 de rastreamento | Entrada em ChromeStatus.com | Especificações
Solicitação de permissões para a API Web MIDI
Esse recurso controla o acesso à API Web MIDI por trás de uma solicitação de permissões. Antes, o uso de mensagens SysEx com a API Web MIDI exige uma permissão explícita do usuário.A partir do Chrome 125, todo o acesso à API Web MIDI exige uma permissão do usuário.
Esse recurso será lançado aos poucos a partir do Chrome 124 e estará disponível para todos os usuários a partir do Chrome 125.
Bug 40063295 de rastreamento | Entrada em ChromeStatus.com | Especificações
HTML e DOM
O atributo writingsuggestions
Os navegadores estão começando a oferecer sugestões de escrita aos usuários à medida que eles digitam em vários campos editáveis na Web. Embora isso geralmente seja útil para os usuários, há casos em que os desenvolvedores podem querer desativar a assistência de gravação fornecida pelo navegador, como extensões ou sites que oferecem funcionalidades semelhantes próprias.
O novo atributo writingsuggestions
tem valores de true
ou false
que
permitem que os desenvolvedores ativem ou desativem as sugestões de gravação fornecidas pelo navegador. O
estado do atributo de um elemento também pode ser herdado de elementos ancestrais,
permitindo que os desenvolvedores controlem essa capacidade por elemento, por documento ou subdocumento.
Entrada em ChromeStatus.com | Especificações
Carregando
Dica do cliente Sec-CH-UA-Form-Factors
Essa dica fornece informações ao servidor sobre os formatos do user agent. Ela retorna um ou mais dos seguintes valores de formato:
- Computador: um user agent executado em um computador pessoal.
- Setor automotivo: um user agent incorporado em um veículo, em que o usuário pode ser responsável por operar o veículo e não conseguir acessar detalhes pequenos.
- Dispositivo móvel: dispositivo pequeno orientado ao toque, geralmente transferido para a pessoa do usuário.
- Tablet: um dispositivo sensível ao toque maior do que "dispositivo móvel" e que normalmente não é carregado na pessoa de um usuário.
- XR: dispositivos imersivos que ampliam ou substituem o ambiente ao redor do usuário.
- EInk: um dispositivo caracterizado por atualizações de tela lentas e resolução limitada ou nenhuma cor.
- Relógio: um dispositivo móvel com uma tela pequena (normalmente com menos de duas polegadas), realizado de uma maneira que o usuário possa olhar para ele rapidamente.
Entrada em ChromeStatus.com | Especificações
Permissão de acesso à rede privada para relaxar conteúdo misto
Para estabelecer conexões com dispositivos em uma rede local que não têm nomes
globalmente exclusivos e, portanto, não podem receber certificados TLS, esse recurso
introduz uma nova opção a fetch()
para declarar a intent de um desenvolvedor de se comunicar com
esse dispositivo. Isso inclui um novo recurso controlado por política para bloquear o acesso de cada site
a esse recurso e novos cabeçalhos para que a resposta de simulação do servidor
forneça mais metadados.
Entrada em ChromeStatus.com | Especificações
Cabeçalho da solicitação HTTP priority
Isso adiciona o cabeçalho priority
a todas as solicitações HTTP com as informações de prioridade no momento do envio.
A RFC 9218 (esquema de priorização extensível para HTTP) define um cabeçalho de solicitação HTTP
priority
a ser usado para sinalizar a prioridade de solicitação para origens (e
intermediários). Ele também define processos de negociação e frames no nível do protocolo para HTTP/2 e HTTP/3 para transportar as mesmas informações de prioridade.
O cabeçalho só pode sinalizar a prioridade inicial de um recurso quando ele foi solicitado pela primeira vez, enquanto os mecanismos baseados em frames permitem modificar a prioridade após o fato.
O cabeçalho pode operar de ponta a ponta nos servidores de origem (e fornecer um mecanismo para que a origem substitua a prioridade se reconhecida por intermediários), enquanto os frames se limitam a operar em um nível de link.
Esse recurso serve especificamente para oferecer suporte ao esquema de priorização baseada em cabeçalho.
Bug 40252001 de rastreamento | Entrada em ChromeStatus.com | Especificações
Bloqueio de renderização de documentos
Esse recurso permite que os autores bloqueiem a renderização de um documento até que o conteúdo essencial seja analisado, garantindo uma primeira exibição consistente em todos os navegadores. Sem esse recurso, o estado da primeira exibição depende da heurística do rendimento do analisador, que pode variar entre os navegadores.
Isso é especialmente importante para transições de visualização em que o estado do DOM analisado no primeiro frame pode mudar drasticamente a transição criada.
Esse recurso implementa uma sintaxe <link rel=expect href="#id">
, que permite que um elemento do link faça referência a outro elemento esperado na página. A
renderização é bloqueada até que o elemento esperado seja totalmente analisado. Isso
substitui a implementação anterior de um atributo HTML que permite que todo
o documento seja bloqueado pela renderização.
Entrada em ChromeStatus.com | Especificações
Encapsulamento de chave X25519Kyber768 para TLS
Protege o tráfego TLS atual do Chrome contra futura criptoanálise quântica implantando o algoritmo de contrato de chave resistente ao quântico Kyber768.
Este é um contrato de chaves híbrido X25519 e Kyber768 baseado em um padrão IETF. Essa especificação e esse lançamento estão fora do escopo do W3C. Esse contrato de chave será lançado como uma criptografia TLS e precisa ser transparente para os usuários.
Como proteger o tráfego do Chrome com um Kyber KEM híbrido | Bug 40910498 de rastreamento | Entrada em ChromeStatus.com | Especificações
Mídia
jitterBufferTarget
atributo
O atributo jitterBufferTarget
permite que os aplicativos especifiquem uma duração
desejada em milissegundos de mídia para que o buffer de instabilidade RTCRtpReceiver
seja retido. Isso influencia a quantidade de armazenamento em buffer feito pelo user agent, o que,
por sua vez, afeta as retransmissões e a recuperação de perda de pacotes. Alterar o valor
desejado permite que os apps controlem o equilíbrio entre o atraso de reprodução e o
risco de ficar sem frames de áudio ou vídeo devido à instabilidade da rede.
Rastreamento de bug no 324276557 | Entrada em ChromeStatus.com | Especificações
APIs Web
API WebSocketStream
A API WebSocket fornece uma interface JavaScript para o protocolo WebSocket RFC6455. Embora tenha sido bem executado, ele é estranho do ponto de vista da ergonomia e não tem o recurso importante de pressão de retorno. O objetivo da API WebSocketStream é resolver essas deficiências integrando os streams WhatWG com a API WebSocket.
WebSocketStream: integração de streams com a API WebSocket | Bug 41470216 de rastreamento | Entrada em ChromeStatus.com | Especificações
setHTMLUnsafe
e parseHTMLUnsafe
Os métodos setHTMLUnsafe
e parseHTMLUnsafe
permitem que o DOM de sombra declarativa
seja usado no JavaScript. Esses métodos também oferecem uma maneira mais fácil de analisar imperativamente o HTML no DOM, em comparação com innerHTML
ou DOMParser
.
Entrada em ChromeStatus.com | Especificações
API Streams: iteração assíncrona ReadableStream
As APIs de fluxos fornecem primitivos onipresentes e interoperáveis para criar,
compor e consumir fluxos de dados. Essa mudança adiciona suporte ao
protocolo iterável assíncrono à API ReadableStream,
permitindo que fluxos legíveis sejam usados como origem de loops await...of
.
Erro de rastreamento 40612900 | Entrada em ChromeStatus.com | Especificações
pageswap
evento
O evento pageswap
é disparado no objeto da janela de um documento quando uma navegação
substitui o documento por um novo. O evento fornece informações de ativação sobre a navegação (type
, NavigationHistoryEntry
para o novo documento).
Se a navegação tiver uma transição de visualização entre documentos, o evento será enviado antes de capturar o estado do documento antigo. Isso permite que o desenvolvedor configure o estado antigo capturado para a transição com base nas informações de ativação da navegação e no estado visual atual do documento antigo.
Rastreamento do bug no 41495176 | Entrada em ChromeStatus.com | Especificações
Adições à API Attribution Reporting
Os recursos foram adicionados à API Attribution Reporting para criar outras funções de depuração com suporte à análise de relatórios de depuração de falhas, melhorar a ergonomia da API oferecendo suporte a um campo para especificar a plataforma de registro preferida e melhorar a privacidade.
Picture-in-picture do documento: adicionar opção para ocultar o botão "Voltar à guia"
Isso adiciona um novo parâmetro (disallowReturnToOpener
) à API
Document
picture-in-picture que, quando definido como verdadeiro, indica ao navegador que
ele não pode mostrar um botão na janela picture-in-picture para que o usuário
volte à guia que o abre.
Embora ter um botão para retornar à guia de abertura sempre faça sentido no caso do vídeo picture-in-picture (o stream de vídeo pode ser retornado ao elemento de vídeo na guia inicial), esse nem sempre é o caso para experiências picture-in-picture de documentos. Isso dá aos desenvolvedores mais controle sobre a experiência do usuário quando determinam que esse botão não faz sentido para o caso de uso.
Documentação do picture-in-picture do documento | Entrada em ChromeStatus.com | Especificação
Renderização e gráficos
SVG context-fill
e context-stroke
Implementa um recurso SVG que permite usar as palavras-chave context-fill
e context-stroke
ao especificar as propriedades de preenchimento e traço. Isso afeta apenas
as subárvores do SVG que são instanciadas com um elemento <use>
e os elementos <marker>
que são instanciados usando a propriedade marker
em um elemento
<path>
. Nessas circunstâncias, context-fill
e context-stroke
são
resolvidos para o valor das propriedades fill
e stroke
no <use>
ou
<path>
.
Entrada em ChromeStatus.com | Especificações
WebGPU: suporte a ServiceWorker e SharedWorker
O suporte ao ServiceWorker e ao SharedWorker foi adicionado à WebGPU, alinhando-se aos recursos WebGL existentes.
Os service workers ativam os recursos off-line e o processamento em segundo plano para a WebGPU. Isso significa que os apps da Web com muitos gráficos ou as extensões do Chrome podem armazenar recursos em cache e realizar cálculos mesmo quando o usuário não está interagindo ativamente com a página.
Os workers compartilhados permitem que várias guias ou contextos de extensão coordenem e compartilhem recursos da WebGPU. Isso leva a uma performance mais suave e um uso mais eficiente do hardware gráfico do usuário.
Rastreamento do bug no 41494731 | Entrada em ChromeStatus.com | Especificações
Testes de origem em andamento
No Chrome 124, você pode ativar os novos testes de origem a seguir.
Teste de descontinuação para eventos de mutação
Eventos de mutação, incluindo DOMSubtreeModified
, DOMNodeInserted
, DOMNodeRemoved
, DOMNodeRemovedFromDocument
, DOMNodeInsertedIntoDocument
e DOMCharacterDataModified
, podem prejudicar o desempenho da página e também aumentar significativamente a complexidade da adição de novos recursos à Web. Essas
APIs foram descontinuadas da especificação em 2011 e substituídas (em 2012)
pela API Mutation Observer, que tem um comportamento muito melhor.
O suporte a eventos de mutação será desativado por padrão a partir do Chrome 127 por volta de 30 de julho de 2024. É preciso migrar o código para a API Mutation Observer antes dessa data para evitar falhas no site. Se você precisar de mais tempo, inscreva-se no teste de descontinuação de eventos de mutação para reativar o recurso por tempo limitado em um determinado site. Ela pode ser usada até o Chrome 134, válida até 25 de março de 2025.
Como alternativa, uma política corporativa MutationEventsEnabled
também pode ser usada para
a mesma finalidade, até o Chrome 134.
Teste de origem | Bug 40268638 de rastreamento | Entrada em ChromeStatus.com | Especificações
Descontinuações e remoções
Esta versão do Chrome apresenta as descontinuações e remoções a seguir. Acesse ChromeStatus.com para conferir listas de descontinuações e remoções.
Não há descontinuações ou remoções no Chrome 124.
Leia mais
Quer saber mais? Confira estes recursos adicionais.