Chrome 136 beta

Data di pubblicazione: 3 aprile 2025

Se non diversamente specificato, 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 136 è in versione beta dal 3 aprile 2025. Puoi scaricare l'ultima versione 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 negli script corsivi

Questa funzionalità aggiunge la logica per ignorare l'impostazione della spaziatura tra le lettere per gli script corsivi, anche se specificata dallo sviluppatore in base alle specifiche, per garantire che la spaziatura tra le lettere non interrompa le parole.

Per eliminare le perdite della cronologia di navigazione degli utenti, gli elementi di ancoraggio vengono stilizzati come :visited solo se è stato fatto clic su di essi dall'origine del frame e del sito di primo livello prima.

Stilizzando solo i link su cui è stato fatto clic su questo sito e frame in precedenza, i numerosi attacchi side-channel 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) diventi attr(data-foo raw-string).

Fallback var() indipendente dal tipo

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

print-color-adjust senza prefisso

La proprietà print-color-adjust consente di regolare i colori nelle pagine web stampate. È uguale a -webkit-print-color-adjust, già supportata da Chrome, ma con un nome standardizzato. La versione con prefisso -webkit non viene rimossa.

API web

Stato interrotto di AudioContext

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

Partizionamento degli URL dei blob: recupero/navigazione

In continuazione con il partizionamento dello spazio di archiviazione, questa funzionalità implementa il partizionamento dell'accesso agli URL dei blob in base alla chiave di archiviazione (sito di primo livello, origine del frame e il 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 da Firefox e Safari e allinea l'utilizzo degli URL dei blob allo schema di partizionamento utilizzato da altre API di archiviazione nell'ambito del partizionamento dello spazio di archiviazione.

Inoltre, ora noopener viene applicato alle navigazioni di primo livello avviate dal renderer agli URL dei 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.

Analisi dello stack nei report sugli arresti anomali delle pagine web che non rispondono

Questa funzionalità acquisisce lo stack di chiamate JavaScript quando una pagina web non risponde a causa del codice JavaScript che esegue un loop infinito o un altro calcolo molto lungo. In questo modo gli sviluppatori possono identificare la causa della mancata risposta. Lo stack di chiamate JavaScript è incluso nell'API di reporting sugli arresti anomali quando il motivo è la mancata risposta.

API Captured Surface Control

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

CapturedSurfaceResolution

Espone il rapporto tra i pixel della superficie acquisita durante la condivisione dello schermo. Questa funzionalità aiuterà le applicazioni a conservare 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 eventi di clic al puntatore acquisito

Se un puntatore 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 specifiche dell'evento UI. Per i puntatori non acquisiti, il target click rimane invariato.

Suggerimenti di compilazione espliciti con commenti magici

Consente di allegare informazioni sulle funzioni che devono essere analizzate e compilate 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 possono presentare agli utenti tutti i provider di identità supportati. Stiamo pianificando di affrontare prima il caso semplice di avere tutti i provider nella stessa chiamata get(). Stiamo anche rimuovendo il supporto per la funzionalità "Aggiungi un altro account" in modalità passiva FedCM. Questa funzionalità consente di mostrare un pulsante "Utilizza un altro account" insieme ad altri account del provider di identità nello strumento di selezione. La funzionalità non viene 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 FedCM.

Barre di scorrimento Fluent.

Questa funzionalità modernizza le barre di scorrimento di Chrome (sia overlay che non overlay) su Windows e Linux per adattarsi al linguaggio di progettazione Fluent di Windows 11. Le barre di scorrimento Fluent non overlay verranno attivate per impostazione predefinita su Linux e Windows. Questa modifica si applica anche a Linux perché la progettazione della barra di scorrimento di Chrome per Linux è stata storicamente allineata a quella 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. Il supporto sarà interrogabile utilizzando l'API MediaCapabilities.

Questo codec più recente ha una maggiore efficienza di compressione (qualità superiore per bitrate) 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 minor rischio di problemi di prestazioni e, a seconda delle prestazioni del codificatore hardware sottostante, spesso migliorerà l'esperienza visiva nei casi in cui non sono disponibili codificatori hardware VP9 o AV1.

Aggiornamenti del supporto del codec H26x per MediaRecorder

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

Registrazione e reporting 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 ai provider 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.

Incorpora l'iniziatore della navigazione nella chiave di partizionamento della cache HTTP

Lo schema di chiavi della cache HTTP di Chrome viene aggiornato per includere un valore booleano is-cross-site-main-frame-navigation per mitigare gli attacchi di perdita cross-site che coinvolgono la navigazione di primo livello. In particolare, ciò impedirà gli attacchi cross-site in cui un utente malintenzionato può avviare una navigazione di primo livello a una determinata pagina e poi passare a una risorsa nota per essere caricata dalla pagina per dedurre informazioni sensibili dal tempo di caricamento. Questa modifica migliora anche la privacy impedendo a un sito dannoso di utilizzare le navigazioni per dedurre se un utente ha visitato un determinato sito in precedenza.

