Chrome 135

Data di rilascio stabile: 1° aprile 2025

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

HTML e DOM

Comandi invocanti; gli attributi command e commandfor

Gli attributi command e commandfor negli elementi <button> ti consentono di assegnare il comportamento ai pulsanti in modo più accessibile e dichiarativo.

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

Aggiunge il supporto per <link rel="facilitated-payment" href="..."> come suggerimento che il browser deve inviare una notifica ai clienti di pagamento registrati su un pagamento push in attesa.

Bug di monitoraggio n. 1477049 | Voce di ChromeStatus.com

CSS

Pseudoelemento ::column per i caroselli

Uno pseudo-elemento ::column che consente di applicare un insieme limitato di stili ai frammenti generati. Nello specifico, questo sarebbe limitato agli stili che non influiscono sul layout e che possono quindi essere applicati dopo il layout.

Voce di ChromeStatus.com

::scroll-button() pseudo-elementi

Consente la creazione di pulsanti di scorrimento interattivi come pseudo-elementi, ad esempio:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Devono essere attivabili e comportarsi come un pulsante (inclusi gli stili UA). Quando è attivato, deve essere eseguito uno scorrimento nella direzione di una certa quantità. Quando non è possibile scorrere in quella direzione, devono essere disattivati (e impostati con lo stile :disabled), altrimenti sono attivati (e impostati con lo stile :enabled).

Il selettore ti consente di definire i pulsanti in quattro direzioni logiche: block-start, block-end, inline-start, inline-end, nonché in quattro direzioni fisiche: up, down, left, right.

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

::scroll-marker e ::scroll-marker-group

Aggiunge gli pseudo-elementi ::scroll-marker e ::scroll-marker-group per i contenitori con scorrimento. Consentono di creare un insieme di indicatori attivabili per tutti gli elementi associati all'interno del contenitore con scorrimento.

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

Inerzia CSS: la proprietà interactivity

La proprietà interactivity specifica se un elemento e i relativi discendenti dell'albero piatto (inclusi gli a capo di testo) sono inattivi o meno.

L'inerzia di un elemento influisce sulla possibilità di attivare la messa a fuoco, la modifica, la selezione e la ricerca tramite Trova nella pagina. Influisce anche sulla sua visibilità nell'albero dell'accessibilità.

Voce di ChromeStatus.com | Specifiche

Sovrabbondanza logica CSS

Le proprietà CSS overflow-inline e overflow-block consentono di impostare lo spazio in eccesso in direzione inline e block rispetto alla modalità di scrittura. In una modalità di scrittura orizzontale, overflow-inline corrisponde a overflow-x, mentre in una modalità di scrittura verticale corrisponde a overflow-y.

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

Posizionamento dell'ancora CSS con offset di scorrimento memorizzato

È stato aggiunto il supporto per il concetto di offset di scorrimento memorizzato.

Quando un elemento posizionato ha un'ancora predefinita ed è vincolato a questa ancora su un lato e al blocco contenente originale sull'altro lato, l'offset di scorrimento verrà preso in considerazione per le dimensioni dell'elemento. In questo modo puoi utilizzare tutto lo spazio visibile (utilizzando position-area) per l'elemento ancorato quando il documento viene scorretto con un determinato offset di scorrimento.

