Chrome 124 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 124 è in versione beta a partire dal 20 marzo 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 due nuove funzionalità CSS.

CSSImportRule.styleSheet

Consenti il campo CSSImportRule.styleSheet di valori null. L'attributo styleSheet in CSSImportRule può essere nullo se non è associato alcun foglio di stile CSS.

CSSKeyframesRule.length

Espone l'attributo length di CSSKeyframesRule. Le interfacce che supportano le proprietà indicizzate devono definire un attributo di tipo numero intero denominato length.

HTML

In questa versione sono state aggiunte due nuove funzionalità HTML.

Attributo writingsuggestions

I browser stanno iniziando a fornire suggerimenti di scrittura agli utenti durante la digitazione in vari campi modificabili sul web. Sebbene questa funzionalità 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 offrono 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à a livello di singolo elemento, documento o documento secondario.

Contenitori di scorrimento attivabili dalla tastiera

Migliora l'accessibilità rendendo i contenitori di scorrimento attivabili mediante la navigazione con stato attivo sequenziale. Prima di questa modifica, il tasto Tab non permetteva di impostare lo stato attivo degli scorrimenti, a meno che tabIndex non sia impostato esplicitamente su 0 o su un valore superiore.

Se rendi attivabili gli scorrimenti per impostazione predefinita, gli utenti che non possono (o non vogliono) utilizzare il mouse potranno impostare lo stato attivo sui contenuti ritagliati utilizzando i tasti Freccia e Tab della tastiera. Questo comportamento viene attivato solo se lo scorrimento non contiene elementi secondari attivabili della tastiera.

Questa funzionalità verrà implementata gradualmente a partire da Chrome 124 e sarà disponibile per tutti gli utenti a partire dalla versione 125 di Chrome. Scopri di più sugli elementi di scorrimento attivabili dalla tastiera.

API web

Aggiunte all'API Attribution Reporting

Sono state aggiunte funzionalità all'API Attribution Reporting per creare ulteriori funzionalità di debug supportando l'analisi dei report di debug degli errori, migliorare l'ergonomia dell'API supportando un campo per specificare la piattaforma di registrazione preferita e migliorare la privacy.

Documento Picture in picture: aggiungi un'opzione per nascondere il pulsante Torna alla scheda

Viene aggiunto un nuovo parametro (disallowReturnToOpener) all'API Picture in picture del documento che, se impostato su true, suggerisce al browser di non mostrare nella finestra Picture in picture un pulsante che consente all'utente di tornare alla scheda di apertura.

Sebbene avere un pulsante per tornare alla scheda di apertura ha sempre senso nel caso del video Picture in picture (lo stream video può essere restituito all'elemento video nella scheda di apertura), questo non è sempre il caso per le esperienze in modalità Picture in picture dei documenti. In questo modo gli sviluppatori hanno maggiore controllo sull'esperienza utente nel momento in cui ritengono che il pulsante di questo tipo non sia adatto al loro caso d'uso.

Scopri di più nella documentazione per la funzionalità Documento Picture in picture.

Blocco della visualizzazione dei documenti

Questa funzionalità consente agli autori di bloccare il rendering di un documento fino a quando i contenuti critici non sono stati analizzati, garantendo una prima visualizzazione coerente in tutti i browser. Senza questa funzionalità, lo stato della prima visualizzazione dipende dall'euristica per la resa del parser, che può variare da un browser all'altro.

Questo è particolarmente importante per le transizioni di tipo visualizzazione in cui lo stato DOM analizzato sul primo frame può cambiare 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 della pagina. Il rendering viene quindi bloccato fino a quando l'elemento previsto non è completamente analizzato. Questo 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 del contenuto multimediale per il jitter buffer RTCRtpReceiver. Questo influenza la quantità di buffering effettuato dallo user agent, che a sua volta influisce sulle ritrasmissioni e sul ripristino della perdita di pacchetti. L'alterazione del valore target consente alle applicazioni di controllare il compromesso tra il ritardo di playout e il rischio di esaurire i frame audio o video a causa del tremolio della rete.

pageswap evento

L'evento pageswap viene attivato sull'oggetto della finestra di un documento quando una navigazione sostituirà questo documento con un nuovo documento. L'evento fornisce informazioni di attivazione sulla navigazione (type, NavigationHistoryEntry per il nuovo documento).

Se la navigazione prevede una transizione della visualizzazione tra documenti, l'evento viene inviato prima di acquisire lo stato del documento precedente. Ciò consente allo sviluppatore di configurare lo stato precedente acquisito per la transizione in base alle informazioni di attivazione della navigazione e allo stato visivo attuale del vecchio documento.

Intestazione della richiesta HTTP priority

Viene aggiunta l'intestazione priority per tutte le richieste HTTP con le informazioni sulla priorità della richiesta nel momento in cui è stata inviata.

RFC 9218 (Extensible Prioritization Scheme for HTTP) definisce un'intestazione della richiesta HTTP priority da utilizzare per segnalare la priorità delle richieste alle origini (e agli intermediari). Definisce inoltre i processi di negoziazione e i frame a livello di protocollo per HTTP/2 e HTTP/3 in modo che abbiano le stesse informazioni di priorità.

L'intestazione può segnalare la priorità iniziale di una risorsa solo quando è stata richiesta per la prima volta, mentre i meccanismi basati su frame consentono di modificare la priorità in seguito.

L'intestazione può operare end-to-end sui server di origine (e fornire all'origine un meccanismo per sostituire la priorità se riconosciuta dagli intermediari), mentre i frame possono operare solo a livello di link.

