Chrome 145

Data di rilascio della versione stabile: 10 febbraio 2026

Se non diversamente indicato, le seguenti modifiche si applicano alla release del canale stabile di Chrome 145 per Android, ChromeOS, Linux, macOS e Windows.

CSS e UI

Aggiunta del supporto per la proprietà CSS text-justify

Puoi controllare la giustificazione del testo quando viene applicato text-align: justify utilizzando la proprietà text-justify. Ad esempio, puoi forzare la giustificazione espandendo lo spazio tra i caratteri anche nel testo in inglese.

Bug di monitoraggio n. 40321528 | Voce di ChromeStatus.com | Specifica

Attivare i valori percentuali per le proprietà CSS letter-spacing e word-spacing

Attiva i valori percentuali per le proprietà CSS letter-spacing e word-spacing, come definito nella specifica CSS Text Module Level 4. I valori percentuali vengono calcolati in relazione alla misura di avanzamento del carattere spazio (U+0020). In questo modo, puoi controllare in modo più solido e flessibile la tipografia, in particolare nei design adattabili in cui la spaziatura del testo deve adattarsi a diverse finestre e dimensioni del carattere.

Bug di monitoraggio n. 327740939 | Voce di ChromeStatus.com | Specifica

Perfeziona il calcolo del bordo dell'ombra del raggio del bordo per border-radius elevato

Questa modifica garantisce che le ombre e i limiti di ritaglio sugli elementi quasi circolari (dove border-radius è vicino al 50%) corrispondano esattamente al contorno visivo del bordo curvo.

In questo modo, il rendering delle forme arrotondate complesse è più coerente, eliminando le discrepanze visive per i valori di raggio elevati. Il fattore di aggiustamento border-radius, che garantisce che gli angoli appaiano nitidi per raggi piccoli, viene progressivamente smorzato man mano che il valore del raggio si avvicina al 50%.

Ciò vale anche per i contorni non rotondi (che utilizzano corner-shape), che ora utilizzano lo stesso meccanismo di regolazione del raggio.

Bug di monitoraggio n. 448651073 | Voce di ChromeStatus.com | Specifica

A capo automatico delle colonne per multicolonna

Aggiungi il supporto per le proprietà CSS column-wrap e column-height, da multicol Level 2.

Ciò consente il layout delle colonne verticale o anche bidimensionale. Le colonne possono avere un'altezza vincolata esplicita, anziché essere derivate dall'altezza del contenitore multicolonna.content-box Vengono inseriti in una nuova riga di colonne quando tutte le colonne sono state riempite per una riga, anziché creare colonne in overflow nella direzione in linea.

Bug di monitoraggio n. 403183884 | Voce di ChromeStatus.com | Specifica

Esporre l'evento onanimationcancel a GlobalEventHandlers

CSS Animations Level 1 estende l'interfaccia GlobalEventHandlers definita nella specifica HTML, dichiarando quattro nuovi gestori di eventi: onanimationstart, onanimationiteration, onanimationend e onanimationcancel. Solo il gestore di eventi onanimationcancel non è presente nell'IDL GlobalEventHandlers.

Bug di monitoraggio n. 464010037 | Voce di ChromeStatus.com | Specifica

Casella di elenco di selezione personalizzabile

In questo modo, il supporto della selezione personalizzabile viene esteso alla modalità di rendering della casella di riepilogo, inclusa la selezione singola e multipla in modalità casella di riepilogo.

La modalità di rendering della casella di riepilogo esegue il rendering dell'elemento select nel flusso o nella pagina, anziché con un pulsante e un popup separati. Puoi attivare la modalità di rendering della casella di riepilogo su tutte le piattaforme utilizzando gli attributi multiple o size, ad esempio <select multiple> o <select size=4>. Quando la proprietà CSS appearance: base-select viene applicata all'elemento select con questi attributi, il rendering e il comportamento di input migliorano.

Non supporta select personalizzabile per il popup di selezione multipla, che sarà supportato in un secondo momento. Devi impostare i seguenti attributi per visualizzare un popup a selezione multipla: <select multiple size=1>.

Bug di monitoraggio n. 357649033 | Voce di ChromeStatus.com | Specifica

L'opzione focusVisible su focus

