Chrome 136 beta

Data di pubblicazione: 3 aprile 2025

Salvo diversa indicazione, 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 136 è in versione beta dal 3 aprile 2025. Puoi scaricare la versione più recente su Google.com per computer o sul Google Play Store su Android.

CSS e UI

Questa release aggiunge sei nuove funzionalità CSS e UI.

Proprietà CSS dynamic-range-limit

Consente a una pagina di limitare la luminosità massima dei contenuti HDR.

Ignora la spaziatura tra le lettere nelle scritture corsive

Questa funzionalità aggiunge la logica per ignorare l'impostazione spaziatura lettere per le scritture in corsivo, anche se specificata dallo sviluppatore in base alle specifiche, per garantire che la spaziatura lettere non spezzi le parole.

Per eliminare le fughe di dati della cronologia di navigazione degli utenti, gli elementi di ancoraggio vengono impostati come stile :visited solo se sono stati selezionati in precedenza da questo sito di primo livello e dall'origine del frame.

Poiché applichiamo lo stile solo ai link su cui è stato fatto clic in precedenza su questo sito e in questo frame, molti attacchi lato canale sviluppati per ottenere informazioni sullo stile dei link :visited sono ora obsoleti. Non forniscono più ai siti nuove informazioni sugli utenti.

Scopri di più su questi miglioramenti alla privacy dei link :visited.

Rinomina il tipo string attr() in raw-string

Il gruppo di lavoro CSS ha deciso di sostituire il tipo string attr() con raw-string.

Di conseguenza, Chrome ha modificato la sintassi di attr(), in modo che attr(data-foo string) ora sia attr(data-foo raw-string).

Valore alternativo var() indipendente dal tipo

La parte di riserva di una funzione var() non viene convalidata in base al tipo di proprietà personalizzata a cui si fa riferimento.

Senza prefisso print-color-adjust

La proprietà print-color-adjust ti consente di regolare i colori nelle pagine web stampate. Si tratta della stessa funzionalità -webkit-print-color-adjust già supportata da Chrome, ma con un nome standardizzato. La versione con prefisso -webkit non viene rimossa.

API web

Stato di interruzione di AudioContext

Aggiunge uno stato "interrupted" a AudioContextState. Questo nuovo stato consente all'UA di mettere in pausa la riproduzione in questi scenari e consente alle applicazioni web di rispondere di conseguenza.

Partizionamento 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 del frame e valore booleano has-cross-site-ancestor), ad eccezione delle navigazioni di primo livello che rimarranno partizionate solo in base all'origine del 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, noopener viene ora applicato alle navigazioni di primo livello avviate dal renderer agli URL dei BLOB in cui il sito corrispondente è intersito 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.

Stack di chiamate nei report sugli arresti anomali provenienti da pagine web non rispondenti

Questa funzionalità acquisisce lo stack di chiamate JavaScript quando una pagina web diventa non responsiva a causa dell'esecuzione di un loop infinito o di un altro calcolo molto lungo da parte del codice JavaScript. In questo modo, gli sviluppatori possono identificare la causa della mancata risposta. Lo stack di chiamate JavaScript è incluso nell'API di generazione di report sugli arresti anomali quando il motivo è "Non risponde".

API Captured Surface Control

L'API Captured Surface Control consente alle applicazioni web di inoltrare gli eventi della rotella a una scheda acquisita, nonché di leggere e modificare il livello di zoom di una scheda acquisita.

CapturedSurfaceResolution

Mostra il rapporto tra pixel della superficie acquisita durante la condivisione schermo. Questa funzionalità aiuterà le applicazioni a risparmiare le risorse di sistema o ad adattare il compromesso tra qualità e larghezza di banda in base alle risoluzioni fisiche e logiche della superficie acquisita.

Invia gli eventi di clic al cursore acquisito

Se un cursore viene acquisito durante l'invio dell'evento pointerup, l'evento click verrà inviato al target acquisito anziché all'antenato comune più vicino degli eventi pointerdown e pointerup, come da specifica dell'evento UI. Per i cursori non acquisiti, il target click rimane invariato.

Suggerimenti di compilazione espliciti con commenti magici

Consente di allegare informazioni sulle funzioni da analizzare e compilare in modo eager nei file JavaScript. Le informazioni verranno codificate come commenti magici.

Aggiornamenti di FedCM: supporto di più provider di identità, rimozione della funzionalità "Aggiungi un altro account" in modalità passiva

