Chrome 116 beta

Percorso di animazione CSS, API NotRipristinadReason della cache back-forward, Document Picture in picture e altro ancora.

Se non diversamente indicato, le modifiche descritte si applicano alla release 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 116 è in versione beta a partire dal 19 luglio 2023. Puoi scaricare la versione più recente da Google.com per computer oppure dal Google Play Store per Android.

CSS

In questa release sono state aggiunte due nuove funzionalità CSS.

Percorso di animazione CSS

Il percorso di animazione consente agli autori di posizionare qualsiasi oggetto grafico e di animarlo lungo un percorso specificato dallo sviluppatore. Ciò consente una serie di nuove ed efficaci possibilità di trasformazione, come il posizionamento mediante coordinate polari (con la funzione ray()) anziché le coordinate rettangolari standard utilizzate dalla funzione translate() oppure l'animazione di un elemento lungo un percorso definito. In questo modo è più facile definire transizioni spaziali 2D complesse e accattivanti. Un percorso può essere specificato come circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray() e url().

Visualizzazione e animazioni di visibilità dei contenuti

Chrome 116 supporta le proprietà display e content-visibility nelle animazioni dei fotogrammi chiave. Questo supporto consente agli sviluppatori di creare animazioni di uscita dopo le quali l'elemento diventa automaticamente display: none o content-visibility: hidden senza dover scrivere codice JavaScript per gestire il cambio al termine dell'animazione. In questo modo le animazioni di uscita per gli elementi possono essere aggiunti esclusivamente in CSS.

API web

AbortSignal.any()

Restituisce un segnale che viene interrotto quando uno qualsiasi dei segnali di origine viene interrotto. Gli sviluppatori possono utilizzarlo per combinare origini di interruzione indipendenti, ad esempio i timeout specificati con AbortSignal.timeout() e gli indicatori associati a un AbortController, e passarli ad API asincrone come fetch().

Supporto BYOB per il recupero

L'implementazione di ReadableStream in Chrome supporta lettori BYOB (Bring-your-own-buffer) per stream di byte leggibili. Ora Response.body è anche un flusso di byte leggibile anziché uno stream leggibile "predefinito". In questo modo è possibile usare l'API Fetch con i lettori BYOB, riducendo l'overhead e le copie della garbage collection e migliorando la reattività per gli utenti. Anche Blob.stream() ora beneficia di questa ottimizzazione.

API NotresetdReason della cache back-forward

L'API NotRipristinadReason riporta l'elenco dei motivi per cui una pagina non viene pubblicata da BFcache in una struttura ad albero di frame, tramite l'API PerformanceNavigatorTiming.

Picture in picture del documento

Picture in picture del documento aggiunge una nuova API per aprire una finestra sempre in primo piano che può essere compilata con HTMLElements arbitrari. Si tratta di un'espansione dell'API HTMLVideoElement esistente che consente di inserire un HTMLVideoElement solo in una finestra Picture in picture (PIP). Ciò consente agli sviluppatori web di fornire agli utenti un'esperienza PIP migliore.

Caratteri jolly espansi nelle origini dei criteri relativi alle autorizzazioni

I caratteri jolly dei sottodomini nelle liste consentite fornivano una preziosa flessibilità, ma differivano dai parser di caratteri jolly esistenti e richiedevano codice e specifiche inediti. Questo intento ridurrà l'overhead riutilizzando parti della specifica esistente di Content Security Policy e consentendo l'inserimento di scheme + wildcard domain e wildcard port nella lista consentita. In particolare, questo intent adotterebbe la definizione di host-sorgente e schema-sorgente anziché origine nella definizione della lista consentita, richiedendo al contempo che la parte del percorso sia vuota (poiché i criteri di autorizzazione si applicano alle origini corrispondenti).

Bundle FedCM: API Login Hint, API User Info e API RP Context

Questo aggiornamento in bundle consente la personalizzazione dei flussi di accesso federato che utilizzano l'API FedCM (Federated Credential Management).

