Chrome 125

Data di rilascio stabile: 14 maggio 2024

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

HTML e DOM

Serializzazione del DOM shadow dichiarativo

Una funzionalità per consentire agli sviluppatori di serializzare gli alberi DOM contenenti radici ombra, standardizzato di recente nello standard HTML.

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

CSS

Posizionamento degli anchor CSS

Il posizionamento dell'ancoraggio CSS consente agli sviluppatori di eseguire il tethering con un elemento posizionato in modo assoluto a uno o più altri elementi della pagina (gli ancoraggi), in modo dichiarativo, senza utilizzare JavaScript. Il posizionamento degli ancoraggi è efficace quando gli ancoraggi sono scorrevoli. Un caso d'uso comune è posizionare un popup, ad esempio un'opzione di suggerimento, accanto all'elemento che lo ha richiamato o un menu selezionato e il relativo elenco di opzioni popup. Prima della funzionalità di posizionamento degli ancoraggi, questi casi d'uso richiedevano JavaScript per posizionare dinamicamente il popover e mantenerlo ancorato come l'elemento di richiamo è stato fatto scorrere, che è una pistola per esibizioni e nel modo giusto. Grazie al posizionamento dell'anchor, questi casi d'uso possono essere implementati in modo efficace e dichiarativo.

La funzionalità di posizionamento dell'ancora è composta da un numero elevato di proprietà CSS. Ecco alcune delle proprietà principali:

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

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

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

Le funzioni con valori con rientri, round(), mod() e rem(), trasformano tutti un dato in base a un altro "valore del passo".

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

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

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

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

Nuova sintassi per il CSS personalizzato :state()

Lo stato personalizzato CSS consente agli elementi personalizzati di esporre le proprie pseudoclassi. La la sintassi è stata specificata nel CSSWG e Chrome 125 ora supporta il nuovo sintassi :state(foo). Per questa modifica verrà visualizzata una finestra in cui Chrome supporterà sia la vecchia sintassi (:--foo) sia la nuova, in modo che i siti web possano passare alla nuova.

Voce di ChromeStatus.com | Specifiche

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

Prima di questo cambiamento, tutti i colori Lab, LCH, Oklab e Oklch con un valore di luminosità del 100% è stato visualizzato come bianco, indipendentemente dagli altri due parametri. Tutti i colori in questi spazi con un valore di luminosità pari a 0 sono stati visualizzati in nero. Questi due mappature hanno causato discontinuità nei gradienti e sono state inaspettate sviluppatori.

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 di ChromeStatus.com | Specifiche

Barre di scorrimento principali della combinazione di colori utilizzata

Il browser utilizza la combinazione di colori preferita dall'utente per visualizzare le barre di scorrimento del viewport se il valore di "combinazioni 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 al di fuori dei 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 delle combinazioni di colori.

Questa modifica non impedisce agli sviluppatori di controllare la combinazione di colori per barre di scorrimento. Il nuovo comportamento consente al browser di utilizzare la combinazione di colori preferita dall'utente per visualizzare le barre di scorrimento non in overlay del viewport solo se lo sviluppatore non ha specificato la combinazione di colori per l'elemento principale.

titolo | Bug di monitoraggio n. 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 pseudo elementi ViewTransition utilizzando queste classi, ad esempio ::view-transition-group(*.class).

Questa è un'estensione dell'API ViewTransaction che semplifica lo stile degli pseudo elementi delle transizioni di visualizzazione in modo simile le classi CSS semplificano lo stile dei normali elementi DOM.

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

Caricamento in corso

Accetta URL HTTP e HTTPS durante la creazione di WebSocket

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

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

API web

Aggiunte all'API Attribution Reporting

All'API Attribution Reporting sono state aggiunte funzionalità per creare ulteriori funzionalità di debug supportando i report di debug relativi agli errori di analisi, migliorare l'ergonomia dell'API supportando un campo per specificare la piattaforma di registrazione preferita e migliorare la privacy.

Voce di ChromeStatus.com

L'API Compute Pressure

L'API Compute Pressure offre che rappresentano il carico della CPU sul sistema. Consente all'implementazione di utilizzare le metriche hardware sottostanti corrette per garantire che gli utenti possano sfruttare tutta la potenza di elaborazione a loro disposizione, a condizione che il sistema non sia sottoposto a uno stress incontrollabile.

Intel ha guidato 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 di ChromeStatus.com | Specifiche

Questa operazione avvia l'estensione proposta dell'API Storage Access (a ritroso ed è stato sottoposto alla prova di origine) per consentire l'accesso a cookie non partizionati e archiviazione senza cookie in un contesto di terze parti. L'API attuale fornisce solo accesso ai cookie, che hanno casi d'uso diversi rispetto allo spazio di archiviazione non cookie.

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

Requisito CORS FedCM sull'endpoint di asserzione ID

È difficile interpretare i recuperi nell'API FedCM a causa delle loro proprietà come richiesto. Sebbene sia in corso una discussione sull'endpoint account, c'è anche un ampio consenso sul fatto che l'endpoint di affermazione dell'ID debba utilizzare CORS. Questo aggiornamento allinea meglio le proprietà di sicurezza di questo recupero a altri recuperi nella piattaforma web.