Con questo aggiornamento, FedCM può mostrare più provider di identità nella stessa finestra di dialogo. In questo modo, gli sviluppatori hanno un modo pratico per presentare agli utenti tutti i provider di identità supportati. Abbiamo in programma di affrontare innanzitutto il semplice caso di avere tutti i fornitori nella stessa chiamata get(). Stiamo inoltre rimuovendo il supporto della funzionalità "Aggiungi un altro account" nella modalità passiva di FedCM. Questa funzionalità consente di mostrare un pulsante "Utilizza un altro account" insieme ad altri account IdP nel selettore. La funzionalità non è attualmente utilizzata e le conversazioni sull'esperienza utente ci hanno portato a ritenere che il supporto di questa funzionalità porti a un flusso più complicato senza molti vantaggi. Questa funzionalità continuerà a funzionare in modalità attiva di FedCM.

Barre di scorrimento fluide.

Questa funzionalità modernizza le barre di scorrimento di Chrome (sia sovrapposte che non) su Windows e Linux in modo che si adattino al linguaggio di design Fluent di Windows 11. Le barre di scorrimento Fluent non in overlay verranno attivate per impostazione predefinita in Linux e Windows. Questa modifica si applica anche a Linux perché, in passato, il design della barra di scorrimento di Chrome per Linux è stato allineato a quello di Windows.

Supporto del codec H265 (HEVC) in WebRTC

A partire da Chrome 136, HEVC si unirà a VP8, H.264, VP9 e AV1 come codec supportati in WebRTC. Sarà possibile eseguire query sul supporto utilizzando l'API MediaCapabilities.

Questo codec più recente ha un'efficienza di compressione maggiore (qualità superiore per flussi in bit) rispetto ai codec di generazione precedente come VP8 e H264 e un supporto hardware molto solido da oltre un decennio. Ciò si traduce in una maggiore durata della batteria e in un rischio ridotto di problemi di prestazioni e, a seconda delle prestazioni del codificatore hardware sottostante, spesso migliora l'esperienza visiva nei casi in cui i codificatori VP9 o AV1 hardware non sono disponibili.

Aggiornamenti sul supporto del codec H26x per MediaRecorder

L'API MediaRecorder ora supporta la codifica HEVC, introduce la stringa del codec hvc1.* e aggiunge nuovi codec (hev1.* e avc3.*) che supportano i video con risoluzione variabile in MP4. Il supporto per la codifica della piattaforma HEVC è stato aggiunto in WebCodecs in Chrome 130. In seguito, è stato aggiunto il supporto all'API MediaRecorder in Chromium. L'API ora supporta sia i tipi di muxer MP4 che Matroska con specifiche di tipi MIME HEVC e H.264 diverse. La codifica HEVC è supportata solo se il dispositivo e il sistema operativo dell'utente forniscono le funzionalità necessarie.

Report e registrazione degli indirizzi IP in Chrome Enterprise

Chrome Enterprise sta migliorando le funzionalità di monitoraggio della sicurezza e di risposta agli incidenti raccogliendo e segnalando gli indirizzi IP locali e remoti e inviandoli ai log di indagine sulla sicurezza (SIT). Inoltre, Chrome Enterprise consentirà agli amministratori di inviare facoltativamente gli indirizzi IP a fornitori SIEM proprietari e di terze parti utilizzando il connettore di reporting di Chrome Enterprise. Questa funzionalità sarà disponibile per i clienti di Chrome Enterprise Core.

Incorporare l'iniziatore della navigazione nella chiave della partizione della cache HTTP

Il criterio di generazione delle chiavi della cache HTTP di Chrome è stato aggiornato per includere un valore booleano is-cross-site-main-frame-navigation per mitigare gli attacchi di fuga di dati tra siti che coinvolgono la navigazione di primo livello. In particolare, verranno impediti gli attacchi intersito in cui un malintenzionato può avviare una navigazione di primo livello verso una determinata pagina e poi passare a una risorsa nota per essere caricata dalla pagina al fine di dedurre informazioni sensibili dai tempi di caricamento. Questa modifica migliora anche la privacy impedendo a un sito dannoso di utilizzare le navigazioni per dedurre se un utente ha visitato in precedenza un determinato sito.

Lingue supportate per CanvasTextDrawingStyles