Per evitare il layout (ridimensionamento dell'elemento) ogni volta che si scorre il documento (un comportamento indesiderato e dannoso anche per le prestazioni), verrà utilizzato un cosiddetto "offset di scorrimento memorizzato" anziché utilizzare sempre l'offset di scorrimento corrente. Lo scorrimento memorizzato viene aggiornato in un cosiddetto "punto di ricalcolo dell'ancora", che può essere:

  • Quando l'elemento posizionato viene visualizzato per la prima volta.
  • Quando viene scelta un'opzione di posizione diversa (position-try-fallbacks).

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

Funzione shape() CSS

La funzione shape() consente di utilizzare forme in formato libero responsive in clip-path.

Puoi definire una serie di verbi, approssimativamente equivalenti a quelli in path(), ma che accettano unità responsive (come % o vw), nonché eventuali valori CSS come le proprietà personalizzate.

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

Variabili safe-area-max-inset-*

Questa funzionalità aggiunge variabili max-area-safe-inset-* che non cambiano e rappresentano l'insetto massimo possibile dell'area di sicurezza.

Il caso d'uso risolto è evitare di dover riorganizzare la pagina nei casi in cui il piè di pagina (ad esempio) possa semplicemente scorrere man mano che il valore dell'inset dell'area di sicurezza aumenta, anziché cambiare dimensioni.

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

Stile degli elementi pseudo nidificati

Consente di applicare stili agli pseudo elementi nidificati all'interno di altri pseudo elementi. Finora, il supporto è definito per:

  • ::before::marker
  • ::after::marker

::column::scroll-marker sarà supportato in futuro.

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

Audio e video

Aggiungere il supporto di MediaStreamTrack all'API Web Speech

Aggiunta del supporto di MediaStreamTrack all'API Web Speech.

L'API Web Speech è un'API standard web che consente agli sviluppatori di incorporare il riconoscimento vocale e la sintesi vocale nelle loro pagine web. Al momento, l'API Web Speech utilizza il microfono predefinito dell'utente come input audio. Il supporto di MediaStreamTrack consente ai siti web di utilizzare l'API Web Speech per aggiungere sottotitoli codificati ad altre sorgenti audio, tra cui le tracce audio remote.

Voce di ChromeStatus.com | Specifiche

API web

Crea un client di service worker e eredita il controller di service worker per l'iframe srcdoc

Al momento, i documenti di contesto Srcdoc non sono client di service worker e non sono coperti dal service worker principale. Ciò comporta alcune discrepanze (ad esempio, la funzionalità Ritmo risorse segnala gli URL caricati da questi documenti, ma il worker dei servizi non li intercetta). Lo scopo di questa modifica è correggere le discrepanze creando client di service worker per gli iframe srcdoc e facendoli ereditare il controller del service worker del componente principale.

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

Riflessione degli elementi

Questa funzionalità consente di riflettere gli attributi delle relazioni ARIA in IDL come riferimenti a elementi anziché come stringhe DOM.

Implementa gli attributi IDL nell'interfaccia ARIAMixin con un tipo di elemento o FrozenArray<Element>, ad eccezione di ariaOwnsElements.

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

Frame delimitati: supporto automatico dei dati cross-origin dei beacon

I frame delimitati o gli iframe URN, se caricati tramite un'API come Protected Audience o Shared Storage, possono inviare automaticamente beacon di reporting se si verifica un evento (attualmente sono supportati solo i beacon di navigazione di primo livello). In precedenza, questa funzionalità è stata aggiornata per consentire ai documenti cross-origin caricati nell'albero del frame delimitato principale di inviare beacon automatici, se attivati, ma è stata mantenuta la limitazione che solo i frame con la stessa origine dell'origine caricata dall'API potevano impostare i dati da inviare come parte del beacon. Questa funzionalità amplia la funzionalità per consentire al documento cross-origin di impostare i dati che verranno utilizzati nel beacon automatico.

Per consentire questa operazione preservando al contempo la privacy, sia il documento principale del frame delimitato sia il documento del frame secondario cross-origin devono essere attivati esplicitamente. Si tratta della stessa procedura di attivazione prevista per le altre funzionalità di annunci di ricerca cross-origin. Nello specifico, il frame principale deve attivare l'utilizzo dell'intestazione Allow-Fenced-Frame-Automatic-Beacons e il frame secondario cross-origin che imposta i dati deve attivare l'utilizzo del parametro crossOriginExposed nella chiamata a setReportEvent().

Voce di ChromeStatus.com | Specifiche

Float16Array

Aggiunge l'array di tipo Float16Array. I valori numerici vengono arrotondati a IEEE fp16 durante la scrittura nelle istanze Float16Array.

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

Prevenzione del monitoraggio HSTS

Riduce il monitoraggio degli utenti da parte di terze parti utilizzando la cache HSTS.

Questa funzionalità consente gli upgrade HSTS solo per le navigazioni di primo livello e blocca gli upgrade HSTS per le richieste di risorse secondarie. In questo modo, i siti di terze parti non possono utilizzare la cache HSTS per monitorare gli utenti sul web.

Bug di monitoraggio 40725781 | Voce di ChromeStatus.com

Quando la navigazione viene avviata da un elemento (ad esempio con un clic su un link o l'invio di un modulo), la proprietà sourceElement in NavigateEvent sarà l'elemento di avvio.

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

Modifica del nome del motivo dell'API NotRestoredReasons

L'API NotRestoredReasons sta modificando alcuni dei testi dei motivi per allinearsi ai nomi standardizzati. Se monitori questi motivi, potresti notare una modifica dei testi dei motivi.

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

API Observable

Gli Observable sono un paradigma di programmazione reattiva molto utilizzato per gestire uno stream asincrono di eventi basati su push. Possono essere considerate promesse, ma per più eventi, e hanno lo scopo di fare ciò che le promesse facevano per i callback e l'annidamento. In altre parole, consentono una gestione ergonomica degli eventi fornendo un oggetto Observable che rappresenta il flusso asincrono degli eventi.

Puoi iscriverti all'oggetto per ricevere gli eventi man mano che arrivano e chiamare uno dei relativi operatori o combinatori per descrivere in modo dichiarativo il flusso di trasformazioni attraverso cui passano gli eventi. Questo è in contrasto con la versione imperativa, che spesso richiede un nidificazione complicata con elementi come addEventListener().

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

Rimuovi il limite di setInterval(...) a >= 1 ms

Prima di Chrome 135, setInterval con un valore inferiore a 1 viene limitato a 1. Questa limitazione viene rimossa a partire dalla versione 135 di Chrome.

  • Prima: setInterval(..., 0) = ritardo 1ms.
  • Dopo: setInterval(..., 0) = ritardo di 0ms.

Bug di monitoraggio 41380458 | Voce di ChromeStatus.com

L'URL del client di Service Worker ignora le modifiche history.pushState()

Modifica la proprietà Client.url del worker di servizio per ignorare le modifiche all'URL del documento con history.pushState() e altre API di cronologia simili. La proprietà Client.url deve essere l'URL di creazione del documento HTML che ignora queste modifiche.

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

Supporta gli attributi rel e relList per SVGAElement

L'interfaccia SVGAElement in SVG 2.0 consente la manipolazione di elementi <a> simili agli elementi di ancoraggio HTML. Il supporto degli attributi rel e relList migliora la sicurezza e la privacy per gli sviluppatori.

Questo allineamento con gli elementi di ancoraggio HTML garantisce coerenza e facilità d'uso tra le tecnologie web.

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

Timestamp per i frame codificati RTC

Questa funzionalità consiste nell'esporre al web alcuni timestamp presenti nei frame codificati WebRTC trasmessi utilizzando RTCPeerConnection. I timestamp in questione sono:

  • Timestamp di acquisizione: il timestamp dell'acquisizione originale di un frame.
  • Timestamp ricezione: il timestamp di ricezione di un frame.

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

Aggiorna le intestazioni, il corpo e il criterio del referrer delle richieste HTTP sul reindirizzamento CORS

Aggiorna la richiesta HTTP sul reindirizzamento CORS rimuovendo le intestazioni request-body e il corpo se il metodo è cambiato e aggiornando il criterio del referrer. Questi aggiornamenti delle richieste sono in linea con le specifiche di Fetch e corrispondono al comportamento implementato da Firefox e Safari per migliorare la compatibilità.

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

API fetchLater

fetchLater() è un'API JavaScript per richiedere un recupero differito. Una volta chiamata in un documento, una richiesta differita viene messa in coda dal browser nello stato PENDING e verrà invocata dalla prima delle seguenti condizioni:

  • Il documento viene distrutto.
  • Dopo un orario specificato dall'utente. Per motivi di privacy, tutte le richieste in attesa verranno svuotate quando il documento entra nella cache bfcache, indipendentemente dal tempo rimanente.
  • Il browser decide che è ora di inviarlo.

L'API restituisce un oggetto FetchLaterResult contenente un campo booleano "activated" che può essere aggiornato per indicare se la richiesta differita è stata inviata o meno. In caso di invio riuscito, l'intera risposta verrà ignorata dal browser, inclusi corpo e intestazioni. Non deve essere elaborato o aggiornato nulla, poiché la pagina potrebbe non essere più disponibile.

Tieni presente che dal punto di vista dell'utente dell'API, l'ora esatta di invio è sconosciuta.

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

API highlightsFromPoint

L'API highlightsFromPoint consente agli sviluppatori di interagire con gli elementi in evidenza personalizzati rilevando quali sono presenti in un punto specifico di un documento. Questa interattività è utile per funzionalità web complesse in cui più elementi in evidenza possono sovrapporsi o esistere all'interno di shadow DOM. Fornendo un rilevamento preciso degli elementi in evidenza basato su punti, l'API consente agli sviluppatori di gestire in modo più efficace le interazioni dinamiche con gli elementi in evidenza personalizzati, ad esempio rispondendo ai clic degli utenti o agli eventi di passaggio del mouse sulle regioni evidenziate per attivare descrizioni comando, menu contestuali o altre funzionalità interattive personalizzate.

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

Prove dell'origine

Credenziali di sessione associate al dispositivo

Un modo per consentire ai siti web di associare in modo sicuro una sessione a un singolo dispositivo.

Consente ai server di avere una sessione vincolata in modo sicuro a un dispositivo. Il browser rinnoverà la sessione periodicamente, come richiesto dal server, con la prova della disponibilità di una chiave privata.

Origin Trial | Voce di ChromeStatus.com | Specifiche

Chiamata di interesse

Questa funzionalità aggiunge un attributo interesttarget agli elementi <button> e <a>. L'attributo interesttarget aggiunge all'elemento comportamenti di "interesse", in modo che quando l'utente "mostra interesse" per l'elemento, vengano attivate azioni sull'elemento target. Le azioni possono includere, ad esempio, la visualizzazione di un popup. L'agente utente si occuperà di rilevare quando l'utente "mostra interesse" per l'elemento, ad esempio quando passa il mouse sopra l'elemento, preme hotkey speciali sulla tastiera o preme a lungo l'elemento sui touchscreen. Quando l'interesse viene mostrato o perso, viene attivato un InterestEvent sul target, che ha azioni predefinite nel caso dei popup: la visualizzazione e l'occultamento del popup.

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

Integrità basata sulle firme

Questa funzionalità fornisce agli sviluppatori web un meccanismo per verificare la provenienza delle risorse di cui dipendono, creando una base tecnica per la fiducia nelle dipendenze di un sito. In breve: i server possono firmare le risposte con una coppia di chiavi Ed25519 e gli sviluppatori web possono richiedere all'agente utente di verificare la firma utilizzando una chiave pubblica specifica. Si tratta di un'aggiunta utile ai controlli basati sugli URL offerti da Content Security Policy e ai controlli basati sui contenuti di Subresource Integrity.

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

Regole di speculazione: campo target_hint

Questa estensione della sintassi delle regole di speculazione consente agli sviluppatori di specificare il campo target_hint.

Questo campo fornisce un suggerimento per indicare una destinazione navigabile in cui verrà attivata una pagina sottoposta a prerendering. Ad esempio, quando _blank è specificato come suggerimento, è possibile attivare una pagina sottoposta a prerendering per una pagina navigabile aperta da window.open(). Il campo non influisce sul pre-caricamento.

La specifica consente a questo campo di accettare come valore qualsiasi stringa valida come nome target o come parola chiave navigabile, ma questo lancio supporta solo una delle stringhe "_self" o "_blank". Se il suggerimento non è specificato, viene trattato come se fosse specificato "_self".

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

Ritiro e rimozione

Rimuovere il metodo navigator.xr.supportsSession deprecato

A settembre 2019, dopo aver ricevuto feedback sulla forma dell'API dal TAG, il metodo navigator.xr.supportsSession è stato sostituito nella specifica WebXR dal metodo navigator.xr.isSessionSupported. Da allora è stata contrassegnata come deprecata in Chromium, generando un avviso della console che reindirizza gli sviluppatori all'API aggiornata.

L'utilizzo della chiamata è molto basso e tutti i principali framework utilizzati per creare contenuti WebXR sono stati aggiornati per utilizzare la chiamata più recente.

Voce di ChromeStatus.com | Specifiche

Rimuovi il limite WebGPU maxInterStageShaderComponents

Il limite di maxInterStageShaderComponents viene rimosso a causa di una combinazione di fattori:

  • Redundanza con maxInterStageShaderVariables: questo limite ha già uno scopo simile, controllando la quantità di dati trasmessi tra le fasi dello shader.
  • Discrepanze minori: anche se esistono lievi differenze nel calcolo dei due limiti, queste differenze sono minori e possono essere gestite efficacemente entro il limite di maxInterStageShaderVariables.
  • Semplificazione: la rimozione di maxInterStageShaderComponents semplifica l'interfaccia dello shader e riduce la complessità per gli sviluppatori. Invece di gestire due limiti distinti (che si applicano entrambi contemporaneamente, ma con differenze sottili), possono concentrarsi sul valore maxInterStageShaderVariables, più appropriato e completo.

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