percorso di movimento CSS, API NotRipristinadReason della cache back/forward, Picture in picture di Document Picture e altro.
Se non diversamente indicato, le modifiche descritte si applicano alla release del canale beta di Chrome più recente per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o nell'elenco su ChromeStatus.com. Chrome 116 è in versione beta a partire dal 19 luglio 2023. Puoi scaricare la versione più recente su Google.com per computer o dal Google Play Store su Android.
CSS
In questa release sono state aggiunte due nuove funzionalità CSS.
Percorso di movimento 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 utilizzando le coordinate polari (con la funzione ray()
) anziché le coordinate rettangolari standard utilizzate dalla funzione translate()
o l'animazione di un elemento lungo un percorso definito. In questo modo è più facile definire transizioni spaziali 2D complesse e meravigliose. Un percorso può essere specificato come circle()
, ellipse()
, rect()
, inset()
, xywh()
, polygon()
, ray()
e url()
.
Animazioni di visualizzazione e 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, dopodiché 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 è possibile aggiungere animazioni di uscita per gli elementi 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 utilizzare questo dato per combinare origini di interruzione indipendenti, ad esempio i timeout specificati con AbortSignal.timeout()
e indicatori associati a un AbortController, e trasmetterli ad API asincrone come fetch()
.
Supporto BYOB per il recupero
L'implementazione di ReadableStream in Chrome supporta i lettori BYOB (Bring your own device, Porta il tuo buffer) per flussi di byte leggibili. Ora Response.body
è anche uno stream di byte leggibile anziché un valore "predefinito" uno stream leggibile. In questo modo l'API Fetch può essere utilizzata 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 NotRipristinadReason Cache back/forward
L'API NotRipristinadReason segnalerà l'elenco dei motivi per cui una pagina non viene fornita da BFcache in una struttura ad albero di frame, tramite l'API Performance BrowsingTiming.
Picture in picture del documento
Picture in picture di Documento aggiunge una nuova API per aprire una finestra sempre attiva che può essere compilata con HTMLElements
arbitrario. Si tratta di un'espansione dell'API HTMLVideoElement
esistente che consente di inserire un elemento HTMLVideoElement
solo in una finestra Picture in picture (PIP). In questo modo gli sviluppatori web possono offrire una migliore esperienza PIP agli utenti.
Caratteri jolly espansi nelle origini dei criteri relativi alle autorizzazioni
I caratteri jolly dei sottodomini nelle liste consentite fornivano una preziosa flessibilità, ma erano diversi dai parser di caratteri jolly esistenti e richiedevano un nuovo lavoro di codice e specifiche. Questo intent ridurrà l'overhead mediante il riutilizzo di parti della specifica esistente dei criteri di sicurezza del contenuto e l'inserimento di scheme + wildcard domain
e wildcard port
nella lista consentita. Nello specifico, questo intent adotterebbe la definizione di origine host e origine schema anziché origine nella definizione della lista consentita, richiedendo al contempo che la parte del percorso sia vuota (poiché i criteri delle autorizzazioni si applicano alle origini corrispondenti).
Bundle FedCM: API Login Hint, API User Info e API RP Context
Questo aggiornamento in bundle consente di personalizzare i flussi di accesso federati che utilizzano l'API Federated Credential Management (FedCM).
Con l'API Login Hint, la parte soggetta a limitazioni può specificare un hint relativo all'account utente che vuole visualizzare nell'interfaccia utente di FedCM. Viene utilizzato principalmente per fornire una migliore UX agli utenti di ritorno.
L'API User Info consente al provider di identità (IdP) di recuperare le informazioni dell'utente in modo da personalizzare l'esperienza di accesso per gli utenti di ritorno, ad esempio tramite pulsanti personalizzati "Accedi con l'IdP".
Con l'API RP Context, l'RP può richiedere alla finestra di dialogo FedCM di sostituire il titolo "Accedi" con "Registrati", "Usa" o "Continua" per allineare l'intenzione effettiva dell'utente.
Eventi di inserimento/uscita di mouse e puntatore non composti
Rendi la proprietà event.composed
in mouseenter
, mouseleave
, pointerenter
e pointerleave
eventi "false"
per essere conforme alle specifiche e correggere le lacune di interoperabilità. Sia la specifica degli eventi dell'interfaccia utente per gli eventi del mouse sia la specifica degli eventi puntatore definiscono questi eventi come non composti. Entrambe le specifiche sono passate 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 errore di invio di questi eventi a uno shadow DOM host in ascolto di Chromium quando
Rimuovi ereditarietà sandbox document.open
Attualmente le segnalazioni sandbox del chiamante vengono applicate al chiamante quando document.open
ha come target una finestra diversa. Dopo questa modifica, non sarà più possibile.
Report Critico-CH ha causato il riavvio in NavigationTiming
I siti web possono indicare che un particolare Client Hint è fondamentale per la pagina includendolo in un'intestazione della risposta HTTP Critical-CH
. In questo modo verrà attivato un riavvio della connessione se il suggerimento elencato nell'intestazione della risposta HTTP Critical-CH
potrebbe essere (ma non è stato) incluso nella richiesta HTTP inizialmente inviata. Questo intent propone di aggiungere readonly attribute DOMHighResTimeStamp criticalCHRestart;
all'interfaccia di PerformanceNavigationTiming
.
Prove dell'origine in corso
In Chrome 116 puoi attivare le seguenti nuove prove dell'origine.
COOP: limitazione-proprietà
Cross-Origin-Opener-Policy viene utilizzato per separare la relazione tra popup e apritori, in modo da aumentare la sicurezza. "restrict-properties" è un valore proposto che limita la relazione invece di interromperla completamente. In combinazione con COEP, verrebbe abilitato crossOriginIsolated.
Registrati alla prova delle origini delle proprietà limitate di COOP.
API FedCM Sign-in Status
L'API IdP Sign-in Status 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 migliorare le proprietà della privacy ottimizzando la sua UX.
Registrati alla prova dell'origine dello stato di accesso FedCM
API EditContext
L'API EditContext semplifica il processo di integrazione di un'app web con metodi di immissione di testo avanzati come 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 frame dell'animazione lunghi
Si tratta di 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 speso nello stile e nel layout forzati, noto come layout thrashing.
Gli sviluppatori possono usare questa funzionalità come diagnostica della "lenta lentezza", che viene misurata dall'INP, individuando le cause della congestione del thread principale, che spesso è la causa di un INP errato.
Registrati alla prova dell'origine Tempi frame dell'animazione lungo