L'elemento DOM <canvas>, come tutti gli elementi DOM, accetta un attributo lang che viene utilizzato per definire un trattamento specifico per la lingua per la selezione dei caratteri (se i caratteri hanno glifi specifici per le impostazioni internazionali). I browser rispettano questo attributo. Tuttavia, quando viene creato un OffscreenCanvas, non è possibile impostare le informazioni sulla locale, il che potrebbe comportare uno stato in cui un canvas offscreen produce risultati di rendering diversi da quelli del canvas in cui viene utilizzato l'output. Questa funzionalità aggiunge un attributo IDL lang a CanvasTextDrawingStyles per dare il controllo diretto sul linguaggio per il disegno del testo e le metriche.

Report relativi ai criteri relativi alle autorizzazioni per gli iframe

Viene introdotto un nuovo tipo di violazione denominato "Possibile violazione delle norme relative alle autorizzazioni", che esaminerà solo le norme relative alle autorizzazioni (incluse le norme solo per i report) e l'attributo allow impostato negli iframe per rilevare il conflitto tra le norme relative alle autorizzazioni applicate e le autorizzazioni propagate agli iframe.

Quota di spazio di archiviazione registrata prevedibile

Segnala una quota di spazio di archiviazione prevedibile dall'API di stima di StorageManager per i siti che non dispongono di autorizzazioni di archiviazione illimitate. È possibile rilevare la modalità di navigazione di un utente utilizzando la quota di spazio di archiviazione registrata perché lo spazio di archiviazione reso disponibile è notevolmente inferiore in modalità di navigazione in incognito rispetto alla modalità normale.

API Private Aggregation: generazione di report sugli errori aggregati

Esistono una serie di condizioni di errore che possono verificarsi durante l'utilizzo dell'API Private Aggregation. Ad esempio, il budget per la privacy potrebbe esaurirsi, impedendo ulteriori contributi all'istogramma. Questa funzionalità consente agli sviluppatori di registrare contributi dell'istogramma che devono essere inviati solo se si verifica un determinato tipo di errore. Questa funzionalità supporta la misurazione della frequenza delle condizioni di errore e la suddivisione di queste misurazioni in dimensioni pertinenti specificate dagli sviluppatori (ad esempio, la versione del codice di cui è stato eseguito il deployment). Poiché gli errori stessi possono essere informazioni su più siti, non possiamo semplicemente esporli alla pagina per gli utenti senza cookie di terze parti. Questa funzionalità riutilizza invece le pipeline di generazione di report aggregate con rumore esistenti tramite il servizio di aggregazione.

RegExp.escape

RegExp.escape è un metodo statico che prende una stringa e restituisce una versione con caratteri di escape che può essere utilizzata come pattern all'interno di un'espressione regolare. Ad esempio:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

Regole di speculazione: campo tag

Consente agli sviluppatori di aggiungere il tag field alle regole di speculazione. Questo campo facoltativo può essere utilizzato per monitorare l'origine delle regole di speculazione. Ad esempio, per trattarle diversamente su un server intermedio. Eventuali tag associati a una speculazione vengono inviati con l'intestazione Sec-Speculation-Tags.

Norme di origine rigorose per l'API Storage Access

Modifica la semantica dell'API Storage Access in modo da rispettare rigorosamente il criterio di stessa origine. In altre parole, l'utilizzo di document.requestStorageAccess() in un frame solo collega i cookie alle richieste all'origine dell'iframe (non al sito) per impostazione predefinita. Tieni presente che i criteri CookiesAllowedForUrls o gli intestazioni di accesso allo spazio di archiviazione possono essere comunque utilizzati per sbloccare i cookie cross-site.

Aggiorna ProgressEvent per utilizzare il tipo doppio per loaded e total

ProgressEvent ha gli attributi loaded e total che indicano l'avanzamento e ora il loro tipo è unsigned long long. Con questa funzionalità, il tipo di questi due attributi viene modificato in double, il che offre allo sviluppatore un maggiore controllo sul valore. Ad esempio, ora gli sviluppatori possono creare un ProgressEvent con total pari a 1 e loaded che aumenta gradualmente da 0 a 1. Questo è in linea con il comportamento predefinito dell'elemento HTML <progress> se l'attributo max viene omesso.

Utilizza DOMPointInit per getCharNumAtPosition, isPointInFill, isPointInStroke

Questa modifica rende il codice di Chromium conforme alla più recente specifica W3C per SVGGeometryElement e SVGPathElement in termini di utilizzo di DOMPointInit rispetto a SVGPoint per getCharNumAtPosition, isPointInFill, isPointInStroke.

