Chrome 145 beta

Data di pubblicazione: 14 gennaio 2026

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 è in versione beta al 14 gennaio 2026. Puoi scaricare l'ultima versione su Google.com per computer o sul Google Play Store su Android.

CSS e UI

Supportare la proprietà CSS text-justify

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

Migliora il calcolo del bordo dell'ombra border-radius per valori border-radius elevati

Questo miglioramento 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 regolazione del raggio del bordo, che garantisce che gli angoli appaiano nitidi per raggi piccoli, ora viene smorzato progressivamente 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.

Disposizione a più colonne CSS con wrapping delle colonne

A partire da Chrome 145, le proprietà column-wrap e column-height sono supportate nel layout a più colonne. Queste proprietà consentono di disporre le colonne su una nuova riga nella direzione del blocco.

Prima di Chrome 145, se l'altezza del contenitore multicolonna era limitata, i contenuti che non rientravano nello spazio disponibile venivano visualizzati come colonne di overflow nella direzione in linea. In questo modo verrà creata una barra di scorrimento orizzontale sul web. Con le proprietà column-height e column-wrap puoi impostare un'altezza per la riga di colonne e impostare le colonne di overflow in modo che vengano visualizzate come una nuova riga.

Scopri di più in Supporto delle colonne con wrapping nel layout a più colonne.

Esporre l'evento onanimationcancel a GlobalEventHandlers

CSS Animations Level 1 estende l'interfaccia GlobalEventsHandler definita nella specifica HTML, dichiarando quattro nuovi gestori di eventi: onanimationstart, onanimationiteration, onanimationend e onanimationcancel.

Il gestore di eventi onanimationcancel non era presente nell'IDL GlobalEventsHandler e ora è esposto.

CSS letter-spacing e word-spacing: valori percentuali

Consente 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 rispetto alla misura di avanzamento del carattere spazio (U+0020). Ciò offre agli sviluppatori un controllo più solido e flessibile sulla tipografia, in particolare nei design adattabili in cui la spaziatura del testo deve adattarsi a diversi viewport e dimensioni dei caratteri.

Casella di elenco di selezione personalizzabile

Questa funzionalità estende il supporto della selezione personalizzabile 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 significa che l'elemento <select> viene visualizzato nel flusso o nella pagina anziché con un pulsante e un popup separati. Il rendering della casella di riepilogo è attivato su tutte le piattaforme tramite gli attributi multipli o di dimensione, come <select multiple> o <select size=4>. Quando la proprietà CSS appearance:base-select viene applicata all'elemento <select> con questi attributi, ora avrà un rendering e un comportamento di input migliorati.

Questa funzionalità non supporta la selezione personalizzabile per il popup di selezione multipla, che verrà implementata in un secondo momento. Per visualizzare un popup a selezione multipla, è necessario impostare i seguenti attributi: <select multiple size=1>.

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

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

Chrome sopprimerà quindi 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.

L'opzione focusVisible nel metodo focus()

Quando chiamano il metodo focus(), gli sviluppatori ora possono fornire un valore booleano focusVisible nel dizionario FocusOptions. Se impostato su true, un anello di messa a fuoco verrà sempre disegnato attorno all'elemento appena selezionato e corrisponderà alla pseudo-classe :focus-visible. Se è impostato su false, l'anello di messa a fuoco non verrà disegnato e :focus-visible non corrisponderà. In caso di assenza, lo user agent determina autonomamente se l'anello di messa a fuoco deve essere disegnato e la pseudoclasse :focus-visible corrisponde di conseguenza.

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 scorrimento principale. In questo modo si riduce la necessità di soluzioni alternative JavaScript personalizzate e si può controllare per elemento con overscroll-behavior.

Mostrare la posizione reale della finestra su Android

Chrome su Android ora 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 dalle coordinate (0, 0). Questo valore non è preciso per i tablet Android che utilizzano la modalità finestra in formato libero, pertanto i siti web ricevono sempre 0 quando eseguono 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.

API web

Prima di Chrome 145, 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 precommit, poiché durante precommit l'URL corrente non è ancora passato alla destinazione.

WebGPU: funzionalità subgroup_uniformity

Aggiunge un nuovo ambito all'analisi dell'uniformità e modifica le parti della lingua controllate in ciascun ambito per consentire di considerare l'uniformità della funzionalità dei sottogruppi in più casi.

Esegui upsert

Implementa la proposta ECMAScript per Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert e WeakMap.prototype.getOrInsertComputed.

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

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

Consente ai chiamanti di specificare un maxAge quando impostano un cookie con l'API Cookie Store.

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

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

Attivazione permanente per l'evento clipboardchange

Chrome ora richiede l'attivazione utente persistente o l'autorizzazione clipboard-read per attivare gli eventi clipboardchange, impedendo il monitoraggio non autorizzato degli appunti. Questa modifica è definita nella specifica dell'API Clipboard.

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

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

Consentire alle applicazioni web di comprendere i tempi di esecuzione bimodali

Le applicazioni web potrebbero risentire di una distribuzione bimodale nelle prestazioni di caricamento delle pagine a causa di fattori al di fuori del controllo dell'applicazione. Ad esempio, quando un user agent viene avviato per la prima volta in uno scenario di "avvio a freddo", deve eseguire molte attività di inizializzazione costose che competono per le risorse di sistema. Anche le estensioni del browser possono influire sulle prestazioni, poiché alcune eseguono codice aggiuntivo su ogni pagina che visiti, aumentando l'utilizzo della CPU e rallentando i tempi di risposta. Allo stesso modo, quando un computer è già impegnato in attività intensive, le pagine web potrebbero caricarsi più lentamente di conseguenza.

