Data de lançamento da versão estável:24 de junho de 2025
Salvo indicação em contrário, as mudanças a seguir se aplicam à versão 138 do canal estável do Chrome para Android, ChromeOS, Linux, macOS e Windows.
CSS e interface
Funções relacionadas a sinalização CSS: abs()
, sign()
As funções relacionadas a sinal abs()
e sign()
calculam várias funções relacionadas ao sinal do argumento.
A função abs(A)
contém um cálculo A e retorna o valor absoluto de A, como o mesmo tipo da entrada: se o valor numérico de A for positivo ou 0⁺, apenas A novamente; caso contrário, -1 * A.
A função sign(A)
contém um cálculo A e retorna -1 se o valor numérico de A for negativo, +1 se o valor numérico de A for positivo, 0⁺ se o valor numérico de A for 0⁺ e 0⁻ se o valor numérico de A for 0⁻. O tipo de retorno é um <number>
, consistente com o tipo do cálculo de entrada.
MDN Docs:abs() | Bug de rastreamento nº 40253181 | Entrada do ChromeStatus.com | Especificação
Notação funcional de progresso de interpolação: função CSS progress()
A notação funcional progress()
retorna um valor <number>
que representa a posição de um cálculo (o valor de progresso) entre dois outros cálculos (o valor inicial e o valor final do progresso). A função progress()
é uma função matemática.
Bug de rastreamento nº 40944203 | Entrada do ChromeStatus.com | Especificação
CSS sibling-index()
e sibling-count()
As funções sibling-index()
e sibling-count()
podem ser usadas como números inteiros em valores de propriedades CSS para estilizar elementos com base na posição deles entre os elementos irmãos ou no número total de elementos irmãos, respectivamente. Essas funções podem ser usadas diretamente como valores inteiros, mas de maneira mais interessante dentro de expressões calc()
.
Bug de rastreamento nº 40282719 | Entrada do ChromeStatus.com | Especificação
Palavra-chave de dimensionamento stretch
do CSS
Uma palavra-chave para propriedades de dimensionamento CSS (por exemplo, width
e height
) que permite que
os elementos cresçam para preencher exatamente o espaço disponível do bloco de contêiner. É semelhante a "100%", mas o tamanho resultante é aplicado à caixa de margem do elemento, em vez da caixa indicada por box-sizing
. Usar essa palavra-chave permite que o
elemento mantenha as margens e seja o maior possível. Uma versão sem prefixo de -webkit-fill-available
.
Bug de rastreamento nº 41253915 | Entrada do ChromeStatus.com | Especificação
Variável de ambiente CSS para escala de fonte no nível do SO
Expõe a escala de fonte preferida de um usuário ao CSS. Sem isso, não é prático para uma página detectar se o usuário mudou o tamanho da fonte preferido usando as preferências do sistema operacional. Essa variável de ambiente do CSS vai refletir a escala escolhida pelo usuário.
Bug de rastreamento nº 397737223 | Entrada do ChromeStatus.com | Especificação
Dispositivos
Web serial por Bluetooth no Android
Esse recurso permite que páginas da Web e apps da Web se conectem a portas seriais por Bluetooth em dispositivos Android.
O Chrome no Android agora oferece suporte à API Web Serial por Bluetooth RFCOMM. As políticas empresariais atuais (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
e SerialBlockedForUrls
) em outras plataformas são ativadas em estados future_on para Android. Todas as políticas, exceto
SerialAllowUsbDevicesForUrls
, serão ativadas após a ativação do recurso.
SerialAllowUsbDevicesForUrls
será ativada em um lançamento futuro, depois que o Android
oferecer compatibilidade com portas seriais com fio no nível do sistema.
Bug de rastreamento nº 375245353 | Entrada do ChromeStatus.com | Especificação
API Viewport Segments Enumeration
Com a API Viewport Segments, os desenvolvedores podem adaptar o layout da Web para dispositivos dobráveis. Os segmentos da janela de visualização definem a posição e as dimensões de uma região logicamente separada da janela. Os segmentos de viewport são criados quando a viewport é dividida por um ou mais recursos de hardware (como uma dobra ou uma dobradiça entre telas separadas) que atuam como um divisor. Os segmentos são as regiões da viewport que podem ser tratadas como logicamente distintas pelo desenvolvedor.
Bug de rastreamento nº 1039050 | Entrada do ChromeStatus.com | Especificação
JavaScript
Atualizar QuotaExceededError
para uma interface derivada de DOMException
Antes, quando a plataforma da Web queria informar que você tinha excedido a cota,
ela usava DOMException
com a propriedade name
específica definida como
QuotaExceededError
. No entanto, isso não permite transmitir informações adicionais.
Isso propõe remover "QuotaExceededError" da lista de nomes DOMException
integrados e, em vez disso, cria um nome de classe QuotaExceededError
na lista de DOMException
integrados e tem as propriedades opcionais adicionais quota
e requested
. Propomos que todas as instâncias de especificações que geram
"QuotaExceededError" DOMException
s sejam atualizadas para gerar
QuotaExceededError
s. Por enquanto, essas especificações deixariam as propriedades quota
e requested
no valor padrão de null
, mas elas poderiam ser atualizadas para incluir esses dados, se isso for útil para o caso de uso (e não for, por exemplo, um vazamento de privacidade).
Entrada do ChromeStatus.com | Especificação
APIs Web
API Translator
Uma API JavaScript que oferece recursos de tradução de idiomas para páginas da Web.
Os navegadores estão cada vez mais oferecendo tradução de idioma aos usuários. Esses recursos de tradução também podem ser úteis para desenvolvedores Web. Isso é
especialmente o caso quando as capacidades de tradução integradas do navegador não ajudam.
Uma política corporativa (GenAILocalFoundationalModelSettings
) está disponível para
desativar o download do modelo subjacente, o que tornaria essa API
indisponível.
MDN Docs | Bug de rastreamento nº 322229993 | Entrada do ChromeStatus.com | Especificação
API Language Detector
Uma API JavaScript para detectar o idioma de um texto com níveis de confiança.
A detecção de idiomas é um complemento importante da tradução. Isso pode ser combinado com a tradução, por exemplo, usando a entrada do usuário em um idioma desconhecido e traduzindo para um idioma de destino específico. Atualmente, os navegadores já têm recursos de detecção de idioma, e queremos oferecê-los aos desenvolvedores Web por meio de uma API JavaScript, complementando a API de tradução. Uma política corporativa (GenAILocalFoundationalModelSettings
) está disponível para desativar o download do modelo subjacente, o que tornaria essa API indisponível.
MDN Docs | Entrada do ChromeStatus.com | Especificação
API Summarizer
A API Summarizer é uma API JavaScript para produzir resumos do texto de entrada, com o suporte de um modelo de linguagem de IA. Espera-se que os navegadores e sistemas operacionais tenham cada vez mais acesso a um modelo de linguagem. Ao expor esse modelo integrado, evitamos que cada site precise fazer o download do próprio modelo de linguagem com vários gigabytes ou enviar texto de entrada para APIs de terceiros. A API de resumo, em particular, expõe
uma API de alto nível para interagir com um modelo de linguagem e resumir
entradas para vários casos de uso (GitHub) de maneira que não dependa do
modelo de linguagem específico em questão. Uma política corporativa
(GenAILocalFoundationalModelSettings
) está disponível para desativar o download do modelo
subjacente, o que tornaria essa API indisponível.
MDN Docs | Bug de rastreamento nº 351744634 | Entrada do ChromeStatus.com | Especificação
Fazer escape de <
e >
em atributos na serialização
Faça o escape de <
e >
nos valores de atributos na serialização.
Isso reduz o risco de ataques XSS de mutação, que ocorrem quando o valor de um atributo é interpretado como um token de tag de início após ser serializado e analisado novamente.
Entrada do ChromeStatus.com | Especificação
API Crash Reporting: is_top_level
e visibility_state
Esse recurso adiciona campos de string is_top_level
e visibility_state
ao
corpo da API Crash Reporting, que é enviado ao endpoint de relatórios padrão para
relatórios de falhas.
Entrada do ChromeStatus.com | Especificação
Disparar o evento pushsubscriptionchange
ao fazer uma nova assinatura
Aciona o evento pushsubscriptionchange
em service workers quando uma origem para
a qual uma inscrição por push existia no passado, mas que foi revogada devido a
uma mudança de permissão (de concedida para negar/padrão), recebe novamente a permissão de
notificação.
O evento será disparado com oldSubscription e newSubscription vazios.
Bug de rastreamento nº 407523313 | Entrada do ChromeStatus.com | Especificação
Multimídia
Adicionar suporte a metadados de orientação de frames de vídeo ao WebCodecs
Introduz os valores rotation: int
e flip: bool
a várias interfaces relacionadas a vídeo no WebCodecs para que os desenvolvedores possam trabalhar com fontes de frames que têm orientação (por exemplo, câmeras Android, determinadas mídias).
A interface VideoFrame
aumenta a capacidade de criar VideoFrames
com rotação e inversão arbitrárias, além de acessadores para essas informações no objeto VideoFrame.
O objeto VideoDecoderConfig
ganha campos de rotação e inversão que são emitidos automaticamente em objetos VideoFrame decodificados.
A classe VideoEncoder
ganha mecanismos para transmitir informações de rotação e inversão de encode()
para VideoDecoderConfig
emitido como parte de EncodedVideoChunkMetadata
. Se encode()
for chamado com frames de orientações diferentes, uma exceção não fatal será gerada. configure()
pode ser usado para
redefinir a orientação permitida.
Bug de rastreamento nº 40243431 | Entrada do ChromeStatus.com | Especificação
Desempenho
Adicione prefetchCache
e prerenderCache
ao cabeçalho Clear-Site-Data
Dois novos valores para o cabeçalho Clear-Site-Data
que ajudam os desenvolvedores a segmentar a limpeza do cache de pré-renderização e pré-busca: "prefetchCache"
e "prerenderCache"
.
Bug de rastreamento nº 398149359 | Entrada do ChromeStatus.com | Especificação
Regras de especulação: campo target_hint
Isso estende a sintaxe das regras de especulação para permitir que os desenvolvedores especifiquem o campo target_hint.
Esse campo fornece uma dica para indicar um destino navegável em que uma página pré-renderizada será ativada. Por exemplo, quando _blank é especificado como uma dica, uma página pré-renderizada pode ser ativada para uma página navegável aberta por window.open(). O campo não tem efeito na pré-busca.
A especificação permite que esse campo aceite qualquer string válida como nome ou palavra-chave de destino navegável como valor, mas esse lançamento aceita apenas uma das strings "_self"
ou "_blank"
. Se a dica não for especificada, ela será tratada como se "_self"
fosse especificado.
Bug de rastreamento nº 40234240 | Entrada do ChromeStatus.com | Especificação
Segurança
Política de integridade para scripts
A integridade de subrecursos (SRI, na sigla em inglês) permite que os desenvolvedores garantam que os recursos que pretendem carregar são realmente os que estão sendo carregados. Mas não há uma maneira de os desenvolvedores terem certeza de que todos os scripts foram validados usando a SRI.
O cabeçalho Integrity-Policy
permite que os desenvolvedores afirmem que todos os recursos de um determinado tipo precisam ser verificados quanto à integridade. Se um recurso desse
tipo for carregado sem metadados de integridade, a tentativa vai
falhar e acionar um relatório de violação.
Entrada do ChromeStatus.com | Especificação
Worker de serviço
Suporte do ServiceWorker para pré-busca de regras de especulação
Esse recurso ativa as pré-buscas controladas pelo ServiceWorker, ou seja, uma pré-busca de regras de especulação para URLs controlados por um Service Worker. Antes, a pré-busca era cancelada ao detectar um service worker de controle. Assim, a navegação subsequente para o destino de pré-busca era atendida pelo caminho sem pré-busca. Esse
recurso permite que a solicitação de pré-busca passe pelo gerenciador de
busca do service worker, e a resposta com a interceptação do service worker é armazenada em cache no
cache de pré-busca, resultando em uma navegação subsequente sendo exibida pelo
cache de pré-busca. Use a política corporativa
PrefetchWithServiceWorkerEnabled
para controlar esse recurso.
Bug de rastreamento nº 40947546 | Entrada do ChromeStatus.com | Especificação
Descontinuações e remoções
WebGPU: descontinuar o atributo GPUAdapter
isFallbackAdapter
Descontinua o atributo booleano GPUAdapter
isFallbackAdapter
da WebGPU, que
é redundante com o atributo booleano GPUAdapterInfo
isFallbackAdapter
.
Essa remoção futura é uma pequena mudança incompatível, já que a compatibilidade com adaptadores
de substituição ainda não foi implementada em nenhum navegador, resultando em ambos os
atributos isFallbackAdapter
retornando consistentemente um valor falso.
Bug de rastreamento nº 409259074 | Entrada do ChromeStatus.com | Especificação
Descontinuação da remoção de intervalos assíncronos para extensões de origem de mídia
O padrão de origem de mídia mudou há muito tempo para impedir o comportamento definido de forma ambígua envolvendo remoções de intervalos assíncronas:
SourceBuffer.abort()
não aborta mais as operaçõesSourceBuffer.remove()
.- A configuração
MediaSource.duration
não pode mais truncar a mídia armazenada em buffer.
Agora, as exceções são geradas nesses dois casos.
O Safari e o Firefox já enviaram esse comportamento há muito tempo. O Chromium é o último navegador com o comportamento antigo. Os contadores de uso mostram que cerca de 0,001% a 0,005% dos carregamentos de página atingiram o comportamento descontinuado. Se um site tiver esse problema, a reprodução poderá ser interrompida.
O uso de abort()
para cancelar remoções está aumentando. Portanto, é prudente resolver
essa descontinuação antes que mais usos incompatíveis apareçam.
Bug de rastreamento nº 40474569 | Entrada do ChromeStatus.com | Especificação