Chrome 139

Data de lançamento da versão estável:5 de agosto de 2025

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

CSS e interface

Curto-circuito var() e attr()

Quando o substituto não é usado, as funções var() e attr() são avaliadas sem procurar ciclos nesse substituto.

Entrada do ChromeStatus.com

Compatibilidade com o descritor font-feature-settings na regra @font-face

Esse recurso é compatível com a sintaxe baseada em string para font-feature-settings, conforme definido em CSS Fonts Level 4. Tags de recursos inválidas ou não reconhecidas serão ignoradas de acordo com a especificação. Não há suporte para formas binárias ou não padrão.

À medida que as fontes OpenType são mais adotadas, esse aprimoramento melhora o controle tipográfico, reduz a redundância e oferece suporte a uma abordagem mais escalonável e moderna para web design.

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

Funções personalizadas de CSS

As funções personalizadas são semelhantes às propriedades personalizadas, mas, em vez de retornar um único valor fixo, elas retornam valores com base em outras propriedades personalizadas, parâmetros e condicionais.

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

Continuar executando transições ao mudar para o valor de transição inicial

Quando as propriedades relacionadas à transição mudam, elas só afetam as transições iniciadas recentemente. Isso significa que, se você mudar as propriedades de transição, a menos que também mude as propriedades com animações de transição ativas, essas animações vão continuar com a duração e a aceleração especificadas anteriormente.

O Chrome cancelava incorretamente as transições quando a propriedade de transição era definida como none, mesmo que não as cancelasse se você mudasse apenas o transition-duration. Essa mudança torna o Chrome consistente com o Safari e o Firefox, permitindo que as transições ativas continuem sendo executadas até que o valor da propriedade mude, acionando uma nova atualização de transição.

Entrada do ChromeStatus.com | Especificação

Modelagem de cantos (corner-shape, superellipse, squircle)

Ative os cantos de estilo, além do border-radius atual, expressando a forma e a curvatura do canto como uma superelipse.

Isso permite formas como squircles, entalhes e colheres, além de animações entre elas.

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

Adicionar a propriedade e o descritor font-width e transformar font-stretch em um alias legado

Suporte ao atributo assíncrono para o elemento SVG <script>

A interface SVGScriptElement no SVG 2.0 apresenta o atributo async, semelhante ao HTMLScriptElement. Esse atributo permite que os scripts sejam executados de forma assíncrona, melhorando o desempenho e a capacidade de resposta dos aplicativos da Web que usam SVG.

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

O comando de invocador request-close

Os elementos de caixa de diálogo podem ser fechados por vários mecanismos. Às vezes, os desenvolvedores querem impedir o fechamento. Para isso, as caixas de diálogo acionam um evento de cancelamento. Originalmente, isso só era acionado por uma solicitação de fechamento (por exemplo, uma tecla ESC pressionada). Recentemente, uma função JavaScript requestClose() foi adicionada, que também aciona o evento de cancelamento.

O comando request-close traz essa nova capacidade para a API de comandos do invocador declarativo.

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

Correção de candidato prioritário para fixação de rolagem

Muda o algoritmo de fixação de rolagem. Em vez de selecionar o candidato de prioridade como âncora, escolha o candidato como o escopo ou a raiz do algoritmo de seleção de âncora regular, que seleciona o elemento mais profundo na tela como a âncora.

Entrada do ChromeStatus.com

Dispositivo

Melhorias na performance da detecção de profundidade com WebXR

Expõe vários mecanismos novos para personalizar o comportamento do recurso de detecção de profundidade em uma sessão WebXR, com o objetivo de melhorar o desempenho da geração ou do consumo do buffer de profundidade.

Os principais mecanismos expostos são: a capacidade de solicitar o buffer de profundidade bruto ou suavizado, a capacidade de solicitar que o tempo de execução pare ou retome o fornecimento do buffer de profundidade e a capacidade de expor um buffer de profundidade que não se alinha exatamente com a visualização do usuário, para que o user agent não precise realizar reprojeções desnecessárias a cada frame.

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

DOM

Permitir mais caracteres nas APIs DOM JavaScript

O analisador HTML sempre (ou há muito tempo) permitiu que elementos e atributos tivessem uma grande variedade de caracteres e nomes válidos, mas as APIs DOM JavaScript para criar os mesmos elementos e atributos são mais rigorosas e não correspondem ao analisador.

Essa mudança flexibiliza a validação das APIs DOM do JavaScript para corresponder ao analisador HTML.

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

Gráficos

WebGPU: compatibilidade com texturas 3D para formatos compactados BC e ASTC

Os recursos texture-compression-bc-sliced-3d e texture-compression-astc-sliced-3d do WebGPU adicionam suporte a texturas 3D para formatos compactados BC e ASTC, respectivamente.

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

Confirmação de pagamento seguro (SPC)

A API securePaymentConfirmationAvailability