Creazione condizionale dell'autenticazione web (upgrade delle passkey)

Le richieste di creazione condizionale WebAuthn consentono ai siti web di eseguire l'upgrade delle credenziali con password esistenti a una passkey.

WebGPU: attributo GPUAdapterInfo isFallbackAdapter

L'attributo booleano GPUAdapterInfo isFallbackAdapter indica se un adattatore presenta limitazioni significative delle prestazioni in cambio di una compatibilità più ampia, un comportamento più prevedibile o una privacy migliorata. Tieni presente che un adattatore di riserva potrebbe non essere presente su tutti i sistemi.

Nuove prove dell'origine

In Chrome 136, puoi attivare le seguenti nuove prove dell'origine.

API Audio Output Devices: setDefaultSinkId()

Questa funzionalità aggiunge setDefaultSinkId() a MediaDevices, che consente al frame di primo livello di modificare il dispositivo di uscita audio predefinito utilizzato dai suoi frame secondari.

Consenti alle applicazioni web di comprendere i tempi di rendimento bimodali

Le applicazioni web potrebbero presentare una distribuzione bimodale del rendimento del caricamento della pagina, a causa di fattori non controllati dall'applicazione web. Ad esempio:

  • Quando un agente utente viene avviato per la prima volta (uno scenario di "avvio a freddo"), deve eseguire molte attività di inizializzazione costose che competono per le risorse del sistema.
  • Le estensioni del browser possono influire sul rendimento di un sito web. Ad esempio, alcune estensioni eseguono codice aggiuntivo su ogni pagina che visiti, il che può aumentare l'utilizzo della CPU e comportare tempi di risposta più lenti.
  • Quando una macchina è impegnata a eseguire attività intensive, il caricamento delle pagine web può essere più lento.

In questi scenari, i contenuti che l'app web tenta di caricare saranno in concorrenza con altri lavori in corso nel sistema. Di conseguenza, è difficile rilevare se esistono problemi di prestazioni all'interno delle applicazioni web stesse o a causa di fattori esterni.

Un nuovo campo confidence nell'oggetto PerformanceNavigationTiming consentirà agli sviluppatori di capire se i tempi di navigazione sono rappresentativi per la loro applicazione web.

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 collegata in modo sicuro a un dispositivo. Il browser rinnova periodicamente la sessione come richiesto dal server, con la prova del possesso di una chiave privata.

Aggiornamento dell'implementazione del rendering del testo su canvas

Gli elementi interni di CanvasRenderingContext2D e measureText(), fillText() e strokeText() di OffscreenCanvasRenderingContext2D sono stati sostituiti da una nuova implementazione che supporta meglio il testo RTL e la memorizzazione nella cache. Ciò potrebbe influire sulle prestazioni e sull'output di testo BIDI, pertanto questa prova dell'origine consente alle applicazioni canvas con molto testo di provare la nuova implementazione e segnalare eventuali problemi riscontrati.

Ritiro e rimozione

Questa versione di Chrome introduce le seguenti ritiri e rimozioni. Visita ChromeStatus.com per gli elenchi delle ritirate pianificate, delle ritirate in corso e delle rimozioni precedenti.

Questa release di Chrome ritira due funzionalità.

Ritiro dei getter di Intl Locale Info

L'API Intl Locale Info è una proposta TC39 ECMAScript di Livello 3 per migliorare l'oggetto Intl.Locale esponendo informazioni sulle impostazioni internazionali, ad esempio i dati della settimana (primo giorno della settimana, giorno di inizio del fine settimana, giorno di fine del fine settimana, giorno minimo della prima settimana) e il ciclo orario dell'orientamento del testo utilizzato nelle impostazioni internazionali. Questa modifica rimuove alcuni getter ritirati in una modifica della specifica da quando sono stati rilasciati.

Rimuovi HTMLFencedFrameElement.canLoadOpaqueURL().

canLoadOpaqueURL() è stato sostituito con navigator.canLoadAdAuctionFencedFrame() nel 2023 e la sua chiamata ha generato un avviso di ritiro nella console da allora indicando agli sviluppatori la nuova API. Non ha senso associare la funzione a HTMLFencedFrameElement, ma deve essere associata all'oggetto navigator (che contiene altri metodi di asta di annunci e frame delimitati).