Chrome 139 beta

Data di pubblicazione: 25 giugno 2025

Se non diversamente specificato, le seguenti modifiche si applicano alla release 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 139 è in versione beta dal 25 giugno 2025. Puoi scaricare l' ultima versione su Google.com per computer o sul Google Play Store su Android.

CSS

Questa release aggiunge sei nuove funzionalità CSS e UI.

Cortocircuito di var() e attr()

Quando il fallback non viene utilizzato, le funzioni var() e attr() vengono valutate senza cercare cicli in quel fallback. Il seguente CSS funziona perché esistono --green e --blue.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

Proprietà CSS caret-animation

Chrome supportava già l'animazione della proprietà caret-color, ma quando veniva animato il comportamento di lampeggiamento predefinito del cursore del testo interferiva con l'animazione. La proprietà CSS caret-animation ha due valori possibili: auto e manual, dove auto indica il comportamento predefinito del browser (lampeggiamento) e manual indica che lo sviluppatore web controlla l'animazione del cursore del testo. La proprietà consente inoltre agli utenti di disattivare il lampeggiamento utilizzando un foglio di stile utente.

Modellamento degli angoli

Consente di applicare lo stile agli angoli, oltre all'esistente border-radius, specificando la forma o la curvatura dell'angolo. In questo modo puoi creare forme come squircles, tacche e scoop e animarle. Scopri di più in questo post di Amit Sheen.

Continua a eseguire le transizioni quando passi al valore di transizione iniziale.

Quando le proprietà correlate alla transizione cambiano, dovrebbero influire solo sulle transizioni appena avviate. Ciò significa che, se modifichi le proprietà di transizione, a meno che tu non modifichi anche le proprietà con animazioni di transizione attive, queste animazioni continueranno con la durata, l'attenuazione e così via specificate in precedenza. Blink ha annullato in modo errato le transizioni quando la proprietà di transizione è stata impostata su "none", anche se non le annulla se modifichi solo la durata della transizione. Con questa funzionalità, Blink sarà coerente con WebKit e Gecko, consentendo alle transizioni attive di continuare a essere eseguite, a meno che o finché il valore della proprietà non cambi attivando un nuovo aggiornamento della transizione.

Funzioni personalizzate CSS

Le funzioni personalizzate sono simili alle proprietà personalizzate, ma anziché restituire un singolo valore fisso, restituiscono valori basati su altre proprietà personalizzate, parametri e condizioni.

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

Supporta width e height come attributi di presentazione sugli elementi <svg> nidificati

Supporta l'applicazione di width e height come attributi di presentazione sugli elementi nidificati <svg> tramite il markup SVG e il CSS. Questo doppio approccio offre una flessibilità ancora maggiore, consentendoti di gestire e applicare lo stile agli elementi SVG in modo più efficiente all'interno di design complessi.

API web

Manifest dell'app web: specifica l'idoneità all'aggiornamento, gli URL delle icone sono Cache-Control: immutable

Specifica un algoritmo di idoneità all'aggiornamento nella specifica del manifest. In questo modo, la procedura di aggiornamento diventa più deterministica e prevedibile, offrendo agli sviluppatori un maggiore controllo sulla possibilità (e sul momento) di applicare gli aggiornamenti alle installazioni esistenti e consentendo la rimozione della "limitazione del controllo degli aggiornamenti" che gli user agent devono attualmente implementare per evitare di sprecare risorse di rete.

Miglioramenti del rendimento del rilevamento della profondità WebXR

Espone diversi nuovi meccanismi per personalizzare il comportamento della funzionalità di rilevamento della profondità all'interno di una sessione WebXR, con l'obiettivo di migliorare il rendimento della generazione o del consumo del buffer di profondità. I meccanismi chiave esposti sono: la possibilità di richiedere il buffer di profondità grezzo o uniforme, la possibilità di richiedere che il runtime interrompa o riprenda la fornitura del buffer di profondità e la possibilità di esporre un buffer di profondità che non si allinea esattamente alla visualizzazione dell'utente, in modo che lo user agent non debba eseguire riproiezioni non necessarie ogni frame.

