Chrome 140 beta

Data di pubblicazione: 6 agosto 2025

Se non diversamente indicato, le seguenti modifiche si applicano alla versione più recente del canale beta di Chrome per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o dall'elenco su ChromeStatus.com. Chrome 140 è in versione beta a partire dal 6 agosto 2025. Puoi scaricare l'ultima versione sul sito web ufficiale di Chrome per computer o sul Google Play Store su Android.

CSS e UI

Aritmetica tipizzata CSS

L'aritmetica tipizzata ti consente di scrivere espressioni in CSS come calc(10em / 1px) o calc(20% / 0.5em * 1px). Ciò è utile, ad esempio, nella tipografia, in quanto consente di convertire un valore digitato in uno non digitato e riutilizzarlo per le proprietà che accettano numeri. Un altro caso d'uso è la moltiplicazione del valore senza unità per un altro tipo. Ad esempio, puoi convertire da pixel a gradi.

Proprietà scroll-target-group

La proprietà scroll-target-group specifica se l'elemento è un contenitore di un gruppo di indicatori di scorrimento. Accetta uno dei seguenti valori:

  • "none": l'elemento non stabilisce un contenitore del gruppo di indicatori di scorrimento.
  • "auto": l'elemento stabilisce un contenitore del gruppo di indicatori di scorrimento che forma un gruppo di indicatori di scorrimento contenente tutti gli elementi di indicatori di scorrimento per i quali questo è il contenitore del gruppo di indicatori di scorrimento antenato più vicino.

La creazione di un contenitore di gruppi di indicatori di scorrimento consente a qualsiasi elemento HTML di ancoraggio con un identificatore di frammento all'interno di un contenitore di questo tipo di essere l'equivalente HTML degli pseudo-elementi ::scroll-marker. L'elemento di ancoraggio il cui target di scorrimento è attualmente in visualizzazione può essere stilizzato utilizzando la pseudo-classe :target-current.

Attiva counter() e counters() nel testo alternativo della proprietà content

Questa funzionalità aggiunge la possibilità di utilizzare counter() e counters() nel testo alternativo della proprietà content. In questo modo vengono fornite informazioni più significative per migliorare l'accessibilità.

Gli pseudo-elementi di transizione della visualizzazione ereditano più proprietà di animazione

L'albero pseudo della transizione Visualizzazione ora eredita una serie di proprietà di animazione:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Abilitare le transizioni di visualizzazione nidificate

Questa funzionalità consente alle transizioni di visualizzazione di generare un albero di pseudo-elementi nidificati anziché uno piatto. In questo modo, la transizione della visualizzazione appare più in linea con gli elementi originali e l'intento visivo. Consente il ritaglio, le trasformazioni 3D nidificate e l'applicazione corretta di effetti come opacità, mascheratura e filtri.

Propaga l'area visibile overscroll-behavior dalla radice

Questa modifica propaga overscroll-behavior dalla radice anziché dal corpo. Il gruppo di lavoro CSS ha deciso di non propagare le proprietà da <body> alla viewport. Le proprietà del riquadro vengono invece propagate dall'elemento radice (<html>). Pertanto, overscroll-behavior deve propagarsi dall'elemento radice. Tuttavia, Chrome ha un problema di lunga data: propaga overscroll-behavior dalla <body> anziché dalla radice. Questo comportamento non è interoperabile con altri browser. Questa modifica rende Chrome conforme alla specifica e interoperabile con altre implementazioni.

Opzione container ScrollIntoView

L'opzione del contenitore ScrollIntoViewOptions consente agli sviluppatori di eseguire un'operazione scrollIntoView che scorre solo il contenitore di scorrimento antenato più vicino. Ad esempio, il seguente snippet scorre solo il contenitore di scorrimento di target per portare target in visualizzazione, ma non scorre tutti i contenitori di scorrimento fino alla finestra.

target.scrollIntoView({container: 'nearest'});

Aggiungere la proprietà CSS caret-animation

Chromium supporta l'animazione della proprietà caret-color. Tuttavia, quando è animato, il comportamento di lampeggio predefinito del cursore interferisce con l'animazione.

La proprietà CSS caret-animation ha due valori possibili: auto e manual. auto indica il valore predefinito del browser (lampeggiante) e manual indica che lo sviluppatore controlla l'animazione del cursore. Inoltre, gli utenti che sono disturbati o hanno reazioni avverse a immagini lampeggianti possono disattivare il lampeggiamento con un foglio di stile utente.

L'API highlightsFromPoint

L'API highlightsFromPoint consente agli sviluppatori di interagire con gli highlight personalizzati. Rileva quali evidenziazioni esistono in un punto specifico di un documento. Questa interattività è utile per le funzionalità web complesse in cui più evidenziazioni possono sovrapporsi o esistere all'interno del DOM ombra. Fornendo un rilevamento preciso dei punti salienti basato su punti, l'API consente agli sviluppatori di gestire in modo più efficace le interazioni dinamiche con i punti salienti personalizzati. Ad esempio, gli sviluppatori possono rispondere ai clic o agli eventi di passaggio del mouse degli utenti su regioni evidenziate per attivare descrizioni comando personalizzate, menu contestuali o altre funzionalità interattive.

