Se non diversamente specificato, le seguenti modifiche si applicano alla versione 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 124 è in versione beta dal 20 marzo 2024. Puoi scaricare l'ultima versione su Google.com per computer o sul Google Play Store su Android.
CSS
Questa release aggiunge due nuove funzionalità CSS.
CSSImportRule.styleSheet
Consenti a CSSImportRule.styleSheet di essere nullable. L'attributo styleSheet in CSSImportRule può essere null se non esiste un foglio di stile CSS associato.
CSSKeyframesRule.length
Espone l'attributo length di CSSKeyframesRule. Le interfacce che supportano le proprietà indicizzate devono definire un attributo di tipo intero denominato length.
HTML
Questa release aggiunge due nuove funzionalità HTML.
L'attributo writingsuggestions
I browser stanno iniziando a fornire suggerimenti di scrittura agli utenti mentre digitano in vari campi modificabili sul web. Sebbene ciò sia generalmente utile per gli utenti, in alcuni casi gli sviluppatori potrebbero voler disattivare l'assistenza alla scrittura fornita dal browser, ad esempio estensioni o siti che forniscono funzionalità simili.
Il nuovo attributo writingsuggestions ha valori true o false che consentono agli sviluppatori di attivare o disattivare i suggerimenti di scrittura forniti dal browser. Lo stato dell'attributo per un elemento può anche essere ereditato dagli elementi predecessori, consentendo così agli sviluppatori di controllare questa funzionalità su scala per elemento, per documento o per documento secondario.
Contenitori di scorrimento attivabili da tastiera
Migliora l'accessibilità rendendo i contenitori di scorrimento attivabili tramite la navigazione sequenziale dello stato attivo. Prima di questa modifica, il tasto Tab non attivava le barre di scorrimento, a meno che tabIndex non fosse impostato esplicitamente su 0 o un valore superiore.
Se imposti gli elementi di scorrimento in modo che siano attivabili per impostazione predefinita, gli utenti che non possono (o non vogliono) utilizzare un mouse potranno attivare i contenuti ritagliati utilizzando il tasto Tab e i tasti freccia della tastiera. Questo comportamento viene attivato solo se lo scroller non contiene elementi secondari con selezione della tastiera.
Questa funzionalità verrà implementata gradualmente a partire da Chrome 124 e sarà disponibile per tutti gli utenti entro Chrome 125. Scopri di più sugli scroller con selezione della tastiera.
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 degli errori di analisi, migliorare l'ergonomia dell'API supportando un campo per specificare la piattaforma di registrazione preferita e migliorare la privacy.
Picture in picture del documento: aggiungi l'opzione per nascondere il pulsante Torna alla scheda
In questo modo, viene aggiunto un nuovo parametro (disallowReturnToOpener) all'API Picture in picture per i documenti che, se impostato su true, indica al browser che non deve mostrare un pulsante nella finestra Picture in picture che consente all'utente di tornare alla scheda di apertura.
Sebbene un pulsante per tornare alla scheda di apertura sia sempre utile nel caso di Picture in picture video (lo stream video può essere restituito all'elemento video nella scheda di apertura), non è sempre così per le esperienze Picture in picture del documento. In questo modo, gli sviluppatori hanno un maggiore controllo sull'esperienza utente quando stabiliscono che un pulsante di questo tipo non è adatto al loro caso d'uso.
Scopri di più nella documentazione relativa alla funzionalità Picture in picture per i documenti.
Blocco del rendering dei documenti
Questa funzionalità consente agli autori di bloccare il rendering di un documento finché i contenuti critici non sono stati analizzati, garantendo un First Paint coerente in tutti i browser. Senza questa funzionalità, lo stato della prima visualizzazione dipende dalle euristiche per l'analisi, che possono variare a seconda del browser.
Questo è particolarmente importante per le transizioni di visualizzazione, in cui lo stato del DOM analizzato nel primo frame può modificare drasticamente la transizione creata.
Tieni presente che questa funzionalità implementa una sintassi <link rel=expect href="#id"> che consente a un elemento link di fare riferimento a un altro elemento previsto nella pagina. Il rendering viene quindi bloccato fino a quando l'elemento previsto non viene analizzato completamente. Questo attributo sostituisce la precedente implementazione di un attributo HTML che consente di bloccare il rendering dell'intero documento.
jitterBufferTarget attributo
L'attributo jitterBufferTarget consente alle applicazioni di specificare una durata target in millisecondi dei contenuti multimediali che il buffer di jitter RTCRtpReceiver deve contenere. Ciò influisce sulla quantità di buffering eseguita dallo user agent, che a sua volta influisce sulle ritrasmissioni e sul recupero della perdita di pacchetti. La modifica del valore target consente alle applicazioni di controllare il compromesso tra il ritardo di riproduzione e il rischio di esaurire i frame audio o video a causa del jitter di rete.
pageswap evento
L'evento pageswap viene attivato sull'oggetto finestra di un documento quando una navigazione sostituisce questo documento con uno nuovo. L'evento fornisce informazioni di attivazione sulla navigazione (type, NavigationHistoryEntry per il nuovo documento).
Se la navigazione ha una transizione di visualizzazione tra documenti, l'evento viene inviato prima di acquisire lo stato del documento precedente. In questo modo, lo sviluppatore può configurare lo stato precedente acquisito per la transizione in base alle informazioni di attivazione della navigazione e allo stato visivo corrente del documento precedente.
Intestazione della richiesta HTTP priority
In questo modo, viene aggiunta l'intestazione della richiesta priority per tutte le richieste HTTP con le informazioni sulla priorità della richiesta al momento dell'invio.
RFC 9218 (Extensible Prioritization Scheme for HTTP) definisce un'intestazione della richiesta HTTP priority da utilizzare per segnalare la priorità della richiesta alle origini (e agli intermediari). Definisce inoltre i processi di negoziazione e i frame a livello di protocollo per HTTP/2 e HTTP/3 per trasmettere le stesse informazioni sulla priorità.
L'intestazione può solo segnalare la priorità iniziale di una risorsa quando è stata richiesta per la prima volta, mentre i meccanismi basati su frame consentono di modificare la priorità in un secondo momento.
L'intestazione può operare end-to-end sui server di origine (e fornire un meccanismo per consentire all'origine di eseguire l'override della priorità se riconosciuta dagli intermediari), mentre i frame sono limitati a operare a livello di link.
Questa funzionalità è specifica per supportare lo schema di assegnazione della priorità basato su intestazione.
Autorizzazione di accesso alla rete privata per allentare i contenuti misti
Per stabilire connessioni con dispositivi su una rete locale che non hanno nomi univoci a livello globale e, di conseguenza, non possono ottenere certificati TLS, questa funzionalità introduce una nuova opzione per fetch() per dichiarare l'intenzione degli sviluppatori di comunicare con un dispositivo di questo tipo. Ciò include una nuova funzionalità controllata da policy per limitare l'accesso di ogni sito a questa funzionalità e nuove intestazioni per la risposta preflight del server per fornire metadati aggiuntivi.
Client hint Sec-CH-UA-Form-Factors
Questo suggerimento fornisce a un server informazioni sui fattori di forma dello user agent. Restituisce uno o più dei seguenti valori di form factor:
- Desktop: uno user agent in esecuzione su un personal computer.
- Automotive: uno user agent incorporato in un veicolo, in cui l'utente potrebbe essere responsabile della guida del veicolo e non essere in grado di prestare attenzione ai piccoli dettagli.
- Dispositivo mobile: dispositivo di piccole dimensioni, con schermo touch, generalmente portato con sé dall'utente.
- Tablet: un dispositivo touch più grande di un "dispositivo mobile" e che in genere non viene portato con sé dall'utente.
- XR: dispositivi immersivi che migliorano o sostituiscono l'ambiente circostante l'utente.
- EInk: un dispositivo caratterizzato da aggiornamenti lenti dello schermo e risoluzione dei colori limitata o assente.
- Smartwatch: un dispositivo mobile con uno schermo molto piccolo (in genere inferiore a 2 pollici), portato in modo che l'utente possa guardarlo rapidamente.
setHTMLUnsafe e parseHTMLUnsafe
I metodi setHTMLUnsafe e parseHTMLUnsafe consentono di utilizzare il DOM shadow dichiarativo da JavaScript. Questi metodi offrono anche un modo più semplice per analizzare in modo imperativo l'HTML nel DOM rispetto a innerHTML o DOMParser.
Aggiornamenti all'API Shared Storage
Questo aggiornamento aggiunge il supporto per l'esecuzione di worklet multiorigine senza dover creare un iframe.
API Streams: iterazione asincrona ReadableStream
Le API Streams forniscono primitive onnipresenti e interoperabili per la creazione, la composizione e l'utilizzo di flussi di dati. Questa modifica aggiunge il supporto del protocollo iterabile asincrono all'API ReadableStream, consentendo l'utilizzo di stream leggibili come origine dei loop for await...of.
SVG context-fill e context-stroke
Implementa una funzionalità SVG esistente che consente le parole chiave context-fill e context-stroke quando si specificano le proprietà di riempimento e tratto. Questo interessa solo i sottoalberi SVG di cui viene creata un'istanza con un elemento <use> e gli elementi <marker> di cui viene creata un'istanza utilizzando la proprietà marker su un elemento <path>. In questi casi, context-fill e context-stroke vengono risolti nel valore delle proprietà fill e stroke su <use> o <path>.
WebGPU: supporto di ServiceWorker e SharedWorker
Il supporto di ServiceWorker e SharedWorker è stato aggiunto a WebGPU, in linea con le funzionalità WebGL esistenti.
I service worker consentono funzionalità offline e l'elaborazione in background per WebGPU. Ciò significa che le applicazioni web o le estensioni di Chrome ad alta intensità grafica possono memorizzare nella cache le risorse ed eseguire calcoli anche quando l'utente non interagisce attivamente con la pagina.
Gli Shared Worker consentono a più schede o contesti di estensione di coordinare e condividere le risorse WebGPU. In questo modo, le prestazioni sono più fluide e l'utilizzo dell'hardware grafico dell'utente è più efficiente.
L'API WebSocketStream
L'API WebSocket fornisce un'interfaccia JavaScript al protocollo WebSocket RFC6455. Sebmma abbia funzionato bene, è scomodo dal punto di vista dell'ergonomia e manca dell'importante funzionalità di backpressure. L'obiettivo dell'API WebSocketStream è risolvere queste carenze integrando gli stream WHATWG con l'API WebSocket.
Scopri di più in WebSocketStream: integrazione degli stream con l'API WebSocket.
Incapsulamento della chiave X25519Kyber768 per TLS
Protegge l'attuale traffico TLS di Chrome da future crittoanalisi quantistiche implementando l'algoritmo di scambio di chiavi resistente al computing quantistico Kyber768.
Si tratta di un accordo chiave ibrido X25519 e Kyber768 basato su uno standard IETF. Questa specifica e il lancio non rientrano nell'ambito del W3C. Questo accordo relativo alla chiave verrà lanciato come crittografia TLS e dovrebbe essere trasparente per gli utenti.
Scopri di più in Protezione del traffico di Chrome con Kyber KEM ibrido.
Origin trial in corso
In Chrome 124 puoi attivare i seguenti nuovi origin trial.
Deprecation trial per i mutation event
I mutation event, tra cui DOMSubtreeModified, DOMNodeInserted,
DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument
e DOMCharacterDataModified, possono danneggiare le prestazioni della pagina e
aumentare notevolmente la complessità dell'aggiunta di nuove funzionalità al web. Queste API sono state ritirate dalla specifica nel 2011 e sono state sostituite (nel 2012) dall'API Mutation Observer, che ha un comportamento molto migliore.
Il supporto dei mutation event verrà disattivato per impostazione predefinita a partire da Chrome 127, intorno al 30 luglio 2024. Il codice deve essere migrato all'API Mutation Observer prima di questa data per evitare interruzioni del sito. Se hai bisogno di più tempo, registrati alla deprecation trial per i mutation event per riattivare la funzionalità per un periodo di tempo limitato su un determinato sito. Questa funzionalità può essere utilizzata tramite Chrome 134, che terminerà il 25 marzo 2025.
In alternativa, è possibile utilizzare una policy aziendale MutationEventsEnabled per lo stesso scopo, anche tramite Chrome 134.
Registrati alla deprecation trial degli eventi di mutazione.
Deprecazioni e rimozioni
Questa versione di Chrome introduce i seguenti ritiri e rimozioni. Visita ChromeStatus.com per un elenco delle ritiri pianificati, dei ritiri attuali e delle rimozioni precedenti.
Questa release di Chrome rimuove una funzionalità.
Rimuovi l'alias "window-placement" per l'autorizzazione e la policy sulle autorizzazioni "window-management"
Rimuove l'alias "window-placement" per l'autorizzazione e la policy sulle autorizzazioni "window-management". Questo fa parte di un impegno più ampio per rinominare le stringhe, che alla fine ritirerà e rimuoverà "window-placement". La modifica della terminologia migliora la longevità del descrittore man mano che l'API Window Management si evolve nel tempo.