Consenti più caratteri nelle API DOM JavaScript

Il parser HTML ha sempre (o per molto tempo) consentito agli elementi e agli attributi di avere un'ampia varietà di caratteri e nomi validi, ma le API DOM JavaScript che creano gli stessi elementi e attributi sono più rigorose e non corrispondono al parser. Questa modifica rilassa la convalida delle API DOM JavaScript in modo che corrispondano al parser HTML.

Comando invoker request-close

Gli elementi di dialogo possono essere chiusi tramite una serie di meccanismi. A volte gli sviluppatori vogliono avere la possibilità di impedire la chiusura. Per ottenere questo risultato, le finestre di dialogo attivano un evento di annullamento. In origine, questo evento veniva attivato solo tramite una richiesta di chiusura (ad esempio, la pressione del tasto Esc). Di recente è stata aggiunta una funzione JS requestClose() che attiva anche l'evento di annullamento. Il comando request-close porta questa nuova funzionalità all'API dei comandi invoker dichiarativi.

WebGPU: supporto delle texture 3D per i formati compressi BC e ASTC

Le funzionalità WebGPU texture-compression-bc-sliced-3d e texture-compression-astc-sliced-3d aggiungono rispettivamente il supporto delle texture 3D per i formati compressi BC e ASTC.

Conferma del pagamento sicuro: chiavi associate al browser

Aggiunge una firma crittografica aggiuntiva alle asserzioni di conferma del pagamento sicuro e alla creazione delle credenziali. La chiave privata corrispondente non viene sincronizzata tra i dispositivi. In questo modo, gli sviluppatori web possono soddisfare i requisiti per l'associazione dei dispositivi per le transazioni di pagamento.

Conferma del pagamento sicuro: aggiornamento dell'esperienza utente

Aggiorna gli elementi dell'esperienza utente per la finestra di dialogo SPC su Chrome per Android. Oltre alla presentazione dell'esperienza utente, vengono aggiunti i seguenti elementi:

  • Consente ai commercianti di fornire un elenco facoltativo di loghi di entità di pagamento correlati al pagamento che verranno visualizzati.
  • Restituisce stati di output diversi al commerciante a seconda che l'utente voglia continuare la transazione senza SPC o annullarla.
  • Aggiunge un nuovo campo di etichetta dei dettagli di pagamento allo strumento di pagamento in modo che il testo venga visualizzato su due righe.

WebGPU core-features-and-limits

La funzionalità core-features-and-limits indica che un adattatore e un dispositivo WebGPU supportano le funzionalità e i limiti principali della specifica.

Correzione del candidato di ancoraggio dello scorrimento con priorità

Attualmente, l'algoritmo di ancoraggio dello scorrimento seleziona i candidati con priorità quando sono disponibili come target di ancoraggio. I candidati con priorità sono attualmente un elemento modificabile con stato attivo e le evidenziazioni di ricerca in-page. Ciò può causare un'esperienza utente non ottimale se è presente un elemento contenteditable di grandi dimensioni con stato attivo il cui contenuto è stato modificato fuori schermo (di conseguenza, il cursore viene spostato). Questa correzione modifica l'algoritmo: anziché selezionare il candidato con priorità come ancoraggio, utilizza il candidato come ambito o radice dell'algoritmo di selezione dell'ancoraggio normale che seleziona l'elemento sullo schermo più profondo come ancoraggio.

Supporta l'attributo async per gli elementi <script> SVG

L'interfaccia SVGScriptElement in SVG 2.0 introduce l'attributo async, simile a HTMLScriptElement. Questo attributo consente di eseguire gli script in modo asincrono, migliorando il rendimento e la reattività delle applicazioni web che utilizzano SVG.

API Web Speech on-device

Questa funzionalità aggiunge il supporto del riconoscimento vocale on-device all'API Web Speech, consentendo ai siti web di garantire che né l'audio né la trascrizione vocale vengano inviati a un servizio di terze parti per l'elaborazione. I siti web possono eseguire query sulla disponibilità del riconoscimento vocale on-device per lingue specifiche, chiedere agli utenti di installare le risorse necessarie per il riconoscimento vocale on-device e scegliere tra il riconoscimento vocale on-device o basato sul cloud in base alle esigenze.