Quando chiami il metodo focus(), puoi fornire un valore booleano focusVisible nel dizionario FocusOptions. Se impostato su true, viene sempre disegnato un anello di messa a fuoco intorno all'elemento appena messo a fuoco e corrisponde alla pseudo-classe :focus-visible. Se il valore è false, l'anello di messa a fuoco non viene disegnato e :focus-visible non corrisponde. In caso di assenza, lo user agent determina autonomamente se l'anello di messa a fuoco deve essere disegnato e la pseudo-classe :focus-visible corrisponde di conseguenza.

Bug di monitoraggio n. 462191849 | Voce di ChromeStatus.com | Specifica

Attiva il rendering delle emoji monocromatiche nella modalità Colori forzati.

Questa modifica aggiorna il comportamento di rendering delle emoji di Chromium nella modalità Colori forzati. Durante la risoluzione del valore calcolato, gli emoji il cui valore font-variant-emoji viene calcolato come normal o unicode vengono visualizzati utilizzando i glifi monocromatici quando disponibili.

Pertanto, Chromium sopprime il rendering delle emoji a colori, il che garantisce che le emoji partecipino completamente alla pipeline della modalità Colori forzati e rispettino i colori ad alto contrasto del sistema. Il comportamento al di fuori della modalità Colori forzati rimane invariato.

Bug di monitoraggio n. 420857717 | Voce di ChromeStatus.com | Specifica

Effetto di overscroll sugli elementi scorrevoli non di primo livello

Mostra gli effetti di overscroll elastico sui contenitori di scorrimento non radice. Quando un elemento scorrevole nidificato raggiunge il limite di scorrimento, l'overscroll si applica a quell'elemento anziché solo allo scroller principale. In questo modo si riduce la necessità di soluzioni alternative JavaScript personalizzate e si può controllare per elemento con overscroll-behavior.

Bug di monitoraggio n. 41102897 | Voce di ChromeStatus.com | Specifica

Funzionalità

Mostrare la posizione effettiva della finestra su Android

Chrome su Android segnala con precisione la posizione e le dimensioni della finestra del browser utilizzando window.screenX, window.screenY, window.outerWidth e window.outerHeight.

In precedenza, Chrome presupponeva erroneamente che tutte le finestre del browser su Android iniziassero alle coordinate (0, 0). Questa ipotesi è imprecisa per i tablet Android che utilizzano la modalità finestra in formato libero. I siti web ricevevano sempre 0 quando eseguivano query sulla posizione sullo schermo della finestra utilizzando window.screenX e window.screenY. Questi campi memorizzano le coordinate dell'angolo in alto a sinistra della finestra nello spazio delle coordinate dell'area di lavoro globale.

Inoltre, Chrome su Android presupponeva erroneamente che le dimensioni esterne della finestra del browser fossero uguali alle dimensioni interne dell'area visibile del sito web.

window.screenX e window.screenY hanno gli alias window.screenLeft e window.screenTop.

Bug di monitoraggio n. 417632037 | Voce di ChromeStatus.com | Specifica

JavaScript

Esegui upsert

Si tratta di una proposta ECMAScript per Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert e WeakMap.prototype.getOrInsertComputed.

Bug di monitoraggio n. 434977728 | Voce di ChromeStatus.com | Specifica

API chiave-valore di Crash Reporting

Una nuova API chiave-valore, window.crashReport, è supportata da una mappa per documento che contiene i dati che l'app Chrome aggiunge ai report sugli arresti anomali.

I dati inseriti nella mappa di supporto di questa API vengono inviati in CrashReportBody se il sito causa arresti anomali del processo di rendering. In questo modo puoi eseguire il debug dello stato specifico dell'applicazione che potrebbe causare un determinato arresto anomalo.

Bug di monitoraggio n. 400432195 | Voce di ChromeStatus.com | Specifica

Stringhe user agent ridotte per impostazione predefinita

A partire da Chrome 145, Chrome rimuove il criterio UserAgentReduction. Questo criterio era disponibile per controllare se Chrome inviava una stringa User-Agent ridotta o completa.

Per migliorare la privacy degli utenti e ridurre le funzionalità di monitoraggio passivo, Chrome ha iniziato a ridurre le informazioni contenute nell'intestazione User-Agent per impostazione predefinita in Chrome versione 110. Il criterio UserAgentReduction è stato fornito come misura temporanea per consentire alle aziende di gestire questa transizione.