Con l'API Login Hint, la parte richiedente può specificare un suggerimento relativo all'account utente da visualizzare nell'interfaccia utente di FedCM. Viene utilizzato principalmente per fornire una migliore esperienza utente agli utenti di ritorno.

L'API User Info consente al provider di identità (IdP) di recuperare le informazioni degli utenti per personalizzare l'esperienza di accesso per gli utenti di ritorno, ad esempio tramite pulsanti personalizzati "Accedi con IdP".

Con l'API RP Context, la parte soggetta a limitazioni può richiedere che la finestra di dialogo FedCM sostituisca il titolo "Accedi" con "Registrati", "Usa" o "Continua" per allineare l'intent effettivo per l'utente.

Eventi di ingresso/uscita del mouse e del puntatore non composto

Imposta la proprietà event.composed negli eventi mouseenter, mouseleave, pointerenter e pointerleave "false" in modo che sia conforme alle specifiche e per correggere le lacune nell'interoperabilità. Sia la specifica degli eventi UI per gli eventi mouse e quella degli eventi puntatore definiscono questi eventi come non composti. Entrambe le specifiche sono state allontanate dalle definizioni originali alcuni anni fa: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 Oltre a colmare il divario di interoperabilità, questa modifica corregge anche un doppio o triplo invio errato di questi eventi a uno shadow DOM host in Chromium quando l'host shadow DOM è in ascolto in Chromium.

Rimuovi l'ereditarietà della sandbox document.open

Al momento, i flag della sandbox del chiamante sono attualmente applicati al chiamante quando document.open ha come target una finestra diversa. Dopo questa modifica, non sarà più necessario.

La segnalazione di Critical-CH ha causato il riavvio in NavigationTiming

I siti web possono indicare che un determinato client hint è fondamentale per la pagina includendolo in un'intestazione della risposta HTTP Critical-CH. In questo modo viene attivato un riavvio della connessione se il suggerimento elencato nell'intestazione della risposta HTTP Critical-CH può essere (ma non è stato) incluso nella richiesta HTTP inviata inizialmente. Questo intent propone di aggiungere readonly attribute DOMHighResTimeStamp criticalCHRestart; all'interfaccia PerformanceNavigationTiming.

Prove dell'origine in corso

In Chrome 116 puoi attivare le seguenti nuove prove delle origini.

COOP: limitare le proprietà

Cross-Origin-Opener-Policy viene utilizzato per separare la relazione tra i popup e gli elementi di apertura al fine di aumentare la sicurezza. "restrict-properties" è un valore proposto che limita la relazione invece di interromperla completamente. Attiva crossOriginIsolated se accoppiato a COEP.

Registrati alla prova delle origini delle proprietà con restrizioni di COOP.

API FedCM Sign-in Status

L'API Sign-in Status dell'IdP dell'API Federated Credential Management (FedCM) consente a un provider di identità (IdP) di segnalare al browser quando i suoi utenti eseguono l'accesso/uscita, in modo che FedCM possa aumentare le proprietà di privacy ottimizzando la sua UX.

Registrati alla prova dell'origine dello stato di accesso di FedCM

API EditContext

L'API EditContext semplifica il processo di integrazione di un'applicazione web con metodi avanzati di immissione testo come la scrittura di forme VK, riquadri per la scrittura a mano libera, riconoscimento vocale e composizioni IME. L'API migliora l'accessibilità e le prestazioni e sblocca nuove funzionalità per gli editor basati sul web.

Registrati alla prova dell'origine dell'API EditContext

Tempi fotogrammi animazione lunghi

Questa è un'estensione delle attività lunghe. Misura l'attività e il successivo aggiornamento del rendering, aggiungendo informazioni come script a lunga esecuzione, tempo di rendering e tempo trascorso in layout e stile forzati, noti come thrashing del layout.

Gli sviluppatori possono usare questa funzionalità come diagnostica di "lentezza", misurata dall'INP, individuando le cause della congestione del thread principale, che spesso è la causa di un errore INP.

Registrati alla prova dell'origine di Long Animation Frame Timing