Cancella window.name per le navigazioni cross-site che cambiano il gruppo di contesti di navigazione

Il valore della proprietà window.name viene attualmente mantenuto per tutta la durata di una scheda, anche con la navigazione che cambia i gruppi di contesti di navigazione, il che può causare la perdita di informazioni e potenzialmente essere utilizzato come vettore di monitoraggio. La cancellazione della proprietà window.name risolve questo problema. Questa modifica dovrebbe essere a basso rischio, poiché la ricerca di un contesto di navigazione per nome non funziona già se si trova in un altro gruppo di contesti di navigazione, quindi il nome non è effettivamente utile.

Criterio Enterprise: ClearWindowNameCrossSiteBrowsing (smetterà di funzionare in Chrome 142).

Estensioni dell'ambito delle app web

Aggiunge un campo del manifest dell'app web "scope_extensions" che consente alle app web di estendere il proprio ambito ad altre origini.

In questo modo, i siti che controllano più sottodomini e domini di primo livello possono essere presentati come una singola app web. Richiede che le origini elencate confermino l'associazione all'app web utilizzando un file di configurazione .well-known/web-app-origin-association.

Rilevamento del tipo MIME JSON conforme alle specifiche

Chromium ora riconosce tutti i tipi MIME JSON validi definiti dalla specifica WHATWG mimesniff. Sono inclusi tutti i tipi MIME il cui sottotipo termina con +json, oltre ai tradizionali application/json e text/json. Questa modifica garantisce che le API e le funzionalità web che si basano sul rilevamento JSON si comportino in modo coerente con lo standard della piattaforma web e con altri browser. Una delle motivazioni principali di questa modifica è la correzione del comportamento di importazione dei moduli JSON, in cui in precedenza i tipi MIME JSON validi come text/html+json e image/svg+json non venivano caricati come moduli.

API Private Aggregation: report sugli errori aggregati

Esistono una serie di condizioni di errore che possono verificarsi quando si utilizza l'API Private Aggregation. Ad esempio, il budget per la privacy potrebbe esaurirsi, impedendo ulteriori contributi all'istogramma. Questa funzionalità consente agli sviluppatori di registrare i contributi all'istogramma che devono essere inviati solo se si verifica un tipo specifico di errore. Questa funzionalità supporta la misurazione della frequenza delle condizioni di errore e la suddivisione di queste misurazioni in base alle dimensioni pertinenti specificate dallo sviluppatore (ad es. versione del codice di cui è stato eseguito il deployment). Poiché gli errori stessi potrebbero essere informazioni cross-site, non possiamo semplicemente esporli alla pagina per gli utenti senza cookie di terze parti. Questa funzionalità riutilizza invece le pipeline di report aggregati e con rumore esistenti tramite il servizio di aggregazione.

API di reporting sugli arresti anomali: specifica crash-reporting per ricevere solo report sugli arresti anomali

Questa funzionalità garantisce che gli sviluppatori ricevano solo report sugli arresti anomali specificando l'endpoint denominato crash-reporting. Per impostazione predefinita, i report sugli arresti anomali vengono inviati all'endpoint default, che riceve molti altri tipi di report oltre ai report sugli arresti anomali. Gli sviluppatori possono fornire un URL separato all'endpoint noto denominato crash-reporting per indirizzare i report sugli arresti anomali a questo endpoint anziché all'endpoint default.

Riduci il fingerprinting nelle informazioni dell'intestazione Accept-Language

Riduce la quantità di informazioni esposte dalla stringa del valore dell'intestazione Accept-Language nelle richieste HTTP e in navigator.languages. Anziché inviare un elenco completo delle lingue preferite dell'utente in ogni richiesta HTTP con l'intestazione Accept-Language. Ora inviamo la lingua preferita dell'utente nell'intestazione Accept-Language. Per ridurre al minimo i rischi di compatibilità, il lancio iniziale riduce le informazioni nell'intestazione HTTP. In futuro ridurremo i getter JavaScript navigator.languages correlati.