Il meccanismo consigliato per i siti web per accedere alle informazioni del browser e del dispositivo sono i client hint dello user agent (UA-CH). UA-CH richiede ai siti web di richiedere attivamente informazioni specifiche, un approccio che tutela maggiormente la privacy rispetto alla stringa user agent legacy. Per saperne di più, consulta l'articolo di web.dev Eseguire la migrazione ai client hint User-Agent.

A partire da Chrome 145, il criterio UserAgentReduction non ha alcun effetto. Chrome invia una stringa user agent ridotta per impostazione predefinita. I sistemi o le applicazioni che si basavano su questo criterio per ricevere la stringa User-Agent completa (legacy) potrebbero non ricevere più le informazioni dettagliate che si aspettano.

Voce di ChromeStatus.com

NavigationTransition ha una proprietà from che espone il vecchio URL della navigazione. L'esposizione di to (un NavigationDestination) completa questa operazione. È particolarmente utile quando si utilizzano i gestori pre-commit, poiché durante il pre-commit l'URL corrente non è ancora passato alla destinazione.

navigation.transition è esposto solo per le navigazioni intercettate, ovvero le navigazioni avviate da documenti della stessa origine.

Bug di monitoraggio n. 447171238 | Voce di ChromeStatus.com | Specifica

Conferma del pagamento sicuro: chiavi associate al browser

In questo modo viene aggiunta 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 puoi soddisfare i requisiti per il collegamento del dispositivo per le transazioni di pagamento.

Bug di monitoraggio n. 377278827 | Voce di ChromeStatus.com | Specifica

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:

  • I commercianti possono fornire un elenco facoltativo di loghi di entità di pagamento correlati al pagamento visualizzati nell'esperienza utente.
  • Al commerciante vengono restituiti stati di output diversi a seconda che l'utente voglia continuare la transazione senza SPC o annullarla. Per entrambi i casi viene inviato un solo stato di output.
  • Allo strumento di pagamento viene aggiunto un nuovo campo etichetta dei dettagli di pagamento in modo che il testo venga visualizzato su due righe in SPC.

Bug di monitoraggio n. 405173922 | Voce di ChromeStatus.com | Specifica

Puoi specificare un maxAge quando imposti un cookie con Cookie Store API.

Il tempo di scadenza dei cookie è già configurabile utilizzando l'attributo expires, ma maxAge fornisce un'opzione più idiomatica e allinea Cookie Store API alle opzioni fornite da document.cookie e dall'intestazione HTTP Set-Cookie.

Bug di monitoraggio n. 430926231 | Voce di ChromeStatus.com | Specifica

Tipi di InputEvent per i comandi di eliminazione nelle selezioni non compresse

Questo report mostra valori inputType accurati per le scorciatoie da tastiera di eliminazione sul testo selezionato. Quando i comandi di eliminazione come Ctrl+Backspace o Ctrl+Delete vengono utilizzati con il testo selezionato negli elementi contenteditable, gli eventi beforeinput e input segnalano deleteContentBackward o deleteContentForward anziché deleteWordBackward o deleteWordForward. In questo modo puoi comprendere correttamente l'operazione di modifica eseguita e implementare comportamenti di annullamento, ripristino o modifica personalizzati affidabili.

Bug di monitoraggio n. 41423062 | Voce di ChromeStatus.com | Specifica

Attivazione permanente per l'evento clipboardchange

Ciò richiede l'attivazione dell'utente permanente o l'autorizzazione clipboard-read per attivare gli eventi clipboardchange, impedendo il monitoraggio non autorizzato degli appunti.

L'evento clipboardchange è relativamente nuovo (Chrome 144) e questa modifica ha un impatto minimo sul web. Nella maggior parte dei casi, l'attivazione dell'utente persistente o l'autorizzazione clipboard-read è già presente dove si verifica il monitoraggio degli appunti (ad esempio, nei client di desktop remoto).

Bug di monitoraggio n. 468821937 | Voce di ChromeStatus.com | Specifica

Multimediali

Esporre rtpTimestamp dai frame video WebRTC con VideoFrame.metadata()

Aggiunge un metodo VideoFrame.metadata() che restituisce un dizionario contenente il campo rtpTimestamp, se l'oggetto VideoFrame sottostante ha questo campo nei metadati nativi. In caso contrario, viene restituito un dizionario vuoto. Solo i frame video provenienti da fonti WebRTC hanno i metadati rtpTimestamp allegati.

