Chrome 125

Data di rilascio stabile: 14 maggio 2024

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

HTML e DOM

Serializzazione shadow DOM dichiarativa

Una funzionalità che consente agli sviluppatori di serializzare gli alberi DOM contenenti radici shadow, recentemente standardizzata nello standard HTML.

Bug di monitoraggio n. 41490936 | Voce ChromeStatus.com | Specifiche

CSS

Posizionamento ancoraggio CSS

Il posizionamento di ancoraggio CSS consente agli sviluppatori di eseguire il tethering di un elemento con una posizione assoluta a uno o più altri elementi della pagina (gli ancoraggi), in modo dichiarativo, senza utilizzare JavaScript. Il posizionamento degli ancoraggi funziona in modo efficace quando gli ancoraggi sono scorrevoli. Un caso d'uso comune è posizionare un popover come una descrizione comando accanto all'elemento che lo ha richiamato oppure un menu di selezione e il relativo elenco di opzioni popover. Prima della funzionalità di posizionamento dell'ancoraggio, questi casi d'uso richiedevano JavaScript per posizionare dinamicamente il popover e mantenerlo ancorato mentre l'elemento di richiamo veniva fatto scorrere, il che è una dimostrazione di prestazioni ed è difficile da capire. Con il posizionamento anchor, questi casi d'uso possono essere implementati in modo efficace e dichiarativo.

La funzionalità di posizionamento degli ancoraggi è costituita da un numero elevato di proprietà CSS. Alcune delle proprietà chiave sono le seguenti:

  • anchor-name: consente di impostare un elemento come ancoraggio per altri elementi.
  • position-anchor: descrive l'ancoraggio "predefinito" che un elemento di ancoraggio deve utilizzare per il posizionamento dell'ancoraggio.
  • La funzione anchor(): utilizzata per fare riferimento alla posizione dell'elemento ancoraggio, nel posizionamento dell'elemento ancorato.
  • inset-area: una forma abbreviata del posizionamento, per posizioni relative comuni.

Presentazione dell'API di posizionamento anchor CSS | Bug di monitoraggio n. 40059176 | Voce ChromeStatus.com | Specifiche

Funzioni di valore con rientri CSS: round(), mod() e rem()

Le funzioni con valore con rientri, round(), mod() e rem(), trasformano tutte un determinato valore in base a un altro "valore di passaggio".

La funzione CSS round() restituisce un numero arrotondato in base a una strategia di arrotondamento selezionata.

La funzione CSS mod() restituisce un modulo rimasto quando il primo parametro viene diviso per il secondo parametro, in modo simile all'operatore JavaScript resto (%). Il modulo è il valore rimasto quando un operando, il dividendo, è diviso per un secondo operando, il divisore. Prende sempre il segno del divisore.

La funzione CSS rem() restituisce un resto quando il primo parametro viene diviso per il secondo parametro, in modo simile all'operatore JavaScript resto (%). Il resto è il valore rimasto quando un operando, il dividendo, è diviso per un secondo operando, il divisore. Prende sempre il segno del dividendo.

Bug di monitoraggio #40253179 | Voce ChromeStatus.com | Specifiche

Nuova sintassi per il codice CSS personalizzato :state()

Lo stato personalizzato del CSS consente agli elementi personalizzati di esporre le proprie pseudo-classi. La sintassi è ora specificata nel CSSWG e Chrome 125 ora supporta la nuova sintassi :state(foo). Questa modifica avrà una finestra in cui Chrome supporterà sia la vecchia sintassi (:--foo) sia la nuova sintassi, in modo che i siti web possano passare a quella nuova.

Voce ChromeStatus.com | Specifiche

Rimuovi la discontinuità per i colori Oklab e Oklch con una leggerezza di quasi il 100% o 0

Prima di questa modifica, tutti i colori Lab, LCH, Oklab e Oklch con un valore di luminosità del 100% venivano visualizzati in bianco, indipendentemente dagli altri due parametri. Tutti i colori in questi spazi con un valore di luminosità pari a 0 sono stati visualizzati come neri. Questi due mapping hanno causato discontinuità nei gradienti e non erano previsti per gli sviluppatori web.