Attiva l'evento di errore anziché generare un'eccezione per il worker bloccato da CSP

Quando viene bloccato da Content Security Policy (CSP), Chrome attualmente genera un SecurityError dal costruttore di Worker e SharedWorker. La specifica richiede che il CSP venga controllato nell'ambito del recupero e che gli eventi di errore vengano attivati in modo asincrono anziché generare un'eccezione quando uno script esegue new Worker(url) o new SharedWorker(url). Questa modifica rende Chrome conforme alle specifiche: non genera un'eccezione durante il costruttore e attiva gli eventi di errore in modo asincrono.

Livello audio per i frame codificati RTC

Espone al web il livello audio di un frame codificato trasmesso con RTCPeerConnection ed esposto utilizzando WebRTC Encoded Transform.

Nuove prove dell'origine

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

API Prompt

L'API Prompt è progettata per interagire con un modello linguistico AI utilizzando input di testo, immagini e audio. Supporta vari casi d'uso, dalla generazione di didascalie delle immagini e l'esecuzione di ricerche visive alla trascrizione dell'audio, alla classificazione degli eventi sonori, alla generazione di testo seguendo istruzioni specifiche e all'estrazione di informazioni o insight dal testo. Supporta output strutturati che garantiscono che le risposte rispettino un formato predefinito, in genere espresso come uno schema JSON, per migliorare la conformità delle risposte e facilitare l'integrazione perfetta con le applicazioni downstream che richiedono formati di output standardizzati. Questa API è esposta anche nelle estensioni Chrome. Questa prova dell'origine è per l'esposizione sul web.

Attributo di blocco del rendering a frequenza fotogrammi completa

Proponiamo di aggiungere un nuovo token di blocco del rendering full-frame-rate agli attributi di blocco. Quando il renderer è bloccato con il token full-frame-rate, il renderer funzionerà a una frequenza fotogrammi inferiore in modo da riservare più risorse per il caricamento.

Modalità di compatibilità WebGPU

Aggiunge un sottoinsieme di API WebGPU con attivazione esplicita e leggermente limitato in grado di eseguire API grafiche precedenti come OpenGL e Direct3D11. Attivando questa modalità e rispettandone i vincoli, gli sviluppatori possono estendere la copertura delle loro applicazioni WebGPU a molti dispositivi meno recenti che non dispongono delle API grafiche moderne ed esplicite richieste da WebGPU Core. Per le applicazioni semplici, l'unica modifica richiesta è specificare il livello di funzionalità "compatibility" quando si chiama requestAdapter. Per le applicazioni più avanzate, potrebbero essere necessarie alcune modifiche per adattarsi alle limitazioni della modalità. Poiché la modalità di compatibilità è un sottoinsieme, le applicazioni risultanti sono anche applicazioni WebGPU Core valide e verranno eseguite anche sugli user agent che non supportano la modalità di compatibilità.

Ritiri e rimozioni

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

Questa release di Chrome rimuove due funzionalità.

Rimuovi il supporto per macOS 11

Chrome 138 è l'ultima release a supportare macOS 11. A partire da Chrome 139, macOS 11 non è supportato, in quanto non rientra nella finestra di supporto di Apple. L'esecuzione su un sistema operativo supportato è essenziale per mantenere la sicurezza. Sui Mac con macOS 11, Chrome continuerà a funzionare, mostrando una barra informativa di avviso, ma non verrà più aggiornato. Se un utente vuole aggiornare Chrome, deve aggiornare il computer a una versione supportata di macOS. Per le nuove installazioni di Chrome 139 e versioni successive, sarà necessario macOS 12 o versioni successive.

Rimuovi il rilevamento automatico del set di caratteri ISO-2022-JP in HTML

Esistono problemi di sicurezza noti relativi al rilevamento automatico del set di caratteri per ISO-2022-JP. Poiché l'utilizzo è molto basso e Safari non supporta il rilevamento automatico di ISO-2022-JP, Chrome rimuove il supporto per eliminare i problemi di sicurezza.