Essa é uma API JavaScript que oferece uma maneira mais fácil de verificar se o recurso de confirmação de pagamento seguro (SPC, na sigla em inglês) está disponível. Com essa API, a única maneira de determinar a disponibilidade do SPC era criar um PaymentRequest com os parâmetros necessários, o que é complicado e difícil no caso em que um desenvolvedor quer verificar o SPC antes de começar a processar um pagamento.

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

Confirmação de pagamento seguro: chaves vinculadas ao navegador

Adiciona uma assinatura criptográfica extra às declarações de confirmação de pagamento seguro e à criação de credenciais. A chave privada correspondente não é sincronizada entre dispositivos. Isso ajuda os desenvolvedores da Web a atender aos requisitos de vinculação de dispositivos para transações de pagamento.

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

IA no dispositivo

API Web Speech no dispositivo

Esse recurso adiciona suporte ao reconhecimento de fala no dispositivo à API Web Speech, permitindo que os sites garantam que nem o áudio nem a fala transcrita sejam enviados a um serviço de terceiros para processamento.

Os sites podem consultar a disponibilidade do reconhecimento de fala no dispositivo para idiomas específicos, pedir aos usuários que instalem os recursos necessários para o reconhecimento de fala no dispositivo e escolher entre o reconhecimento de fala no dispositivo ou baseado na nuvem, conforme necessário.

Entrada do ChromeStatus.com | Especificação

Limpar o nome da janela para navegações entre sites que mudam o grupo de contexto de navegação

Limpa o valor da propriedade window.name quando a navegação muda os grupos de contexto de navegação para evitar o vazamento de informações que podem ser usadas como um vetor de rastreamento.

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

Rede

Reduzir as técnicas de impressão digital nas informações do cabeçalho Accept-Language

Reduz a quantidade de informações que a string de valor do cabeçalho Accept-Language expõe em solicitações HTTP e em navigator.languages. Em vez de enviar uma lista completa dos idiomas preferidos do usuário em todas as solicitações HTTP usando o cabeçalho Accept-Language, o Chrome envia apenas o idioma preferido do usuário.

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

Randomizar a alocação de portas TCP no Windows

Esse lançamento ativa a aleatorização de porta TCP em versões do Windows (2020 ou mais recentes) em que não esperamos ver problemas com a reutilização de portas anteriores ocorrendo muito rápido (causando rejeição devido a tempos limite na reutilização de portas). O problema de reutilização rápida de portas surge do paradoxo do aniversário, em que a probabilidade de escolher aleatoriamente uma porta já vista converge rapidamente para 100% para cada nova porta escolhida em comparação com a reutilização de portas em um modelo sequencial.

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

Desempenho

Congelamento mais rápido em segundo plano no Android

Reduz o tempo para congelar páginas em segundo plano (e os trabalhadores associados) de cinco minutos para um minuto no Android.

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

Segurança

Disparar evento de erro para worker bloqueado pela Política de Segurança de Conteúdo (CSP)

Faz com que o Chrome esteja em conformidade com a especificação, verificando o CSP durante a busca e disparando o evento de erro de forma assíncrona, em vez de gerar uma exceção quando o script executa "new Worker(url)" ou "new SharedWorker(url)".

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

WebRTC

Nível de áudio para frames codificados em RTC

Esse recurso expõe à Web o nível de áudio de um frame codificado transmitido usando RTCPeerConnection e exposto usando a transformação codificada do WebRTC.

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

APIs Web

Extensões de escopo de apps da Web

Adiciona um campo de manifesto do app da Web scope_extensions que permite que os apps da Web estendam o escopo para outras origens.

Isso permite que sites que controlam vários subdomínios e domínios de nível superior sejam apresentados como um único web app.

Exige que as origens listadas confirmem a associação com o web app usando um arquivo de configuração .well-known/web-app-origin-association.

Bug de rastreamento #detail?id=1250011 | Entrada do ChromeStatus.com | Especificação

Detecção de tipo MIME JSON compatível com a especificação

O Chrome agora reconhece todos os tipos MIME JSON válidos, conforme definido pela especificação mimesniff do WHATWG. Isso inclui qualquer tipo MIME cujo subtipo termine com +json, além de application/json e text/json. Essa mudança garante que as APIs e os recursos da Web que dependem da detecção de JSON se comportem de maneira consistente com o padrão da plataforma da Web e outros navegadores.

Entrada do ChromeStatus.com | Especificação

WebGPU core-features-and-limits

O recurso core-features-and-limits significa que um adaptador e um dispositivo WebGPU oferecem suporte aos principais recursos e limites da especificação.

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

API Crash Reporting: especifique crash-reporting para receber apenas relatórios de erros

Esse recurso garante que os desenvolvedores recebam apenas relatórios de falhas especificando o endpoint chamado crash-reporting. Por padrão, os relatórios de falha são enviados ao endpoint default, que recebe muitos outros tipos de relatórios além dos de falha. Os desenvolvedores podem fornecer um URL separado para o endpoint conhecido chamado crash-reporting, direcionando os relatórios de falhas para lá em vez do endpoint default.

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

Testes de origem

API Prompt