Modificare la tempistica della promessa di transizione della visualizzazione completata

L'attuale tempistica della promessa completata si verifica durante i passaggi del ciclo di vita del rendering. Ciò significa che il codice eseguito in seguito alla risoluzione della promessa viene eseguito dopo la produzione del frame visivo che rimuove la transizione della visualizzazione. Ciò può causare uno sfarfallio alla fine dell'animazione se lo script sposta gli stili per preservare uno stato visivamente simile. Questa modifica risolve il problema spostando i passaggi di pulizia di ViewTransition per l'esecuzione asincrona dopo il completamento del ciclo di vita.

Aggiungi l'attributo sorgente ToggleEvent

L'attributo source di un ToggleEvent contiene l'elemento che ha attivato l'attivazione di ToggleEvent, se applicabile. Ad esempio, se un utente fa clic su un elemento <button> con l'attributo popovertarget o commandfor impostato per aprire un popover, l'evento ToggleEvent attivato sul popover avrà l'attributo sorgente impostato sull'elemento <button> di chiamata.

Impedisci a SVG foreignObject di contaminare il canvas per gli URL blob

Tutti i browser supportano da tempo l'utilizzo di un elemento <img> con un'origine SVG in un canvas HTML drawImage. Tuttavia, il comportamento di contaminazione del canvas varia a seconda delle piattaforme. Tutti i browser contaminano il canvas quando l'origine SVG include un tag foreignObject e viene referenziata con un URI HTTP. Quando si fa riferimento allo stesso SVG tramite un URI dati, tutti i browser non contaminano il canvas. Tuttavia, quando viene utilizzato un URI blob, sia Chromium (prima di questa modifica) sia WebKit contaminano il canvas, ma Gecko no. Quando questa funzionalità viene rilasciata, il comportamento di Chromium corrisponde a quello di Gecko, consentendo l'utilizzo di una gamma più ampia di contenuti SVG nelle chiamate drawImage canvas senza contaminazione.

Supportare il descrittore font-variation-settings in @font-face rule

Il CSS consente agli sviluppatori di regolare il peso, la larghezza, l'inclinazione e altri assi di un carattere utilizzando la proprietà font-variation-settings sui singoli elementi. Tuttavia, i browser basati su Chromium non supportano questa proprietà all'interno delle dichiarazioni @font-face. Questa funzionalità supporta la sintassi basata su stringhe per font-variation-settings come definito in CSS Fonts Level 4. I tag delle funzionalità non validi o non riconosciuti vengono ignorati in base alle specifiche. Non sono supportati moduli binari o non standard. I caratteri variabili stanno diventando sempre più diffusi sia per le prestazioni che per la flessibilità tipografica. L'aggiunta del supporto per questo descrittore in Chromium migliora il controllo, riduce la ripetizione e supporta un approccio più scalabile e moderno alla tipografia web.

API web

Converti Uint8Array in base64 e esadecimale e viceversa

Base64 è un modo comune per rappresentare dati binari arbitrari come ASCII. JavaScript ha Uint8Arrays per i dati binari. Tuttavia, non dispone di un meccanismo integrato per codificare i dati come base64 o per prendere i dati base64 e produrre un Uint8Array corrispondente. Questa funzionalità aggiunge la possibilità e i metodi per la conversione tra stringhe esadecimali e Uint8Arrays.

Utilizzare l'opzione ReadableStreamBYOBReader min

Questa funzionalità introduce un'opzione min al metodo ReadableStreamBYOBReader.read(view) esistente. Il metodo accetta già un ArrayBufferView in cui legge i dati, ma attualmente non garantisce il numero di elementi scritti prima della risoluzione della lettura. Se specifichi un valore min, puoi richiedere che lo stream attenda che siano disponibili almeno quel numero di elementi prima di risolvere la lettura. Questo migliora il comportamento attuale, in cui le letture possono essere risolte con meno elementi di quelli che la visualizzazione può contenere.

In alcuni casi, è importante distinguere sul lato server tra i cookie impostati dal server e quelli impostati dal client. Un caso di questo tipo riguarda i cookie normalmente sempre impostati dal server. Tuttavia, un codice imprevisto (ad esempio un exploit XSS, un'estensione dannosa o un commit di uno sviluppatore confuso) potrebbe impostarli sul client. Questa proposta aggiunge un segnale che consente ai server di fare questa distinzione. Più nello specifico, definisce i prefissi __Http e __HostHttp, che assicurano che un cookie non venga impostato sul lato client utilizzando lo script.

Limitazioni di accesso alla rete locale

Chrome 140 limita la possibilità di effettuare richieste alla rete locale dell'utente, richiedendo una richiesta di autorizzazione. Una richiesta di rete locale è qualsiasi richiesta da un sito web pubblico a un indirizzo IP locale o loopback oppure da un sito web locale (ad esempio un'intranet) a loopback. Limitare la possibilità per i siti web di eseguire queste richieste dietro un'autorizzazione mitiga il rischio di attacchi di cross-site request forgery contro i dispositivi di rete locale, come i router. Inoltre, riduce la capacità dei siti di utilizzare queste richieste per identificare l'impronta della rete locale dell'utente. Questa autorizzazione è limitata ai contesti sicuri. Se concessa, l'autorizzazione allenta anche il blocco dei contenuti misti per le richieste di rete locale, poiché molti dispositivi locali non possono ottenere certificati TLS attendibili pubblicamente per vari motivi.