I campi dei metadati aggiuntivi sono già presenti nell'implementazione nativa e potrebbero essere esposti a JavaScript nel tempo, come descritto nella specifica proposta.

Voce di ChromeStatus.com | Specifica

Archiviazione

IndexedDB: backend SQLite (contesti in memoria)

L'implementazione di IndexedDB di Chromium è stata riscritta su SQLite per sostituire l'implementazione precedente che utilizzava un ibrido di LevelDB e file flat. Non sono previste modifiche all'API web.

Ciò migliora l'affidabilità e, in misura minore, le prestazioni.

Questa impostazione viene applicata solo ai contesti in memoria, come la modalità di navigazione in incognito in Chromium e Google Chrome. In questo modo si limita l'impatto di eventuali nuovi bug e si rimanda la necessità di migrare i dati esistenti salvati su disco.

Bug di monitoraggio n. 436880911 | Voce di ChromeStatus.com | Specifica

Rendimento

Consentire alle applicazioni web di comprendere i tempi di rendimento bimodali

Un nuovo campo confidence nell'oggetto PerformanceNavigationTiming ti consente di determinare se i tempi di navigazione sono rappresentativi della tua applicazione web.

Bug di monitoraggio n. 1413848 | Voce di ChromeStatus.com | Specifica

Aggiungi presentationTime e paintTime alle voci di rendimento

Vengono esposti paintTime e presentationTime nella sincronizzazione degli elementi, LCP, frame di animazione lunghi e sincronizzazione della visualizzazione.

paintTime indica il momento in cui è terminata la fase di rendering e il browser ha iniziato la fase di disegno. presentationTime indica il momento in cui i "pixel hanno raggiunto lo schermo", che è in qualche modo definito dall'implementazione.

Questa voce della funzionalità omette la tempistica dell'evento, che viene eseguita separatamente.

Bug di monitoraggio n. 378827535 | Voce di ChromeStatus.com | Specifica

Utilizzo di CssPixels nell'API LayoutShift

Questa funzionalità modifica i dati di attribuzione (prevRect e currentRect) nell'API LayoutShift in modo che vengano riportati in pixel CSS anziché in pixel fisici. Il comportamento non è coerente con altre API correlate al layout, che utilizzano tutte i pixel CSS. Questa modifica migliora la coerenza, semplifica l'utilizzo e si allinea alle unità previste nel debug e negli strumenti.

Bug di monitoraggio n. 399058544 | Voce di ChromeStatus.com | Specifica

Sicurezza

Credenziali di sessione associate al dispositivo

Le credenziali di sessione associate al dispositivo (DBSC) consentono ai siti web di associare la sessione di un utente al suo dispositivo specifico, rendendo molto più difficile l'utilizzo dei cookie di sessione rubati su altri computer.

Voce di ChromeStatus.com | Specifica

API Origin

L'origine è un componente fondamentale dell'implementazione del web, essenziale per i limiti di sicurezza e privacy mantenuti dagli user agent. Il concetto è ben definito tra HTML e URL, insieme a concetti adiacenti ampiamente utilizzati come sito.

Le origini, tuttavia, non sono direttamente esposte. Sebbene esistano vari metodi per ottenere l'origine su vari oggetti, ognuno di questi restituisce la serializzazione ASCII di un'origine, non l'origine stessa. Ciò ha alcune implicazioni negative. In pratica, i tentativi di eseguire confronti tra stessa origine o stesso sito durante la gestione di origini serializzate spesso portano a errori che causano vulnerabilità. Dal punto di vista filosofico, sembra una primitiva di sicurezza mancante che fai fatica a polyfill con precisione.

In Chrome 145, Chrome colma questa lacuna nella piattaforma introducendo un oggetto Origin che incapsula il concetto di origine e fornisce metodi utili come il confronto, la serializzazione e l'analisi.

Bug di monitoraggio n. 434131026 | Voce di ChromeStatus.com | Specifica

Autorizzazioni suddivise per l'accesso alla rete locale

Si tratta di un miglioramento delle limitazioni dell'accesso alla rete locale (LNA), in cui Chrome suddivide l'autorizzazione richiesta da un'autorizzazione di accesso alla rete locale in due autorizzazioni separate.

La vecchia autorizzazione è local-network-access. Le nuove autorizzazioni sono local-network (per le richieste LNA agli IP nello spazio di indirizzi locale) e loopback-network (per le richieste LNA agli IP nello spazio di indirizzi di loopback).