In questi scenari, i contenuti che l'app web tenta di caricare saranno in competizione con altre attività in corso sul sistema. In questo modo è difficile rilevare se i problemi di prestazioni si verificano all'interno delle applicazioni web stesse o a causa di fattori esterni.

Un nuovo campo confidence nell'oggetto PerformanceNavigationTiming consente agli sviluppatori di capire se i tempi di navigazione sono rappresentativi della loro applicazione web.

Aggiungi presentationTime e paintTime alle voci di rendimento

Esporre paintTime e presentationTime in tempistica degli elementi, LCP, frame di animazione lunghi e tempistica di rendering.

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. Consulta la sezione LCP e INP ora disponibili come baseline.

Utilizzo di pixel CSS 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 attuale non è coerente con altre API correlate al layout, che utilizzano tutte i pixel CSS. Questa modifica migliora la coerenza, semplifica l'utilizzo per gli sviluppatori e si allinea alle unità previste nel debug e negli strumenti.

Tieni presente che questa operazione non influisce sul valore della metrica CLS, ma sulle funzionalità di debug che mostrano screenshot e immagini di questi spostamenti.

Credenziali di sessione associate al dispositivo

Un modo per i siti web di associare in modo sicuro una sessione a un singolo dispositivo.

Consente ai server di avere una sessione associata in modo sicuro a un dispositivo. Il browser rinnova periodicamente la sessione come richiesto dal server, con la prova del possesso di una chiave privata.

Autorizzazioni suddivise per l'accesso alla rete locale

Si tratta di un miglioramento delle limitazioni di accesso alla rete locale, in cui abbiamo suddiviso l'autorizzazione richiesta da un'unica autorizzazione di accesso alla rete locale in due autorizzazioni separate.

Autorizzazione precedente: local-network-access

Nuove autorizzazioni:

  • local-network: per le richieste LNA agli IP nello spazio di indirizzi locale.
  • loopback-network: per le richieste LNA agli IP nello spazio degli indirizzi di loopback.

La vecchia autorizzazione viene mantenuta come alias e dovrebbe continuare a funzionare per permissions.query e per la Permissions Policy. Le attuali norme aziendali continueranno a funzionare allo stesso modo; norme aziendali più recenti e granulari verranno aggiunte in un secondo momento.

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 esposte direttamente agli sviluppatori web. Sebbene esistano vari getter di 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, gli sviluppatori che tentano di eseguire confronti same-origin o same-site durante la gestione delle origini serializzate spesso commettono errori che portano a vulnerabilità. Dal punto di vista filosofico, sembra una primitiva di sicurezza mancante che gli sviluppatori faticano a polyfill con precisione.

L'API Origin colma questa lacuna nella piattaforma introducendo un oggetto origin che incapsula il concetto di origine e fornisce metodi utili per il confronto, la serializzazione e l'analisi.

API Sanitizer

L'API Sanitizer offre agli sviluppatori un modo per rimuovere i contenuti che potrebbero eseguire script da contenuti HTML arbitrari forniti dall'utente. L'obiettivo è semplificare la creazione di applicazioni web prive di XSS.

Allineamento delle specifiche di Trusted Types

Trusted Types è stato implementato e lanciato originariamente in Chrome nel 2019.

La specifica Trusted Type è in fase di implementazione in altri browser. Nell'ambito di questo processo, vengono identificate e corrette varie incongruenze nella specifica. Questa release corregge questi problemi in Chrome in linea con la nuova specifica.

Nuove prove dell'origine

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

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 oppure di chiedere allo user agent di scegliere una dimensione del quantum di rendering appropriata se viene specificato hardware.

Ritiri e rimozioni

Questa versione di Chrome introduce le seguenti deprecazioni e rimozioni. Visita ChromeStatus.com per elenchi di ritiri pianificati, ritiri attuali e rimozioni precedenti.

Chrome rimuove il supporto per le videocamere virtuali obsolete su macOS

A partire da Chrome 145, il supporto per le videocamere virtuali obsolete viene rimosso per tutte le versioni di macOS supportate.

Su macOS, le moderne videocamere virtuali sono create utilizzando il framework Core Media IO, disponibile a partire da macOS 12.3. Apple ha contattato gli sviluppatori e tutto il software moderno per videocamere virtuali è stato migrato per utilizzare questo framework Core Media IO.

Le videocamere virtuali obsolete, create come plug-in DAL, sono state bloccate da macOS a partire da macOS 14.1 (2023) e non sono supportate in Safari dal 2018, se non prima.

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

Chrome sta rimuovendo l'estensione BMP per l'incorporamento di JPEG o PNG in BMP perché nessun altro browser la supporta e non ha alcuna utilità (come registrato utilizzando i dati UMA).

Stringhe user agent ridotte per impostazione predefinita

A partire da Chrome 145, il criterio UserAgentReduction verrà rimosso completamente. In precedenza, questo criterio era disponibile per controllare se Chrome inviava una stringa dello 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 ora è User-Agent Client Hints (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.

A partire da Chrome 145, il criterio UserAgentReduction non avrà alcun effetto. Chrome invierà 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.