Con questo rollback, questi colori non vengono più mappati artificialmente e il colore visualizzato risultante sarà continuo con i colori vicini e dipenderà dalla mappatura della gamma del display.

Voce ChromeStatus.com | Specifiche

Barre di scorrimento principali della combinazione di colori utilizzata

Consente al browser di utilizzare la combinazione di colori preferita dall'utente per visualizzare le barre di scorrimento dell'area visibile se il valore delle "schemi di colori supportate dalla pagina" è "normale" o non è specificato e il valore calcolato di color-scheme per l'elemento principale è normal. Le barre di scorrimento dell'area visibile possono essere considerate esterne ai contenuti web. Pertanto, gli user agent devono rispettare la combinazione di colori preferita dall'utente durante il rendering delle barre di scorrimento dell'area visibile, se lo sviluppatore non ha specificato esplicitamente il supporto per le combinazioni di colori.

Questa modifica non impedisce agli sviluppatori di controllare la combinazione di colori per le barre di scorrimento. Il nuovo comportamento fa sì che il browser utilizzi lo schema colori preferito dall'utente per visualizzare le barre di scorrimento non overlay dell'area visibile solo se lo sviluppatore non ha specificato la combinazione di colori per l'elemento principale.

titolo | Bug di monitoraggio #40259909 | Voce ChromeStatus.com | Specifiche

Classe view-transitions

È disponibile una nuova proprietà CSS view-transition-class che ti consente di specificare una o più classi di transizione della vista. Puoi quindi selezionare gli pseudoelementi ViewTransition utilizzando queste classi, ad esempio ::view-transition-group(*.class).

Questa è un'estensione dell'API ViewTransizione che semplifica lo stile degli pseudo elementi di transizione della vista in modo simile a come le classi CSS semplificano lo stile dei normali elementi DOM.

Bug di monitoraggio #41492972 | Voce ChromeStatus.com | Specifiche

Caricamento in corso…

Accetta URL HTTP e HTTPS durante la creazione di WebSocket

Questo aggiornamento consente gli schemi HTTP e HTTPS nel costruttore WebSocket, consentendo anche agli sviluppatori di utilizzare URL relativi. Questi sono normalizzati per gli schemi interni ws: e wss:.

Bug di monitoraggio n. 325979102 | Voce ChromeStatus.com | Specifiche

API web

Aggiunte all'API Attribution Reporting

Sono state aggiunte funzionalità all'API Attribution Reporting per creare ulteriori funzionalità di debug supportando l'analisi dei report di debug degli errori, migliorare l'ergonomia dell'API supportando un campo per specificare la piattaforma di registrazione preferita e migliorare la privacy.

Voce ChromeStatus.com

L'API Compute Pressure

L'API Compute Pressure offre stati di alto livello che rappresentano il carico della CPU sul sistema. Consente all'implementazione di utilizzare le giuste metriche hardware di base per garantire che gli utenti possano sfruttare tutta la potenza di elaborazione a loro disposizione, purché il sistema non sia sotto stress ingestibile.

Intel ha gestito il lavoro di progettazione e implementazione di questa API, che consentirà alle app di videoconferenza di bilanciare dinamicamente funzionalità e prestazioni.

API Compute Pressure | Bug di monitoraggio #40683064 | Voce ChromeStatus.com | Specifiche

