Chrome 136

Data di rilascio stabile: 29 aprile 2025

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

HTML e DOM

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 una tela offscreen produce risultati di rendering diversi da quelli della tela in cui viene utilizzato il relativo output. Questa funzionalità aggiunge un attributo IDL lang a CanvasTextDrawingStyles per offrire agli sviluppatori il controllo diretto sul linguaggio per il disegno del testo e le metriche.

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

CSS e UI

La proprietà dynamic-range-limit

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

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

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.

Esiste un'eccezione per i "link diretti", in cui i link alle pagine di un sito possono essere impostati come :visited anche se non sono stati ancora selezionati in questo sito di primo livello e nell'origine del frame esatti. Questa esenzione è attivata solo nei frame o nei frame secondari di primo livello che hanno lo stesso dominio del frame di primo livello. I vantaggi per la privacy vengono comunque raggiunti perché i siti sanno già quali delle sue sottopagine sono state visitate da un utente, quindi non vengono esposte nuove informazioni. Si tratta di un'eccezione richiesta dalla community che migliora l'esperienza utente.

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

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.

Documentazione MDN | Bug di monitoraggio #376381169 | Voce di ChromeStatus.com | Specifiche

Rinomina il tipo string attr() in raw-string

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

Pertanto, da Chrome 136 attr(data-foo string) diventa attr(data-foo raw-string).

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

Valore alternativo var() indipendente dal tipo

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

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

API web

Invia gli eventi di clic al cursore acquisito

Se un cursore viene acquisito durante l'invio dell'evento pointerup, ora l'evento pointerup viene inviato al target acquisito anziché all'antenato comune più vicino degli eventi pointerdown e pointerup, come da specifica dell'evento UI.click

Per i puntatori non acquisiti, il target click rimane invariato.

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

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 vengono codificate come commenti magici.

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

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 utilizzando i 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.

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

Protected Audience: comandi di conversione del testo

Gli script di offerta e di determinazione del punteggio di Protected Audience che interagiscono con WebAssembly devono convertire in modo efficiente i dati di tipo stringa in (e da) array di byte (ad esempio, per passare stringhe in e da WebAssembly con l'array buffer "memory"). Questo fornisce due funzioni autonome, protectedAudience.encodeUtf8 e protectedAudience.decodeUtf8, per eseguire queste attività con un ordine di grandezza più efficiente rispetto a JavaScript.

Voce di ChromeStatus.com

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

Voce di ChromeStatus.com | Specifiche

Regole di speculazione: campo tag

In questo modo, gli sviluppatori possono aggiungere il campo tag 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.

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

Aggiorna ProgressEvent in modo da 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 e lo sviluppatore ha 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.

Voce di ChromeStatus.com | Specifiche

Privacy e sicurezza

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.

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

Ridurre il fingerprinting nelle informazioni dell'intestazione Accept-Language

Riduce la quantità di informazioni esposte dalla stringa del valore dell'intestazione Accept-Language nelle richieste HTTP e in navigator.languages. Invece di inviare un elenco completo delle lingue preferite dell'utente in ogni richiesta HTTP, ora Chrome invia la lingua più preferita dell'utente nell'intestazione Accept-Language.

Bug di monitoraggio 1306905 | Voce di ChromeStatus.com

Identità

Aggiornamenti di FedCM

Consente a FedCM di mostrare più fornitori di identità nella stessa finestra di dialogo, in quanto tutti i fornitori sono inclusi nella stessa chiamata get(). In questo modo, gli sviluppatori hanno un modo pratico per presentare agli utenti tutti i provider di identità supportati.

Chrome 136 rimuove anche il supporto per l'opzione Aggiungi un altro account in modalità passiva di FedCM. Questa funzionalità consente di mostrare un pulsante Usa un altro account insieme ad altri account IdP nel selettore. Al momento la funzionalità non è utilizzata e le conversazioni sull'esperienza utente ci hanno portato a credere 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.

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

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.

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

Immagini e contenuti multimediali

AudioContext Stato Interrotto

Aggiunge uno stato "interrupted" a AudioContextState. Questo nuovo stato consente all'agente utente di mettere in pausa la riproduzione durante l'accesso esclusivo all'audio (VoIP) o quando il coperchio di un laptop è chiuso.

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

Controllo della superficie acquisita

Un'API web che consente alle applicazioni web di:

  1. Inoltra gli eventi relativi alle ruote a una scheda acquisita.
  2. Leggere e modificare il livello di zoom di una scheda acquisita.

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

CapturedSurfaceResolution

Esporre il rapporto tra pixel della superficie acquisita durante la condivisione schermo.

Questa funzionalità consente alle applicazioni di risparmiare sulle risorse di sistema o di adattare il compromesso tra qualità e larghezza di banda in base alle risoluzioni fisiche e logiche della superficie acquisita.

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

Supporto del codec H265 (HEVC) in WebRTC

Dopo questa modifica, HEVC si unirà a VP8, H.264, VP9 e AV1 come codec supportati in WebRTC. Sarà possibile eseguire query sull'assistenza utilizzando l'API MediaCapabilities.

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

Aggiornamenti sul supporto del codec H26x per MediaRecorder

L'API MediaRecorder di Chromium ora supporta la codifica HEVC, introducendo la stringa del codec hvc1.* e aggiungendo nuovi codec (hev1.* e avc3.*) che supportano i video con risoluzione variabile in MP4.

Il supporto per la codifica della piattaforma HEVC è stato aggiunto a WebCodecs in Chromium M130. Come 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 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.

Voce di ChromeStatus.com

Utilizza DOMPointInit per getCharNumAtPosition, isPointInFill, isPointInStroke

Questa modifica rende il codice di Chromium conforme all'ultima specifica W3C per SVGGeometryElement e SVGPathElement in termini di utilizzo di DOMPointInit rispetto a SVGPoint per getCharNumAtPosition, isPointInFill, isPointInStroke.

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

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.

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

Modifiche al browser

Barre di scorrimento fluide

Questa funzionalità modernizza le barre di scorrimento di Chromium (sia sovrapposte che non sovrapposte) 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 saranno 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 Chromium per Linux è stato allineato a quello di Windows. Non è ancora stato deciso come esporre l'attivazione delle barre di scorrimento Fluent in overlay.

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

Prove dell'origine

API Audio Output Devices: setDefaultSinkId()

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

Origin Trial | Voce di ChromeStatus.com | Specifiche

Consentire alle applicazioni web di comprendere i tempi di rendimento bimodali

Le applicazioni web potrebbero presentare una distribuzione bimodale delle prestazioni di 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.

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

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

Aggiornamento dell'implementazione del rendering del testo di Canvas

Non si tratta di una modifica esposta sul web.

L'implementazione di CanvasRenderingContext2D measureText(), fillText() e strokeText() ha subito un cambiamento drastico. Ciò potrebbe influire sulle prestazioni, pertanto vorremmo eseguire un esperimento di origine in modo che le applicazioni che richiedono molto spazio in canvas possano provare la nuova implementazione.

Sperimentale di origine | Bug di monitoraggio #389726691 | Voce di ChromeStatus.com

Ritiro e rimozione

Rimuovi HTMLFencedFrameElement.canLoadOpaqueURL()

Il metodo HTMLFencedFrameElement canLoadOpaqueURL() è stato sostituito con navigator.canLoadAdAuctionFencedFrame() nel 2023 e la sua chiamata ha generato un avviso della console di ritiro da quando rimanda alla nuova API. Il metodo è stato rimosso da Chrome 136.

Voce di ChromeStatus.com