Chrome 134

Data di rilascio stabile: 4 marzo 2025

Salvo diversa indicazione, le seguenti modifiche si applicano alla release del canale stabile di Chrome 134 per Android, ChromeOS, Linux, macOS e Windows.

HTML e DOM

Elemento <select> personalizzabile

<select> personalizzabile consente agli sviluppatori di assumere il controllo completo del rendering degli elementi <select> aggiungendo la proprietà e il valore CSS appearance: base-select.

Questa funzionalità si basa sul flag SelectParserRelaxation, che modifica il parser HTML per consentire l'inserimento di più tag all'interno del tag <select>.

Bug di monitoraggio 40146374 | Voce di ChromeStatus.com | Specifiche

Seleziona l'allentamento del parser

Questa modifica consente al parser HTML di consentire tag aggiuntivi in <select> oltre a <option>, <optgroup> e <hr>.

Questa funzionalità è limitata dal criterio temporaneo (SelectParserRelaxationEnabled). Si tratta di un periodo di transizione temporaneo e il criterio non funzionerà più a partire da Chrome 141.

Se riscontri problemi che ritieni siano causati da questa modifica, è disponibile una prova di origine inversa per disattivare l'allentamento dell'analisi sintattica.

Bug di monitoraggio 335456114 | Voce di ChromeStatus.com | Specifiche

Chiusura della finestra di dialogo della luce

Una delle funzionalità interessanti dell'API Popover è il comportamento di chiusura rapida. Questo comportamento ora fa parte di <dialog>, con un nuovo attributo closedby che lo controlla:

  • <dialog closedby="none">: nessuna chiusura delle finestre di dialogo attivata dall'utente.
  • <dialog closedby="closerequest">: la finestra di dialogo si chiude premendo Esc (o un altro trigger di chiusura).
  • <dialog closedby="any">: se fai clic all'esterno della finestra di dialogo o premi Esc, la finestra di dialogo si chiude. Simile al comportamento di popover="auto".

Bug di monitoraggio 376516550 | Voce di ChromeStatus.com | Specifiche

CSS

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 Spostamenti Ricordo.

Voce di ChromeStatus.com | Specifiche

PWA

Sottotitolo del documento (correggere i titoli delle app PWA)

Questa funzionalità consente di specificare informazioni complementari sulla finestra corrente di una PWA in esecuzione installata. Aggiunge un sottotitolo alla pagina per fornire informazioni contestuali visualizzate nella barra del titolo della finestra. Questo sostituisce il testo contenuto nell'elemento HTML title.

Bug di monitoraggio 1351682 | Voce di ChromeStatus.com | Specifiche

I link web indirizzano automaticamente gli utenti alle app web installate. Per allinearsi meglio alle aspettative degli utenti in merito alle esperienze installate, Chrome semplifica il passaggio tra il browser e le app web installate. Quando l'utente fa clic su un link che potrebbe essere gestito da un'app web installata, il link si apre nell'app web installata. Gli utenti possono modificare questo comportamento tramite le impostazioni dell'app web installata. Gli sviluppatori possono controllare questo comportamento con la proprietà manifest launch_handler e fare riferimento a questa documentazione per gli sviluppatori per ulteriori informazioni su come funziona il link diretto con le app web installate.

Voce di ChromeStatus.com

Prestazioni

Document-Policy: expect-no-linked-resources

Il punto di configurazione expect-no-linked-resources nelle norme relative ai documenti consente a un documento di suggerire all'agente utente di ottimizzare meglio la sequenza di caricamento, ad esempio di non utilizzare il comportamento di analisi speculativa predefinito.

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 analizzare l'HTML al fine di 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'user agent di scegliere di ottimizzare il tempo impiegato per la determinazione di queste risorse secondarie.

Bug di monitoraggio #365632977 | Voce di ChromeStatus.com | Specifiche

Gestione delle risorse esplicita (asincrona)

Queste funzionalità risolvono un pattern comune nello sviluppo software relativo alla durata e alla 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 risorse critiche.

Bug di monitoraggio #42203814 | Voce di ChromeStatus.com | Specifica

Gestione esplicita delle risorse (sincronizzazione)

Queste funzionalità risolvono un pattern comune nello sviluppo software relativo alla durata e alla 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 risorse critiche.

Bug di monitoraggio n. 42203506 | Voce di ChromeStatus.com | Specifiche

Estendere l'API console.timeStamp per supportare le misurazioni e le opzioni di presentazione

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).

Voce di ChromeStatus.com | Specifiche

API web

Consentire la lettura dei gruppi di interesse nel worklet dello spazio di archiviazione condiviso

Aggiungi un metodo interestGroups() al worklet di archiviazione condivisa per restituire i gruppi di interesse del segmento di pubblico protetto associati al proprietario dell'origine dell'archiviazione condivisa, con alcuni metadati aggiuntivi.

