Pubblicata: 5 febbraio 2025
Salvo diversa indicazione, le seguenti modifiche si applicano alla release 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 134 è in versione beta dal 5 febbraio 2025. Puoi scaricare la versione più recente su Google.com per computer o sul Google Play Store su Android.
CSS
Questa release aggiunge cinque nuove funzionalità CSS e UI.
Proprietà dynamic-range-limit CSS
Consente a una pagina di limitare la luminosità massima dei contenuti HDR.
Elemento <select>
personalizzabile
Aggiungi la possibilità di personalizzare gli elementi HTML <select>
attivando il nuovo comportamento con il valore base-select
di appearance
. Dopo l'attivazione, puoi
aggiungere contenuti avanzati, tra cui immagini, e anche impostare lo stile delle opzioni.
Chiusura della finestra di dialogo con la luce
Una delle funzionalità interessanti dell'API Popover è il comportamento di chiusura rapida. Questa
funzionalità offre la stessa funzionalità a <dialog>
. Un nuovo attributo closedby
controlla il comportamento:
<dialog closedby=none>
: nessuna chiusura delle finestre di dialogo attivata dall'utente.<dialog closedby=closerequest>
: premendoESC
(o un altro trigger di chiusura) la finestra di dialogo si chiude.<dialog closedby=any>
: se fai clic all'esterno della finestra di dialogo o premi ESC, la finestra di dialogo si chiude. Uguale al comportamento dipopover=auto
.
Ereditarietà degli elementi in evidenza del CSS
Con l'eredità degli elementi in evidenza CSS, le pseudoclassi CSS per l'evidenziazione, come ::selection
e ::highlight
, ereditano le loro proprietà tramite la catena di pseudo-evidenziazione anziché la catena di elementi. Il risultato è un modello più intuitivo per l'eredità delle proprietà negli elementi in evidenza.
Per scoprire di più, leggi il post del blog Modifiche all'eredità per lo stile di selezione CSS scritto da Stephen Chenney di Igalia.
Pseudo-classe :has-slotted
La pseudo-classe :has-slotted
rappresenta un elemento di slot con contenuti in uno slot, come un nodo o un elemento di testo. Questo può essere utilizzato per applicare stili agli elementi in base al fatto che utilizzino o meno i contenuti di riserva dello slot.
API web
Funzionalità di generazione di report sull'attribuzione: rimuovere il limite di report aggregabili quando l'ID contesto dell'attivatore non è null
Questa modifica si basa sul feedback degli utenti che chiamano l'API e sulla necessità di poter misurare un numero maggiore di eventi di conversione per determinati flussi utente.
Al momento l'API ha un limite che consente di generare fino a 20 report aggregabili per registrazione dell'origine, il che è limitativo per i casi d'uso in cui un utente potrebbe avere un percorso utente più lungo. Questa modifica rimuove il limite di report aggregabili quando viene fornito un ID contesto attivatore nell'ambito della registrazione. La rimozione di questo limite è limitata solo quando viene specificato l'ID contesto dell'attivatore, perché in questo caso l'API applica una percentuale più elevata di report null, il che contribuisce a proteggere da fughe di informazioni cross-site tramite i conteggi dei report.
Inoltre, i report aggregabili saranno comunque soggetti ad altri limiti che limitano la quantità totale di informazioni che possono essere misurate, ad esempio il budget di contributo L1 (65.536) per origine e il limite di tasso di attribuzione.
Partizione degli URL dei blob: recupero/navigazione
Come continuazione del partizionamento dello spazio di archiviazione, implementa il partizionamento dell'accesso agli URL dei BLOB in base alla chiave di archiviazione (sito di primo livello, origine frame e valore booleano has-cross-site-ancestor), ad eccezione delle navigazioni di primo livello che rimarranno partizionate solo in base all'origine frame. Questo comportamento è simile a quello attualmente implementato sia da Firefox che da Safari e allinea l'utilizzo dell'URL del blob allo schema di partizione utilizzato da altre API di archiviazione nell'ambito del partizionamento dello spazio di archiviazione. Inoltre, Chrome applicherà noopener alle navigazioni di primo livello avviate dal motore di rendering agli URL blob in cui il sito corrispondente è cross-site rispetto al sito di primo livello che esegue la navigazione. In questo modo, Chrome si allinea a un comportamento simile in Safari e le specifiche pertinenti sono state aggiornate per riflettere queste modifiche.
Questa modifica può essere annullata temporaneamente impostando il criterio PartitionedBlobURLUsage
. Il criterio verrà ritirato quando verranno ritirati gli altri criteri aziendali relativi al partitioning dello spazio di archiviazione.
Document-Policy: expect-no-linked-resources
Il punto di configurazione expect-no-linked-resources
in Document-Policy consente a un
documento di suggerire all'agente utente di ottimizzare meglio la sequenza di caricamento, ad esempio
non utilizzare il comportamento di analisi speculativa predefinito (noto anche come scanner
precaricamento).
Gli user agent hanno implementato l'analisi speculativa dell'HTML per recuperare in modo speculativo le risorse presenti nel markup HTML, in modo da velocizzare il caricamento della pagina. Per la maggior parte delle pagine sul web che hanno risorse dichiarate nel markup HTML, l'ottimizzazione è vantaggiosa e il costo pagato per determinare queste risorse è un buon compromesso. Tuttavia, i seguenti scenari potrebbero comportare un compromesso sul rendimento non ottimale rispetto al tempo esplicito impiegato per l'analisi dell'HTML per determinare le risorse secondarie da recuperare:
- Pagine che non hanno risorse dichiarate nel codice HTML.
- Pagine HTML di grandi dimensioni con carichi di risorse minimi o nulli che potrebbero controllare esplicitamente il precaricamento delle risorse utilizzando altri meccanismi di precaricamento disponibili.
Il Document-Policy expect-no-linked-resources
suggerisce all'agente utente di scegliere di ottimizzare il tempo impiegato per la determinazione di queste risorse secondarie.
Gestione esplicita delle risorse (asincrona e sincrona)
Queste funzionalità risolvono un pattern comune nello sviluppo software per quanto riguarda la durata e la gestione di varie risorse (ad esempio memoria e I/O). Questo pattern in genere include l'allocazione di una risorsa e la possibilità di rilasciare esplicitamente le risorse critiche.
Estendere l'API console.timeStamp
per supportare le misurazioni e le opzioni di presentazione
Questa funzionalità estende l'API console.timeStamp()
, in modo compatibile con le versioni precedenti, per fornire un metodo ad alte prestazioni per l'instrumentazione delle applicazioni e la visualizzazione dei dati sui tempi nel riquadro Rendimento in DevTools.
Le voci di temporizzazione aggiunte con l'API possono avere un timestamp, una durata e opzioni di presentazione personalizzate (canale, corsia e colore).
OffscreenCanvas
getContextAttributes
Aggiunge l'interfaccia getContextAttributes
da CanvasRenderingContext2D
a
OffscreenCanvasRenderingContext2D
.
API Private Aggregation: limiti di contributo per contesto per gli utenti chiamanti di Shared Storage
Consente agli utenti che chiamano lo spazio di archiviazione condiviso di personalizzare il numero di contributi per report di aggregazione privata.
Questa funzionalità consente agli utenti che chiamano Shared Storage di configurare limiti di contributo per contesto con un nuovo campo, maxContributions
. Gli utenti che chiamano impostano questo campo per sostituire il numero predefinito di contributi per report. Sono consentiti sia numeri più grandi che più piccoli. Chrome accetta valori di maxContributions
tra 1 e 1000 inclusi; i valori più grandi verranno interpretati come 1000.
A causa del padding, le dimensioni del payload di ogni report saranno approssimativamente proporzionali al numero di contributi scelti per report. Prevediamo che l'attivazione di report più grandi aumenterà il costo di gestione del Servizio di aggregazione.
Questa funzionalità non interessa gli utenti di Protected Audience. Tuttavia, prevediamo di aggiungere il supporto per la personalizzazione del numero di contributi per i report Protected Audience nelle funzionalità future.
Supporto di ImageSmoothingQuality
in PaintCanvas
Aggiunta del supporto per l'attributo imageSmoothingQuality
in Paint Canvas. Consente a un sviluppatore web di scegliere il compromesso tra qualità e prestazioni durante la ridimensionamento delle immagini.
Esistono tre opzioni valide per imageSmoothingQuality
: low
, medium
e
high
.
Sottogruppi WebGPU
Aggiunge la funzionalità di sottogruppo a WebGPU. Le operazioni di sottogruppi eseguono operazioni SIMT per fornire una comunicazione ed una condivisione dei dati efficienti tra gruppi di invocazioni. Queste operazioni possono essere utilizzate per accelerare le applicazioni riducendo gli overhead di memoria dovuti alla comunicazione tra le invocazioni.
Nuove prove dell'origine
In Chrome 134 puoi attivare i seguenti nuovi sperimentali per le origini.
API Digital Credential
Oggi i siti web possono e ricevono le credenziali dalle app di portafogli elettronici tramite una serie di meccanismi, ad esempio gestori di URL personalizzati e scansione di codici QR. Questa funzionalità consente ai siti di richiedere informazioni sull'identità dai portafogli che utilizzano il sistema IdentityCredential
CredMan
di Android. È estensibile per supportare più formati di credenziali (ad esempio ISO mDoc e credenziali verificabili W3C) e consente di utilizzare più app di portafoglio. Stiamo aggiungendo meccanismi per contribuire a ridurre il rischio di abusi dell'identità reale a livello di ecosistema.
La prova dell'origine che inizia in Chrome 134 aggiunge il supporto di questa API sulla piattaforma desktop, dove Chrome su computer comunicherà in modo sicuro con il portafoglio digitale sullo smartphone Android per recuperare le credenziali richieste.
Ritiro e rimozione
Questa versione di Chrome introduce i ritiri e le rimozioni elencati di seguito. Visita ChromeStatus.com per gli elenchi delle ritirate pianificate, delle ritirate in corso e delle rimozioni precedenti.
Questa release di Chrome rimuove una funzionalità.
Rimuovere i vincoli audio non standard di getUserMedia
Blink supporta una serie di vincoli non standard con prefisso goog
per
getUserMedia
da un po' di tempo prima che i vincoli fossero adeguatamente standardizzati.
L'utilizzo è diminuito notevolmente, attestandosi tra lo 0,000001% e lo 0,0009% (a seconda del vincolo) e alcuni di questi non hanno nemmeno alcun effetto a causa delle modifiche apportate allo stack di acquisizione audio di Chromium. A breve nessuna di queste modifiche avrà alcun effetto a causa di altre modifiche imminenti.
Non prevediamo regressioni significative a causa di questa modifica. Le applicazioni che utilizzano questi vincoli continueranno a funzionare, ma riceveranno l'audio con le impostazioni predefinite (come se non fossero stati passati vincoli). Possono scegliere di eseguire la migrazione ai vincoli standard.