Chrome 139 beta

Data di pubblicazione: 25 giugno 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 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 var() e attr()

Quando il fallback non viene eseguito, le funzioni var() e attr() vengono valutate senza cercare cicli nel 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 animato il comportamento di lampeggio predefinito del cursore interferiva con l'animazione. La proprietà CSS caret-animation ha due valori possibili: auto e manual, dove auto indica l'impostazione predefinita del browser (lampeggiante) e manual indica che lo sviluppatore web controlla l'animazione del cursore. La proprietà consente inoltre agli utenti di disattivare il lampeggio utilizzando un foglio di stile utente.

Modellamento degli angoli

Attiva gli angoli di stile, oltre a border-radius, specificando la forma o la curvatura dell'angolo. In questo modo puoi creare forme come squircles, tacche e incavi e animarle. Scopri di più in questo post di Amit Sheen.

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

Quando cambiano le proprietà correlate alla transizione, devono 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 di transizione continueranno con la durata, l'accelerazione e così via specificate in precedenza. Blink annullava erroneamente le transizioni quando la proprietà di transizione era 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 cambia attivando un nuovo aggiornamento della transizione.

Funzioni personalizzate CSS

Le funzioni personalizzate sono simili alle proprietà personalizzate, ma anziché restituire un valore singolo e 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 negli elementi <svg> nidificati

Supporta l'applicazione di width e height come attributi di presentazione su elementi <svg> nidificati tramite markup SVG e CSS. Questo duplice approccio offre una flessibilità ancora maggiore, consentendoti di gestire e applicare stili agli elementi SVG in modo più efficiente all'interno di progetti 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, il processo di aggiornamento diventa più deterministico e prevedibile, offrendo agli sviluppatori un maggiore controllo su se (e quando) gli aggiornamenti devono essere applicati alle installazioni esistenti e consentendo la rimozione della "limitazione del controllo degli aggiornamenti" che gli user agent attualmente devono implementare per evitare di sprecare risorse di rete.

Miglioramenti delle prestazioni del rilevamento della profondità di 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 le prestazioni 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.

Consentire più caratteri nelle API DOM JavaScript

Il parser HTML ha sempre (o per molto tempo) consentito a elementi e attributi di avere un'ampia gamma 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 allenta la convalida delle API DOM JavaScript in modo che corrispondano al parser HTML.

request-close comando invoker

Gli elementi della finestra di dialogo possono essere chiusi tramite vari 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. Inizialmente 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 introduce questa nuova funzionalità nell'API dei comandi dell'invoker dichiarativo.

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 il binding dei dispositivi per le transazioni di pagamento.

Conferma del pagamento sicuro: aggiornamento dell'esperienza utente

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

  • Consente ai commercianti di fornire un elenco facoltativo di loghi di entità di pagamento correlati al pagamento che verrà visualizzato.
  • Restituzione di diversi stati di output al commerciante a seconda che l'utente voglia continuare la transazione senza SPC o annullarla.
  • Aggiunge un nuovo campo 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 WebGPU e un dispositivo supportano le funzionalità e i limiti principali della specifica.

Correzione del candidato prioritario per l'ancoraggio dello scorrimento

Attualmente, l'algoritmo di ancoraggio dello scorrimento seleziona i candidati prioritari quando sono disponibili come target di ancoraggio. I candidati prioritari sono attualmente un elemento modificabile e in evidenza e la funzionalità Trova nella pagina. Ciò può causare un'esperienza utente non ottimale se è presente un elemento contenteditable di grandi dimensioni con contenuti modificati fuori dallo schermo (il cursore viene spostato di conseguenza). Questa correzione modifica l'algoritmo: anziché selezionare il candidato prioritario come ancora, utilizza il candidato come ambito o radice dell'algoritmo di selezione dell'ancora regolare che seleziona l'elemento sullo schermo più profondo come ancora.

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