Questa funzionalità è specifica per il supporto di uno schema di prioritizzazione basato su intestazioni.

Autorizzazione di accesso alla rete privata per ridurre il relax dei contenuti misti

Per stabilire connessioni a dispositivi su una rete locale che non hanno nomi univoci a livello globale e che pertanto non possono ottenere certificati TLS, questa funzionalità introduce una nuova opzione per fetch() per dichiarare l'intenzione di uno sviluppatore di comunicare con un dispositivo di questo tipo. Ciò include una nuova funzionalità controllata da criteri per limitare l'accesso a questa funzionalità da parte di ogni sito e nuove intestazioni per la risposta preflight del server per fornire metadati aggiuntivi.

Suggerimento client Sec-CH-UA-Fattore di forma

Questo suggerimento fornisce a un server informazioni sui fattori di forma dello user agent. Restituisce uno o più dei seguenti valori dei fattori di forma:

  • Computer: uno user agent in esecuzione su un personal computer.
  • Auto e motori: uno user agent incorporato in un veicolo, in cui l'utente potrebbe essere responsabile della gestione del veicolo e non può occuparsi di piccoli dettagli.
  • Dispositivo mobile: piccolo dispositivo orientato al tocco, solitamente portato dalla persona dell'utente.
  • Tablet: un dispositivo orientato al tocco di dimensioni superiori a "Dispositivo mobile" e che in genere non è portato alla persona dell'utente.
  • XR: dispositivi immersivi che migliorano o sostituiscono l'ambiente circostante.
  • EInk: un dispositivo caratterizzato da aggiornamenti dello schermo lenti e da una risoluzione dei colori limitata o assente.
  • Smartwatch: un dispositivo mobile con un piccolo schermo (in genere meno di 5 cm), trasmesso in modo da consentire all'utente di guardarlo rapidamente.

setHTMLUnsafe e parseHTMLUnsafe

I metodi setHTMLUnsafe e parseHTMLUnsafe consentono di utilizzare il DOM dichiarativo shadow da JavaScript. Questi metodi offrono anche un modo più semplice per analizzare l'HTML in modo imperativo nel DOM, rispetto a innerHTML o DOMParser.

Aggiornamenti all'API Shared Storage

Questo aggiornamento aggiunge il supporto per l'esecuzione di worklet tra origini senza dover creare un iframe.

API Streams: iterazione asincrona ReadableStream

Le API Stream forniscono primitive onnipresenti e interoperabili per la creazione, composizione e utilizzo di flussi di dati. Questa modifica aggiunge il supporto del protocollo iterabile asincrono all'API ReadableStream, consentendo l'utilizzo di flussi leggibili da utilizzare come origine dei loop await...of.