Aggiornamenti di FedCM: prova dell'origine dell'API Modalità pulsante, CORS e SameSite | Bug di monitoraggio n. 40284123 | Voce di ChromeStatus.com

FedCM ora invia richieste di affermazione dell'identità con CORS. Questa modifica significa che Chrome non invia più cookie SameSite=Strict all'endpoint di affermazione dell'ID, anche se Chrome invia ancora SameSite=None. Poiché non ha senso inviare un insieme diverso di cookie all'endpoint account e all'endpoint dell'affermazione dell'ID, questa modifica li rende coerenti.

La mancata invio di cookie SameSite=Strict è inoltre coerente con il comportamento di requestStorageAccess e con le richieste cross-site in generale.

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

Azione predefinita mousemove interoperabile

Chrome ha consentito di annullare gli eventi mousemove per impedire ad altre API come il testo selezione (e persino con trascinamento della selezione). Questo non corrisponde agli altri browser principali e non è conforme alle specifiche dell'evento UI. Ora la selezione del testo non sarà più l'azione predefinita di mousemove. La selezione del testo e il trascinamento possono essere ancora impediti annullando rispettivamente gli eventi selectstart e dragstart.

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

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

Modificatori delle espressioni regolari

I modificatori di espressione regolare consentono di modificare localmente i, m, e s all'interno di un pattern.

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

Ad esempio, per il flag i per l'insensibilità alle maiuscole:

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

Espressione regolare con gruppi di cattura denominati duplicati

I gruppi di cattura con nome duplicati ti consentono di utilizzare lo stesso nome di gruppo di cattura tra 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 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 semplifica la transizione delle app specializzate dalle app di Chrome alle app web isolate attivando le prese dirette nelle app di Chrome, consentendo alle app web di stabilire comunicazioni dirette tramite Transmission Control Protocol (TCP) e User Datagram Protocol (UDP) con dispositivi e sistemi di rete.

Voce di ChromeStatus.com | Specifiche

Nuove prove dell'origine

API FedCM Button Mode e API Use Other Account

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

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

Inoltre, poiché la modalità di pulsante viene richiamata all'interno di un gesto esplicito dell'utente, l'interfaccia utente può essere anche più in evidenza (ad esempio, centrata e modale) rispetto all'interfaccia utente della modalità del widget (che non ha un'intenzione così esplicita). Scopri di più su come funziona l'API Button Mode in Aggiornamenti di 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 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 Enumeration di segmenti di viewport. Queste API sono progettate per aiutare gli sviluppatori a scegliere come target i dispositivi pieghevoli.

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

Prova di ritiro per le proprietà e i metodi di HTMLVideoElement Fullscreen con prefisso

Questa prova di 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.

Origin Trial | Voce di ChromeStatus.com

Salta la 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 dello scanner di precaricamento migliora il rendimento delle pagine con recupero di risorse secondarie tramite l'implementazione del precaricamento speculativo. Tuttavia, per le pagine che non beneficiano di 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 vogliono trarre vantaggio dalla riduzione di questo overhead, questo esperimento fornisce un controllo a livello di pagina per disattivare lo scanner di precaricamento. I dati raccolti da questo esperimento potrebbero essere utili per valutare se sarebbe utile un'API modificata o un'implementazione diversa dello scanner di precaricamento HTML.

Origin Trial | Tracking bug #330802493 | Voce di ChromeStatus.com | Specifiche

Ritiro e rimozione

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

Rimuove il "posizionamento finestra" alias per autorizzazioni e norme relative alle autorizzazioni "gestione delle finestre". Questo fa parte di un progetto più ampio volto a rinominare le stringhe, eventualmente ritirando e rimuovendo "window-placement". La modifica della terminologia migliora la longevità del descrittore man mano che l'API WindowManagement si evolve nel tempo.

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

Rimozione del criterio Enterprise: NewBaseUrlInheritanceBehaviorAllowed

La modifica al codice sottostante (abilita il nuovo comportamento di ereditarietà dell'URL di base) che questo l'override dei criteri aziendali è stato abilitato nelle release stabili da agosto 2023 (Chrome 118). Poiché i problemi noti sono stati risolti, questo criterio per le aziende è stato rimosso in Chrome 125.

Voce ChromeStatus.com

Rimozione di proprietà e metodi HTMLVideoElement Fullscreen con il prefisso

Le API a schermo intero HTMLVideoElement con prefisso sono state deprecate dal giorno Chrome 38. Sono stati sostituiti da Element.requestFullscreen(), che per primo è stato fornito senza prefisso nel 2018 in Chrome 71.

Le seguenti proprietà e metodi verranno rimossi da HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (nota la diversa capitalizzazione della "S" in FullScreen)
  • webkitExitFullScreen()

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

Voce ChromeStatus.com

Per approfondire

Cerchi altro? Consulta queste risorse aggiuntive.

Scarica Google Chrome

Scarica Chrome per Android, computer o iOS.