L'interfaccia SVGScriptElement in SVG 2.0 introduce l'attributo async, simile a HTMLScriptElement. Questo attributo consente l'esecuzione asincrona degli script, migliorando le prestazioni e la reattività delle applicazioni web che utilizzano SVG.

API Web Speech on-device

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

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

Il valore della proprietà window.name viene attualmente conservato per tutta la durata di una scheda, anche con la navigazione che cambia i gruppi di contesti di navigazione, il che può comportare la divulgazione di informazioni e potenzialmente essere utilizzato come vettore di monitoraggio. La cancellazione della proprietà window.name risolve il problema. Si tratta di una modifica a basso rischio, in quanto 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 aziendale: ClearWindowNameCrossSiteBrowsing (smetterà di funzionare in Chrome 142).

Estensioni dell'ambito dell'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 come definiti dalla specifica mimesniff di WHATWG. 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 web e le funzionalità che si basano sul rilevamento JSON si comportino in modo coerente con lo standard della piattaforma web e con gli altri browser. Uno dei motivi principali di questa modifica è correggere il comportamento di importazione del modulo JSON, in cui i tipi MIME JSON validi in precedenza, 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 dell'istogramma che devono essere inviati solo se si verifica un particolare tipo di errore. Questa funzionalità supporta la misurazione della frequenza delle condizioni di errore e la suddivisione di queste misurazioni in dimensioni pertinenti specificate dallo sviluppatore (ad es. versione del codice implementato). 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 generazione di report aggregate e con rumore esistenti tramite il servizio di aggregazione.

API Crash Reporting: specifica la generazione di report sugli arresti anomali per ricevere solo questi report

Questa funzionalità garantisce che gli sviluppatori ricevano solo i 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 a quelli sugli arresti anomali. Gli sviluppatori possono fornire un URL separato all'endpoint noto denominato crash-reporting, per indirizzare lì i report sugli arresti anomali anziché all'endpoint default.

Ridurre il fingerprinting nelle informazioni dell'intestazione Accept-Language

Riduce la quantità di informazioni che la stringa di valori dell'intestazione Accept-Language espone 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 navigator.languages JavaScript 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 CSP venga controllato nell'ambito del recupero e attiva eventi di errore in modo asincrono anziché generare un'eccezione quando viene eseguito uno script new Worker(url) o new SharedWorker(url). Questa modifica rende conforme la specifica di Chrome: non viene generato un errore durante il costruttore e gli eventi di errore vengono attivati 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 di AI utilizzando input di testo, immagini e audio. Supporta vari casi d'uso, dalla generazione di didascalie per immagini e l'esecuzione di ricerche visive alla trascrizione di audio, alla classificazione di eventi sonori, alla generazione di testo seguendo istruzioni specifiche e all'estrazione di informazioni o approfondimenti dal testo. Supporta output strutturati che garantiscono che le risposte rispettino un formato predefinito, in genere espresso come schema JSON, per migliorare la conformità delle risposte e facilitare l'integrazione con le applicazioni downstream che richiedono formati di output standardizzati. Questa API è esposta anche nelle estensioni di Chrome. Questa prova dell'origine è per l'esposizione sul web.

Attributo di blocco del rendering della frequenza dei fotogrammi completa

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

Modalità di compatibilità WebGPU

Aggiunge un sottoinsieme leggermente limitato dell'API WebGPU in grado di eseguire API grafiche precedenti come OpenGL e Direct3D11. Se attivano questa modalità e rispettano i relativi 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 di base. Per le applicazioni semplici, l'unica modifica richiesta è specificare "compatibility" featureLevel quando chiami 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 su 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 di ritiri pianificati, ritiri attuali e rimozioni precedenti.

Questa release di Chrome rimuove due funzionalità.

Rimozione del 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 più nel periodo di supporto di Apple. L'esecuzione su un sistema operativo supportato è essenziale per mantenere la sicurezza. Su 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. Dato che 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.