Se non diversamente specificato, le seguenti modifiche si applicano all'ultima release 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 122 è in versione beta a partire dal 24 gennaio 2024. Puoi scaricare la versione più recente da Google.com per computer o dal Google Play Store su Android.
CSS
In questa release sono state aggiunte tre nuove funzionalità CSS.
Le query @container CSS con funzionalità non supportate non corrispondono mai
I selettori @container
contenenti query non supportate non selezioneranno mai alcun container, nel senso che non corrisponderanno mai.
Ciò significa che questa query non corrisponderà mai ad alcun container anche se esiste anche un container di dimensione che corrisponde alla query sulla larghezza. Ad esempio, la seguente query non corrisponderà mai a causa della caratteristica sconosciuta:
@container (width > 0px) or (unknown) {}
Si tratta di una modifica recente alla specifica per evitare problemi di compatibilità in avanti.
Pseudo-elemento CSS ::backdrop
che eredita dall'elemento di origine
Lo pseudo-elemento ::backdrop
utilizzato per ereditare dai valori iniziali. Ciò significa che
::backdrop
non può utilizzare i valori delle proprietà personalizzate a meno che non vengano specificati direttamente nella
regola ::backdrop
. La specifica è stata modificata e ::backdrop
eredita dall'elemento di origine. Questa modifica rende l'implementazione di Chrome corrispondente alla nuova specifica.
Condizioni supports()
CSS per @import
@import
ora accetta una condizione supports()
. Se la condizione supports()
non corrisponde, l'importazione non verrà recuperata.
@import "scroll-driven-animations.css" supports(animation-timeline: auto);
Le query relative alle funzionalità da inserire in supports()
sono le stesse utilizzate
con @supports
API web
API Async Clipboard: lettura di HTML non verificato
Aggiunge un'opzione unsanitized
nel metodo read()
per ottenere il formato HTML non sottoposto a sanitizzazione. A meno che i siti non includano questa proprietà, la lettura dagli appunti sarà purificata.
Per impostazione predefinita, durante la lettura dei tipi MIME text/html
utilizzando l'API asincrona, il sanitizer viene richiamato per eliminare i contenuti dal markup HTML a causa di problemi di sicurezza e gli stili sono incorporati nel codice HTML. Questo comporta un grande payload HTML e una perdita di fedeltà dei contenuti HTML quando vengono letti da sviluppatori web o app mobile.
Non eliminare gli oggetti di tipo File in dataTransfer.clearData()
Aggiorna Chrome in modo che corrisponda alla spec, che specifica che clearData()
non influisce sugli oggetti File. Elimina solo
gli oggetti di tipo text
.
FedCM: disconnessione
Consente di scollegare un account di accesso federato utilizzando il sito web della parte interessata. Con l'API di disconnessione, una parte attendibile può informare il provider di identità che un account utilizzato in precedenza è ora disconnesso, e quindi utilizzare di nuovo tale account con accesso federato richiederebbe di considerarlo come un nuovo account.
Annullamento dell'evento del mousedown interoperabilità nell'iframe
Rendi i target degli eventi del mouse indipendenti dall'annullamento dell'evento quando il puntatore viene trascinato fuori da un iframe. Quando il mouse viene trascinato fuori da un iframe, tutti i browser (incluso Chrome) inviano gli eventi mousemove
e mouseup
all'iframe. Tuttavia, se l'evento mousedown viene annullato, oggi Chrome mantiene un'eccezione WebKit precedente, ovvero gli eventi mousemove e mouseup che vengono inviati al frame esterno. WebKit ha rimosso questa eccezione l'anno scorso e Mozilla non ha mai mostrato questo
comportamento negli ultimi anni. Questa funzione rimuoverà l'eccezione solo per Chrome per questo caso speciale.
Aiutanti iteratori
Gli aiutanti iteratori sono nuovi metodi sul prototipo di iteratore per consentire l'utilizzo e il consumo generali degli iteratori.
MessagePort.onclose
Una modifica all'API Channel Messaging, che comunica a una delle MessagePorts
che l'altra porta è stata disordinata. In altre parole, si chiama close()
, un
documento di obsolescenza viene distrutto o la porta è garbage collection.
Estensioni RTCRtpSender setParameters() per richiedere la generazione di un frame chiave
Aggiunge un secondo parametro facoltativo alla chiamata RTCRtpSender.setParameters
di WebRTC, che può essere utilizzato per chiedere al codificatore associato di generare un frame chiave.
Imposta metodi
I metodi di impostazione sono nuovi metodi, come l'unione e l'intersezione, aggiunti alla classe Set
integrata di JavaScript.
API Storage Buckets
I bucket di archiviazione consentono ai siti di organizzare i dati sul dispositivo in "bucket distinti", consentendo agli user agent di eliminare i dati raggruppati indipendentemente da quelli presenti in altri bucket e ai siti di gestire in modo ergonomico i dati correlati alla semantica. Ogni bucket di archiviazione può contenere dati associati alle API di archiviazione stabilite come IndexedDB e CacheStorage.
Pattern URL: hasRegExpGroups
Consente di verificare se URLPattern
utilizza uno o più gruppi di espressione regolare ECMAScript, pertanto potrebbe non essere adatto all'uso nei casi in cui un motore ECMAScript non è disponibile (ad esempio alcune API pianificate di prossima applicazione).
A rigore, questo rispecchia qualcosa che gli sviluppatori potrebbero comunque sapere sull'ispezione del pattern, ma avere accesso all'implementazione di questo controllo da parte di UA rende il tutto più semplice.
BufferStorage di WebGL
WebGL consente il rendering di texture e buffer di rendering di molti formati di pixel diversi. Ad esempio, con codifica a 8 bit, in virgola mobile e sRGB.
Il buffer di disegno di WebGL (il buffer che viene passato al compositore) è a 8 bit per impostazione predefinita. La funzionalità disegnoBufferStorage consente a WebGL di configurare il formato in pixel del buffer di disegno, in modo che gli sviluppatori possano eseguire le seguenti operazioni.
- Evita un testo extra quando converti il rendering nel formato predefinito in pixel del buffer di disegno.
- Disegna contenuti con più di 8 bit di precisione.
Quest'ultima funzione consente di accedere a diverse applicazioni aggiuntive:
- Contenuti con gamma cromatica molto ampia senza perdita di precisione.
- Applicazioni mediche che richiedono più di 8 bit di precisione.
- Applicazioni High Dynamic Range (se disponibili).
Incapsulamento della chiave X25519Kyber768 per TLS
Proteggi l'attuale traffico TLS di Chrome dalla futura crittoanalisi quantistica eseguendo il deployment dell'algoritmo dell'accordo chiave quantico resistente alla quantità Kyber768. Questo è un accordo chiave ibrido X25519 + Kyber768 basato su uno standard IETF. Questa specifica e lancio non rientrano nell'ambito di W3C. Questo accordo chiave verrà lanciato come crittografia TLS e dovrebbe essere trasparente per gli utenti.
Prove dell'origine in corso
In Chrome 122 puoi attivare le seguenti nuove prove delle origini.
Estensioni ambito app web
L'ambito dell'app web (definito dal campo dell'ambito) può essere definito solo con un percorso di una singola origine. Viene utilizzato per determinare se il documento attuale di una finestra dell'app fa parte dell'app. Inoltre, determina quali URL sono consentiti in altri membri del file manifest.
Con scope_extensions, gli sviluppatori possono ampliare i comportamenti della loro app per includere altre origini in caso di accordo tra l'origine principale di un'app web e le origini associate.
Registrati alla prova dell'origine delle estensioni di ambito app web
Controllo della superficie acquisita
L'API Captured Surface Control consente alle applicazioni web di produrre eventi ruota in una scheda o finestra acquisita e di leggere o scrivere il livello di zoom di una scheda acquisita.
Registrati alla prova dell'origine di Captured Surface Control.