Uma API projetada para interagir com um modelo de linguagem de IA usando entradas de texto, imagem e áudio. Ele oferece suporte a vários casos de uso, desde a geração de legendas de imagens e a realização de pesquisas visuais até a transcrição de áudio, a classificação de eventos sonoros, a geração de texto seguindo instruções específicas e a extração de informações ou insights de texto. Ele oferece suporte a saídas estruturadas que garantem que as respostas sigam um formato predefinido, geralmente expresso como um esquema JSON, para aumentar a conformidade da resposta e facilitar a integração perfeita com aplicativos downstream que exigem formatos de saída padronizados.

Essa API também é exposta nas extensões do Chrome. Essa entrada de recurso rastreia a exposição na Web. Uma política corporativa (GenAILocalFoundationalModelSettings) está disponível para desativar o download do modelo subjacente, o que tornaria essa API indisponível.

Teste de origem | Postagem no blog sobre o teste de origem | Bug de rastreamento nº 417530643 | Entrada do ChromeStatus.com

Trabalhadores compartilhados com ciclo de vida estendido

Isso adiciona uma nova opção, extendedLifetime: true, ao construtor SharedWorker. Isso solicita que o worker compartilhado seja mantido ativo mesmo depois que todos os clientes atuais forem descarregados. O principal caso de uso é permitir que as páginas realizem trabalhos assíncronos que exigem JavaScript depois que uma página é descarregada, sem precisar depender de um service worker.

Teste de origem | Postagem do blog sobre o teste de origem | Bug de rastreamento nº 400473072 | Entrada do ChromeStatus.com

Entrada de performance de SoftNavigation

Expõe as heurísticas de navegação suave (experimental) para desenvolvedores da Web, usando PerformanceObserver e a linha do tempo de performance.

Esse recurso informa duas novas entradas de performance:

  • soft-navigation, para interações do usuário que navegam pela página. Define um novo timeOrigin para ajudar a segmentar a linha do tempo de performance.
  • interaction-contentful-paint, que gera relatórios sobre o desempenho de carregamento das interações (além da próxima renderização), usado como LCP para navegações suaves.

Teste de origem | Postagem do blog sobre o teste de origem | Bug de rastreamento nº 1338390 | Entrada do ChromeStatus.com | Especificação

Mediação imediata da autenticação da Web

Um modo de mediação para navigator.credentials.get() que faz com que a interface de login do navegador seja mostrada ao usuário se houver uma chave de acesso ou senha para o site que o navegador conhece imediatamente. Caso contrário, ele rejeita a solicitação com NotAllowedError se não houver uma credencial disponível. Isso permite que o site evite mostrar uma página de login se o navegador puder oferecer uma opção de credenciais de login que provavelmente serão bem-sucedidas, ao mesmo tempo em que permite um fluxo de página de login para casos em que não há essas credenciais.

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

Atributo de bloqueio de renderização de taxa de frames completa

Adiciona um novo token de bloqueio de renderização de taxa de frames completa aos atributos de bloqueio. Quando o renderizador é bloqueado com o token de taxa de frames completa, ele funciona com uma taxa de frames menor para reservar mais recursos para carregamento.

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

Modo de compatibilidade do WebGPU

Adiciona um subconjunto de inclusão opcional e levemente restrito da API WebGPU capaz de executar APIs de gráficos mais antigas, como OpenGL e Direct3D11. Ao ativar esse modo e obedecer às restrições dele, os desenvolvedores podem estender o alcance dos aplicativos WebGPU para muitos dispositivos mais antigos que não têm as APIs de gráficos modernas e explícitas exigidas pelo WebGPU principal.

Teste de origem | Bug de rastreamento nº 40266903 | Entrada do ChromeStatus.com | Especificação

Descontinuações e remoções

Parar de enviar o cabeçalho "Purpose: prefetch" de pré-buscas e pré-renderizações

Agora que as pré-busca e pré-renderizações estão usando o cabeçalho Sec-Purpose para pré-busca e pré-renderizações, vamos remover o cabeçalho legado "Purpose: prefetch", que ainda está sendo transmitido. Isso vai ficar atrás de uma flag de recurso/ chave de interrupção para evitar problemas de compatibilidade.

Isso será limitado à pré-busca e à pré-renderização de regras de especulação, <link rel=prefetch> e <link rel=prerender> não padrão do Chrome.

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

Remover o suporte para o macOS 11

O Chrome 138 é a última versão com suporte para o macOS 11. A partir do Chrome 139, o macOS 11 não será mais compatível.

Em Macs com o macOS 11, o Chrome vai continuar funcionando, mostrando uma barra de informações de aviso, mas não vai ser atualizado. Para atualizar o Chrome, é necessário atualizar o computador para uma versão compatível do macOS.

Para novas instalações do Chrome 139, será necessário o macOS 12 ou mais recente.

Entrada do ChromeStatus.com

Remover a detecção automática do conjunto de caracteres ISO-2022-JP em HTML

problemas de segurança conhecidos relacionados à detecção automática de conjuntos de caracteres para ISO-2022-JP. Como o uso é muito baixo e o Safari não oferece suporte à detecção automática de ISO-2022-JP, o suporte será removido do Chrome 139.

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