Chrome 122 beta

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.