Questa API fornisce all'acquirente Protected Audience un quadro migliore di ciò che accade ai suoi utenti, consentendo la generazione di report di aggregazione privata.

Voce di ChromeStatus.com

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 durante la registrazione. La rimozione di questo limite è limitata solo al caso in cui sia 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 tra siti tramite i conteggi dei report.

Inoltre, i report aggregabili saranno comunque soggetti ad altri limiti che riducono la quantità totale di informazioni che possono essere misurate, ad esempio il budget per i contributi L1 (65.536) per sorgente e il limite di percentuale di attribuzione.

Voce di ChromeStatus.com

Mitigazioni del monitoraggio del rimbalzo nella cache HTTP

Le mitigazioni del monitoraggio del rimbalzo per la cache HTTP sono un'estensione del comportamento esistente di monitoraggio anti-rimbalzo. Viene rimosso il requisito che un sito di monitoraggio sospetto debba aver eseguito l'accesso allo spazio di archiviazione per attivare le mitigazioni del monitoraggio dei abbandoni.

La soluzione di mitigazione del monitoraggio dei tassi di abbandono inizialmente proposta da Chrome si attiva quando un sito accede allo spazio di archiviazione del browser (ad esempio nei cookie) durante un flusso di reindirizzamento. Tuttavia, i tracker dei tassi di esclusione possono aggirare sistematicamente queste mitigazioni utilizzando la cache HTTP per preservare i dati. Se vengono allentate le condizioni di attivazione per le mitigazioni del monitoraggio dei abbandoni, il browser dovrebbe essere in grado di rilevare i tracker dei abbandoni utilizzando la cache HTTP.

Bug di monitoraggio 40264244 | Voce di ChromeStatus.com | Specifiche

Rilevamento on-device delle notifiche illecite su Android basato su LLM

Questo lancio ha lo scopo di nascondere i contenuti delle notifiche che si ritiene siano in violazione. L'utente avrà quindi la possibilità di ignorare, mostrare la notifica o annullare l'iscrizione all'origine. Questo rilevamento deve essere eseguito da un modello on-device.

Voce di ChromeStatus.com

OffscreenCanvas getContextAttributes

Aggiungi l'interfaccia getContextAttributes da CanvasRenderingContext2D a OffscreenCanvasRenderingContext2D.

Bug di monitoraggio 388437261 | Voce di ChromeStatus.com | Specifiche

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.

Bug di monitoraggio #376707230 | Voce di ChromeStatus.com | Specifiche

Supporto dell'API Web Locks in Shared Storage

Integra l'API Web Locks in Shared Storage. In questo modo, si evitano scenari in cui la misurazione della copertura tra siti può comportare la duplicazione dei report a causa di potenziali race condition all'interno della logica di get() e set().

Questa modifica:

  • Introduce navigator.locks.request nell'ambiente del worklet.
  • Viene introdotta l'opzione { withLock: <resource>} in tutti i metodi di modificatore.
  • Introduce un metodo di modifica collettiva: sharedStorage.batchUpdate(methods, options). Questo metodo, con l'opzione withLock, consente di eseguire più metodi di modifica in modo atomico, consentendo casi d'uso in cui un sito web deve mantenere la coerenza durante l'aggiornamento dei dati organizzati in più chiavi.

Bug di monitoraggio 373899210 | Voce di ChromeStatus.com

Rendering e grafica

Supporto di ImageSmoothingQuality in PaintCanvas

Aggiunta del supporto per l'attributo imageSmoothingQuality in Paint Canvas. In questo modo puoi scegliere il compromesso tra qualità o prestazioni durante la ridimensionamento delle immagini. Esistono in totale tre opzioni per imageSmoothingQuality: low, medium e high.

Bug di monitoraggio #None | Voce di ChromeStatus.com | Specifiche

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.

Voce di ChromeStatus.com | Specifiche

Prove dell'origine

API Digital Credential

Oggi i siti web possono e ricevono le credenziali dalle app per 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 comunica in modo sicuro con il portafoglio digitale sullo smartphone Android per recuperare le credenziali richieste.

Origin Trial | Tracking bug #40257092 | Voce di ChromeStatus.com | Specifiche

Prova relativa al ritiro per SelectParserRelaxation

Si tratta di una prova relativa al ritiro, che riattiva il vecchio comportamento del parser per l'analisi dei tag <select>. In base al precedente comportamento, i contenuti non supportati venivano eliminati silenziosamente e non inclusi nei contenuti DOM sotto <select>. Questa prova può essere utilizzata nel caso in cui il nuovo comportamento abilitato da Chrome 135 causi il malfunzionamento di un sito.

Origin Trial | Voce di ChromeStatus.com

Ritiro e rimozione

Rimuovi vincoli audio getUserMedia non standard

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, passando da 0,000001% a 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, a causa di altre modifiche imminenti, nessuna di queste avrà alcun effetto.

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.

Bug di monitoraggio n. 377131184 | Voce di ChromeStatus.com | Specifiche