La vecchia autorizzazione viene mantenuta come alias e continua a funzionare per permissions.query e Permissions Policy. I criteri aziendali continuano a funzionare allo stesso modo; in un secondo momento vengono aggiunti criteri aziendali più recenti e granulari.

Bug di monitoraggio n. 465491626 | Voce di ChromeStatus.com | Specifica

Allineamento delle specifiche di Trusted Types

Trusted Types è stato implementato e lanciato originariamente in Chromium nel 2019 e da allora è stato utilizzato in numerosi siti web. Di recente ha suscitato l'interesse di altri fornitori di browser.

La specifica Trusted Types è stata scritta in collaborazione come specifica "monkey patch" insieme all'implementazione originale. Riceve nuova attenzione man mano che altri cercano di implementare la stessa specifica. È stato "upstreamed" in HTML + DOM (più un po' di CSP). Nell'ambito di questa procedura, vengono identificate e corrette varie incongruenze. Alcune di queste correzioni potrebbero essere osservabili dagli sviluppatori. L'obiettivo è aggiornare l'implementazione in modo che corrisponda alla specifica man mano che viene caricata in HTML.

Nel frattempo, WebKit ha lanciato l'implementazione della specifica Trusted Types aggiornata, il che dà a Chrome la certezza che questo aggiornamento sia altamente compatibile con il web.

Bug di monitoraggio n. 330516530 | Voce di ChromeStatus.com | Specifica

Elementi grafici

WebGPU: funzionalità subgroup_uniformity

In questo modo viene aggiunto un nuovo ambito all'analisi dell'uniformità e vengono modificate le parti della lingua controllate in ciascun ambito per consentire di considerare l'uniformità dei sottogruppi in più casi.

Bug di monitoraggio n. 454653380 | Voce di ChromeStatus.com | Specifica

App web isolate

WebRequest.SecurityInfo in Controlled Frame

Questa funzionalità introduce un'API WebRequest.SecurityInfo per ControlledFrame. Consente a un'app web di intercettare una richiesta HTTPS, WSS o WebTransport a un server, recuperare l'impronta del certificato del server (come verificato dal browser) e quindi utilizzare questa impronta per verificare manualmente il certificato di una connessione TCP/UDP non elaborata separata allo stesso server. In questo modo, l'app può confermare di comunicare con il server corretto.

Bug di monitoraggio n. 462114142 | Voce di ChromeStatus.com | Specifica

Prove dell'origine

Aggiunge il supporto per la decodifica delle immagini JPEG XL (image/jxl) in Blink utilizzando jxl-rs, un decoder Rust puro e sicuro per la memoria.

JPEG XL è un formato di immagine moderno standardizzato come ISO/IEC 18181 che offre:

  • Decodifica progressiva per migliorare le prestazioni di caricamento percepite.
  • Supporto di ampia gamma di colori, HDR e profondità di bit elevata.
  • Supporto delle animazioni.

Questa implementazione utilizza jxl-rs anziché il decodificatore di riferimento libjxl C++ per soddisfare i requisiti di sicurezza della memoria di Chromium. Il decoder è protetto dal flag enable-jxl-image-format e dal flag di build enable_jxl_decoder.

Voce di ChromeStatus.com

WebAudio: Configurable render quantum

AudioContext e OfflineAudioContext ora accettano un renderSizeHint facoltativo, che consente agli utenti di richiedere una dimensione del quantum di rendering specifica quando viene passato un numero intero, di utilizzare il valore predefinito di 128 frame se non viene passato nulla o default, o di chiedere allo user agent di scegliere una dimensione del quantum di rendering adatta se viene specificato hardware.

Origin Trial | Voce di ChromeStatus.com

Ritiri e rimozioni

Rimozione del supporto per le videocamere virtuali obsolete su macOS

Chrome rimuove il supporto per le videocamere virtuali obsolete per tutte le versioni di macOS supportate.

Bug di monitoraggio n. 461717105 | Voce di ChromeStatus.com

Rimuovere l'estensione BMP per l'incorporamento di JPEG o PNG in BMP

Chrome rimuove l'estensione BMP per l'incorporamento di JPEG o PNG in BMP.

Bug di monitoraggio n. 456842524 | Voce di ChromeStatus.com | Specifica