SVG context-fill e context-stroke

Implementa una funzionalità SVG esistente che consente le parole chiave context-fill e context-stroke quando specifichi le proprietà di riempimento e tratto. Questo vale solo per i sottoalbero SVG creati per un'istanza con un elemento <use> e per gli elementi <marker> per cui viene creata un'istanza utilizzando la proprietà marker in un elemento <path>. In queste circostanze, i termini context-fill e context-stroke vengono risolti in base al valore delle proprietà fill e stroke su <use> o <path>.

WebGPU: supporto ServiceWorker e SharedWorker

A WebGPU viene aggiunto il supporto di ServiceWorker e SharedWorker, in linea con le funzionalità WebGL esistenti.

I Service Workers abilitano le funzionalità offline e l'elaborazione in background per WebGPU. Ciò significa che le applicazioni web ad alta intensità di grafica o le estensioni di Chrome possono memorizzare nella cache le risorse ed eseguire calcoli anche quando l'utente non interagisce attivamente con la pagina.

I worker condivisi consentono a più schede o contesti di estensioni di coordinare e condividere le risorse WebGPU. Ciò porta a prestazioni più fluide e a un uso più efficiente dell'hardware grafico dell'utente.

L'API WebSocketStream

L'API WebSocket fornisce un'interfaccia JavaScript per il protocollo WebSocket RFC6455. Anche se ha funzionato bene, è imbarazzante dal punto di vista dell'ergonomia e manca l'importante caratteristica della contropressione. Lo scopo dell'API WebSocketStream è risolvere queste carenze integrando i flussi WHATWG con l'API WebSocket.

Scopri di più in WebSocketStream: integrazione dei flussi con l'API WebSocket.

Incapsulamento della chiave X25519Kyber768 per TLS

Protegge l'attuale traffico TLS di Chrome dalla futura crittoanalisi quantica eseguendo il deployment dell'algoritmo dell'accordo chiave quantico resistente alla quantità 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 di W3C. Questo accordo chiave verrà lanciato come crittografia TLS e dovrebbe essere trasparente per gli utenti.

Scopri di più nella pagina Proteggere il traffico di Chrome con Kyber KEM ibrido.

Prove dell'origine in corso

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

Prova di deprecazione per eventi di mutazione

Gli eventi di mutazione, inclusi DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument e DOMCharacterDataModified, possono danneggiare le prestazioni delle pagine e aumentare in modo significativo la complessità dell'aggiunta di nuove funzionalità al web. Queste API sono state ritirate dalla specifica nel 2011 e sostituite (nel 2012) dall'API Mutation Observationr, molto migliore.

Il supporto degli eventi di mutazione verrà disattivato per impostazione predefinita a partire da Chrome 127, intorno al 30 luglio 2024. Esegui la migrazione del codice all'API Mutation Observationr prima di questa data per evitare interruzioni del sito. Se hai bisogno di più tempo, registrati alla prova del ritiro degli eventi di mutazione per riattivare la funzionalità per un periodo di tempo limitato su un determinato sito. Questa versione può essere utilizzata fino a Chrome 134, fino al 25 marzo 2025.

In alternativa, è possibile utilizzare un criterio aziendale MutationEventsEnabled per lo stesso scopo anche tramite Chrome 134.

Registrati alla prova del ritiro degli eventi di mutazione.

Rimozioni e deprecazioni

Questa versione di Chrome introduce i seguenti ritiri e rimozioni. Visita il sito ChromeStatus.com per consultare gli elenchi di ritiri pianificati, ritiri attuali e rimozioni precedenti.

In questa release di Chrome viene rimossa una funzionalità.

Rimuovi l'alias "window-placement" per il criterio di autorizzazione e autorizzazione "window-management"

Rimuove l'alias "window-placement" per il criterio di autorizzazione e autorizzazione "window-management". Questa operazione fa parte di uno sforzo più ampio per rinominare le stringhe, ritirando e rimuovendo "window-placement" in futuro. La modifica alla terminologia migliora la longevità del descrittore man mano che l'API di gestione delle finestre si evolve nel tempo.