Supporto delle lingue per CanvasTextDrawingStyles

L'elemento DOM <canvas>, come tutti gli elementi DOM, accetta un attributo lang utilizzato per definire il trattamento specifico della lingua per la selezione dei caratteri (quando 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 sulle impostazioni internazionali, il che potrebbe comportare uno stato in cui un canvas fuori schermo produce risultati di rendering diversi dal canvas in cui viene utilizzato il suo output. Questa funzionalità aggiunge un attributo IDL lang a CanvasTextDrawingStyles per fornire il controllo diretto sulla lingua per il disegno e le metriche del testo.

Report sulle policy relative alle autorizzazioni per gli iframe

Introduce un nuovo tipo di violazione denominato "Potenziale violazione della policy relativa alle autorizzazioni", che esaminerà solo la policy relativa alle autorizzazioni (inclusa la policy di sola segnalazione) e l'attributo allow impostato negli iframe per rilevare il conflitto tra la policy relativa alle autorizzazioni applicata e le autorizzazioni propagate agli iframe.

Quota di spazio di archiviazione segnalata prevedibile

Segnala una quota di spazio di archiviazione prevedibile dall'API Estimate 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 segnalata perché lo spazio di archiviazione reso disponibile è notevolmente inferiore in modalità di navigazione in incognito rispetto alla modalità normale.

API Private Aggregation: reporting degli errori aggregati

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

RegExp.escape

RegExp.escape è un metodo statico che accetta una stringa e restituisce una versione con 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 field del tag alle regole di speculazione. Questo campo facoltativo può essere utilizzato per monitorare l'origine delle regole di speculazione. Ad esempio, per trattarli in modo diverso su un server intermedio. Tutti i tag associati a una speculazione verranno inviati con l'intestazione Sec-Speculation-Tags.

Policy relativa alla stessa origine rigorosa per l'API Storage Access

Modifica la semantica dell'API Storage Access in modo che segua rigorosamente la policy relativa alla stessa origine. Ciò significa che, per impostazione predefinita, l'utilizzo di document.requestStorageAccess() in un frame allega i cookie solo alle richieste all'origine (non al sito) dell'iframe. Tieni presente che la policy CookiesAllowedForUrls o le intestazioni di accesso allo spazio di archiviazione possono comunque essere utilizzate per sbloccare i cookie cross-site.

Aggiorna ProgressEvent per utilizzare il tipo double per loaded e total

ProgressEvent ha gli attributi loaded e total che indicano l'avanzamento e il loro tipo è ora 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, gli sviluppatori ora 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 allinea il codice Chromium alle ultime specifiche W3C per SVGGeometryElement e SVGPathElement in termini di utilizzo di DOMPointInit su SVGPoint per getCharNumAtPosition, isPointInFill, isPointInStroke.

Creazione condizionale di autenticazione web (upgrade delle passkey)

Le richieste di creazione condizionale di WebAuthn consentono ai siti web di eseguire l'upgrade delle credenziali 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 maggiore compatibilità, un comportamento più prevedibile o una maggiore privacy. Tieni presente che un adattatore di fallback 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 output audio predefinito utilizzato dai relativi iframe.

Consenti alle applicazioni web di comprendere i tempi di rendimento bimodali

Le applicazioni web potrebbero soffrire di una distribuzione bimodale nel rendimento del caricamento pagina, a causa di fattori al di fuori del controllo dell'applicazione web. Ad esempio:

  • Quando un user agent 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 un computer è impegnato 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 competizione con altre attività in esecuzione sul sistema. In questo modo è difficile rilevare se i problemi di rendimento esistono all'interno delle applicazioni web stesse o a causa di fattori esterni.

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

Credenziali di sessione associate al dispositivo

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

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

Aggiornamento dell'implementazione del rendering del testo del canvas

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

Ritiri e rimozioni

Questa versione di Chrome introduce i seguenti ritiri e rimozioni. Visita ChromeStatus.com per visualizzare gli elenchi dei ritiri pianificati, dei ritiri attuali e delle rimozioni precedenti.

Questa release di Chrome ritira due funzionalità.

Ritira i 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, come i dati della settimana (primo giorno della settimana, giorno di inizio del fine settimana, giorno di fine del fine settimana, giorno minimo nella prima settimana) e il ciclo delle ore di direzione del testo utilizzato nelle impostazioni internazionali. Questa modifica rimuove alcuni getter ritirati in una modifica delle specifiche dal momento della spedizione.

Rimuovi HTMLFencedFrameElement.canLoadOpaqueURL().

canLoadOpaqueURL() è stato sostituito con navigator.canLoadAdAuctionFencedFrame() nel 2023 e la sua chiamata ha generato un avviso di ritiro nella console che indirizza gli sviluppatori alla nuova API. Non ha senso che la funzione sia collegata a HTMLFencedFrameElement, ma dovrebbe essere collegata all'oggetto navigator (che contiene altri metodi di frame isolato e di asta dell'annuncio).