Viene avviata l'estensione proposta dell'API Storage Access (compatibile con le versioni precedenti ed è in prova dell'origine) per consentire l'accesso all'archiviazione non partizionata di cookie e non in un contesto di terze parti. L'API attuale fornisce l'accesso solo ai cookie, che hanno casi d'uso diversi rispetto all'archiviazione non basata sui cookie.

Bug di monitoraggio n. 40282415 | Voce ChromeStatus.com | Specifiche

Requisito CORS FedCM sull'endpoint di asserzione ID

I recuperi nell'API FedCM sono difficili da ragionare a causa delle loro proprietà. Sebbene sia in corso una discussione in merito all'endpoint degli account, è anche in gran parte d'accordo sul fatto che l'endpoint dell'asserzione ID debba utilizzare CORS. Questo aggiornamento allinea le proprietà di sicurezza di questo recupero agli altri recuperi nella piattaforma web.

Aggiornamenti di FedCM: prova dell'origine dell'API Button Mode, CORS e SameSite | Bug di monitoraggio #40284123 | Voce ChromeStatus.com

FedCM ora invia richieste di asserzioni ID con CORS. Questa modifica fa sì che Chrome non invii più cookie SameSite=Strict all'endpoint dell'asserzione dell'ID, anche se Chrome invia comunque SameSite=None. Poiché non ha senso inviare un insieme diverso di cookie all'endpoint degli account e all'endpoint di asserzione ID, questa modifica li rende coerenti.

Il mancato invio di cookie SameSite=Strict è inoltre coerente con il comportamento di requestStorageAccess e le richieste tra siti in generale.

Bug di monitoraggio n. 329145816 | Voce ChromeStatus.com | Specifiche

Azione predefinita per lo spostamento del mouse interoperabile

Chrome consentiva di annullare gli eventi di mousemove per impedire altre API come la selezione del testo (e persino la funzione di trascinamento della selezione in passato). Non corrisponde ad altri browser principali né alle specifiche degli eventi UI. La selezione del testo non sarà più l'azione predefinita del mousemove. La selezione del testo e il trascinamento possono comunque essere impediti tramite l'annullamento degli eventi selectstart e dragstart rispettivamente.

Questa funzionalità verrà implementata gradualmente a partire da Chrome 125 e dovrebbe essere disponibile per tutti gli utenti entro la versione 126.

Demo | Bug di monitoraggio #40078978 | Voce ChromeStatus.com | Specifiche

Modificatori di espressioni regolari

I modificatori di espressioni regolari aggiungono la possibilità di modificare localmente i flag i, m e s all'interno di un pattern.

Per attivare un flag per una sottoespressione, utilizza (?X:subexpr) dove X è uno tra i, m o s. Per disabilitare un flag per una sottoespressione, utilizza (-X:subexpr).

Ad esempio, per il flag i senza distinzione tra maiuscole e minuscole:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

Voce ChromeStatus.com | Specifiche

Gruppi di acquisizione denominati duplicati di espressioni regolari

I gruppi di acquisizione con nome duplicati ti consentono di utilizzare lo stesso nome di gruppo di acquisizione in tutte le alternative. Ad esempio:

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

In questo caso, year è valido per la prima alternativa ((?<year>[0-9]{4})-[0-9]{2}) o per la seconda alternativa ([0-9]{2}-(?<year>[0-9]{4})).

Voce ChromeStatus.com | Specifiche

App di Chrome

API Direct Sockets nelle app di Chrome

Questo aggiornamento aiuta a facilitare la transizione delle app specializzate dalle app di Chrome alle app web isolate, abilitando i socket diretti nelle app di Chrome, consentendo alle app web di stabilire le comunicazioni con protocollo TCP e Datagram Protocol (UDP) con i dispositivi e i sistemi di rete.

Voce ChromeStatus.com | Specifiche

Nuove prove dell'origine

API FedCM Button Mode e Use Other Account API

Questa prova dell'origine include le seguenti due API FedCM.

L'API Button Mode consente ai siti web di chiamare FedCM facendo clic su un pulsante, ad esempio facendo clic su un pulsante Accedi all'IdP. Ciò richiede che FedCM garantisca di rispondere sempre con un'interfaccia utente visibile, al contrario della modalità widget, che non mostra una UI quando gli utenti si disconnettono. La chiamata all'API FedCM in modalità pulsante consente agli utenti di accedere all'IdP (in una finestra di dialogo), quando gli utenti non sono connessi.

Inoltre, poiché la modalità del pulsante viene chiamata all'interno di un gesto esplicito dell'utente, l'interfaccia utente potrebbe anche essere più in evidenza (ad esempio, centrata e modale) rispetto a quella della modalità widget (che non ha questa intenzione esplicita). Scopri di più su come funziona l'API Button Mode in Aggiornamenti FedCM: prova dell'origine dell'API Button Mode, CORS e SameSite

L'API Use Other Account consente a un provider di identità di consentire agli utenti di accedere ad altri account.

Prova dell'origine | Demo | Bug di monitoraggio n. 40284792 | Voce ChromeStatus.com | Specifiche

API pieghevoli

Questa prova dell'origine include l'API Device Posture e l'API Viewport Audiences Enumration. Queste API sono progettate per aiutare gli sviluppatori a scegliere come target i dispositivi pieghevoli.

Prova dell'origine | Prova dell'origine per API pieghevoli | Voce ChromeStatus.com | Specifiche

Prova relativa al ritiro di proprietà e metodi Fullscreen HTMLVideoElement con prefisso

Questa prova relativa al ritiro ti consente di riattivare il supporto per le proprietà e i metodi HTMLVideoElement con prefisso se hai bisogno di più tempo per modificare il codice.

Prova origine | Voce ChromeStatus.com

Ignora scansione di precaricamento

Salta lo scanner di precaricamento per esplorare i compromessi in termini di prestazioni per le pagine senza recupero di risorse secondarie.

Il passaggio di precaricamento dello scanner favorisce le prestazioni delle pagine con recuperi di risorse secondarie, attraverso l'implementazione del precaricamento speculativo. Tuttavia, per le pagine che non traggono vantaggio da questo passaggio, ovvero per le pagine senza risorse secondarie, si tratta di un overhead aggiuntivo di elaborazione con pochi vantaggi.

Per gli utenti web avanzati che desiderano ridurre il sovraccarico, questo esperimento fornisce un controllo a livello di pagina per disattivare lo scanner di precaricamento. I dati raccolti da questo esperimento potrebbero valutare se sarebbe utile un'API modificata o un'implementazione diversa dello scanner di precaricamento HTML.

Prova origine | Bug di monitoraggio n. 330802493 | Voce ChromeStatus.com | Specifiche

Rimozioni e deprecazioni

Rimuovi l'alias "window-placement" per il criterio di autorizzazione e autorizzazione "window-management"

Rimuove l'alias "window-placement" per il criterio di autorizzazione e autorizzazione "window-management". Questa operazione fa parte di uno sforzo più ampio per rinominare le stringhe, ritirando e rimuovendo "window-placement" in futuro. La modifica alla terminologia migliora la longevità del descrittore man mano che l'API di gestione delle finestre si evolve nel tempo.

titolo | Bug di monitoraggio #40842072 | Voce ChromeStatus.com | Specifiche

Rimozione delle norme aziendali: NewBaseUrlInheritanceBehaviorAllowed

La modifica del codice sottostante (abilita un nuovo comportamento di ereditarietà dell'URL di base) che questo criterio aziendale esegue l'override è stata abilitata nelle release stabili da agosto 2023 (Chrome 118). Poiché i problemi noti sono stati risolti, questo criterio aziendale è stato rimosso in Chrome 125.

Voce ChromeStatus.com

Rimozione delle proprietà e dei metodi a schermo intero HTMLVideoElement con prefisso

Le API a schermo intero HTMLVideoElement con prefisso sono state ritirate da Chrome 38. Sono stati sostituiti da Element.requestFullscreen(), che per la prima volta non aveva più prefisso nel 2018 in Chrome 71.

Le proprietà e i metodi seguenti verranno rimossi da HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (nota le diverse lettere maiuscole della "S" in Schermo intero)
  • webkitExitFullScreen()

Registrati alla prova del ritiro riportata in questo post, se il tuo sito si basa ancora su questi metodi e hai bisogno di più tempo per l'aggiornamento del codice.

Voce ChromeStatus.com

Per approfondire

Cerchi altro? Dai un'occhiata a queste risorse aggiuntive.

Scarica Google Chrome

Scarica Chrome per Android, computer o iOS.