Scopri di più in Nuova richiesta di autorizzazione per l'accesso alla rete locale.

Consenti agli script SharedWorker di ereditare il controller per gli URL degli script blob

La specifica indica che i worker devono ereditare i controller per l'URL blob. Tuttavia, il codice esistente consente solo ai worker dedicati di ereditare il controller, mentre i worker condivisi non lo fanno. In questo modo, il comportamento di Chrome viene allineato alle specifiche. Questa funzionalità è controllata dal criterio aziendale SharedWorkerBlobURLFixEnabled.

Aggiungi ServiceWorkerStaticRouterTimingInfo

Questa funzionalità aggiunge informazioni sul timing per l'API di routing statico di ServiceWorker, esposta nell'API Navigation Timing e nell'API Resource Timing per l'utilizzo da parte degli sviluppatori. ServiceWorker fornisce informazioni sul tempismo per contrassegnare determinati punti nel tempo.

Questa funzionalità aggiunge due informazioni temporali pertinenti all'API Static Routing:

  • RouterEvaluationStart: è il momento di iniziare ad abbinare una richiesta alle regole del router registrate.
  • CacheLookupStart: Ora di inizio della ricerca dell'archiviazione della cache se l'origine è "cache".

Inoltre, questa funzionalità aggiunge due informazioni sull'origine del router: l'origine del router corrispondente e l'origine del router finale.

Attiva la creazione condizionale dell'autenticazione web su Android (non in produzione)

App web isolate

Introduzione dell'API Controlled Frame

Questa funzionalità aggiunge un'API Controlled Frame disponibile solo per le app web isolate (IWA). Come le API con nomi simili su altre piattaforme, Controlled Frame consente di incorporare tutti i contenuti, anche quelli di terze parti che non possono essere incorporati in <iframe>. Controlled Frame consente inoltre di controllare i contenuti incorporati con una raccolta di metodi ed eventi API. Per saperne di più sulle app web isolate, consulta la spiegazione delle app web isolate.

Nuove prove dell'origine

In Chrome 140 puoi attivare le seguenti nuove prove dell'origine.

Aggiungi l'evento clipboardchange

L'evento clipboardchange viene attivato ogni volta che un'app web o qualsiasi altra applicazione di sistema modifica i contenuti degli appunti di sistema. In questo modo, le app web come i client di desktop remoto possono mantenere sincronizzati i propri appunti con gli appunti di sistema. Fornisce un'alternativa efficiente al polling degli appunti con JavaScript per le modifiche.

Attivare le notifiche delle chiamate in arrivo

Questa funzionalità estende l'API Notifications per consentire alle PWA installate di inviare notifiche di chiamata in arrivo, ovvero notifiche con pulsanti in stile chiamata e una suoneria. Questa estensione aiuta le app web VoIP a creare esperienze più coinvolgenti, rendendo più facile per gli utenti riconoscere e rispondere alle notifiche di chiamata. Inoltre, questa funzionalità contribuisce a colmare il divario tra le implementazioni native e web delle app che le hanno entrambe.

Presentazione dell'API chiave-valore per i report sugli arresti anomali

Questa funzionalità introduce una nuova API chiave-valore, provvisoriamente window.crashReport, supportata da una mappa per documento che contiene i dati aggiunti ai report sugli arresti anomali.

I dati inseriti nella mappa di supporto di questa API vengono inviati in CrashReportBody se si verificano arresti anomali del processo di rendering sul sito. In questo modo, gli sviluppatori possono eseguire il debug dello stato specifico della loro applicazione che potrebbe causare un determinato arresto anomalo.

Ritiri e rimozioni

Questa versione di Chrome introduce i ritiri e le rimozioni elencati di seguito. Visita ChromeStatus.com per visualizzare gli elenchi di ritiri pianificati, ritiri attuali e rimozioni precedenti.

Questa release di Chrome ritira una funzionalità.

Ritiro delle regole speciali per le dimensioni dei caratteri per <h1> all'interno di alcuni elementi

La specifica HTML contiene un elenco di regole speciali per i tag <h1> nidificati all'interno degli elementi <article>, <aside>, <nav> o <section>.

Queste regole speciali sono deprecate perché causano problemi di accessibilità. In particolare, riducono visivamente le dimensioni del carattere per i <h1> nidificati in modo che sembrino <h2>, ma nulla nell'albero di accessibilità riflette questa modifica visiva.