Chrome 137 beta

Data di pubblicazione: 1° maggio 2025

Se non diversamente indicato, 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 130 è in versione beta dal 30 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 sette nuove funzionalità CSS e UI.

La funzione if()

La funzione CSS if() fornisce un modo conciso per esprimere i valori condizionali. Accetta una serie di coppie condizione-valore delimitate da punti e virgola. La funzione valuta ogni condizione in sequenza e restituisce il valore associato alla prima condizione true. Se nessuna delle condizioni restituisce il valore true, la funzione restituisce un flusso di token vuoto. In questo modo puoi esprimere una logica condizionale complessa in modo semplice e conciso. Esempio:

div {
      color: var(--color);
      background-color: if(style(--color: white): black; else: white);
  }
  .dark {
      --color: black;
  }
  .light {
      --color: white;
  }
<div class="dark">dark</div>
<div class="light">light</div>

Le proprietà reading-flow e reading-order

La proprietà CSS reading-flow controlla l'ordine in cui gli elementi in un layout flessibile, a griglia o a blocchi vengono esposti agli strumenti di accessibilità e selezionati utilizzando la navigazione con la tastiera tramite il tasto Tab. Assume uno dei seguenti valori di parola chiave:

  • normal
  • flex-visual
  • flex-flow
  • grid-rows
  • grid-columns
  • grid-order
  • source-order

La proprietà CSS reading-order ti consente di ignorare manualmente l'ordine all'interno di un contenitore di flusso di lettura. È un numero intero con valore predefinito 0.

Per saperne di più, leggi Utilizzare il flusso di lettura CSS per la navigazione logica sequenziale con messa a fuoco e prova alcuni esempi di flusso di lettura.

offset-path: shape()

La funzione shape() è già supportata in clip-path e consente il ritaglio reattivo. L'attivazione anche per offset-path colma una piccola lacuna in cui lo stesso tipo di forma può essere utilizzato per questa proprietà.

Supporto dell'attributo di trasformazione su SVGSVGElement

Questa funzionalità consente di applicare le proprietà di trasformazione, come scalabilità, rotazione, traslazione e inclinazione, direttamente all'elemento radice <svg> utilizzando l'attributo di trasformazione. Questo miglioramento ti consente di manipolare l'intero sistema di coordinate SVG o i suoi contenuti nel loro complesso, offrendo una maggiore flessibilità nella creazione di grafici vettoriali dinamici, reattivi e interattivi. Supportando questo attributo, l'elemento SVG può essere trasformato senza richiedere elementi wrapper aggiuntivi o soluzioni alternative CSS complesse, semplificando il processo di creazione di grafiche web scalabili e animate.

Consenti a <use> di fare riferimento all'elemento radice di un documento esterno omettendo il frammento.

In questa funzionalità, stiamo semplificando l'elemento SVG <use> allentando i requisiti di riferimento. Al momento, devi fare riferimento esplicito ai frammenti all'interno del documento SVG. Se non viene fornito alcun ID frammento, <use> non sarà in grado di risolvere la destinazione e non verrà eseguito il rendering o il riferimento di nulla.

Con questa funzionalità, l'omissione di frammenti o la semplice indicazione del nome del file SVG esterno farà riferimento automaticamente all'elemento radice, eliminando la necessità di modificare il documento a cui viene fatto riferimento solo per assegnare un ID alla radice. Questo miglioramento semplifica questo processo di modifica manuale e migliora l'efficienza.

Colore intenso del sistema per la proprietà accent-color estesa a Windows e ChromeOS

In questo modo puoi utilizzare il colore intenso del sistema operativo per gli elementi del modulo. Utilizzando la proprietà CSS accent-color, puoi assicurarti che gli elementi del modulo come caselle di controllo, pulsanti di opzione e barre di avanzamento adottino automaticamente il colore accento definito dal sistema operativo dell'utente. Questa funzionalità è supportata su macOS dal 2021 ed è ora supportata su Windows e ChromeOS.

view-transition-name: match-element

Il valore match-element per la proprietà view-transition genera un ID univoco in base all'identità dell'elemento e rimane lo stesso per questo elemento. Questo viene utilizzato nei casi di app a pagina singola in cui l'elemento viene spostato e si vuole animarlo con una transizione di visualizzazione.

API web

Allinea il tipo di errore generato per la creazione delle credenziali WebAuthn "payment"

Corregge il tipo di errore generato durante la creazione delle credenziali WebAuthn per le credenziali payment. A causa di una mancata corrispondenza storica delle specifiche, la creazione di una credenziale payment in un iframe multiorigine senza attivazione utente genererebbe un errore SecurityError anziché un errore NotAllowedError, che è quello generato per le credenziali non di pagamento. Si tratta di una modifica che provoca un errore. Il codice che in precedenza rilevava il tipo di errore generato (ad esempio, e instanceof SecurityError) sarebbe interessato. Il codice che gestisce gli errori durante la creazione delle credenziali (ad esempio catch (e)) continuerà a funzionare correttamente.

Partizionamento dell'URL blob: recupero/navigazione

In continuità con il partizionamento dello spazio di archiviazione, questa funzionalità implementa il partizionamento dell'accesso agli URL blob in base alla chiave di archiviazione (sito di primo livello, origine frame e valore booleano has-cross-site-ancestor), ad eccezione delle navigazioni di primo livello, che rimarranno partizionate solo in base all'origine frame.

Questa modifica può essere temporaneamente annullata impostando il criterio PartitionedBlobURLUsage. Il criterio verrà ritirato quando verranno ritirati gli altri criteri aziendali correlati al partizionamento dello spazio di archiviazione.

Stack di chiamate nei report sugli arresti anomali di pagine web che non rispondono

Questa funzionalità acquisisce lo stack di chiamate JavaScript quando una pagina web non risponde a causa di un codice JavaScript che esegue un ciclo infinito o un altro calcolo molto lungo. In questo modo, gli sviluppatori possono identificare la causa della mancata risposta e risolverla più facilmente. Lo stack di chiamate JavaScript è incluso nell'API di segnalazione degli arresti anomali quando il motivo è mancata risposta.

Tipi di colore in virgola mobile del canvas

Introduce la possibilità di utilizzare formati pixel in virgola mobile (anziché a virgola fissa a 8 bit) con CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D e ImageData. Questo è necessario per applicazioni di alta precisione (ad esempio, visualizzazione medica), contenuti High Dynamic Range e spazi colore di lavoro lineari.

Non consentire il prerendering HTTP in testo non crittografato non attendibile

Al momento il prerendering è consentito su HTTP e HTTPS, mentre il prefetching funziona solo su HTTPS. Limita il prerendering in modo che sia coerente con il precaricamento.

Document-Isolation-Policy

Document-Isolation-Policy consente a un documento di attivare crossOriginIsolation per se stesso, senza dover eseguire il deployment di COOP o COEP e indipendentemente dallo stato crossOriginIsolation della pagina. La policy è supportata dall'isolamento dei processi. Inoltre, le risorse secondarie multiorigine non CORS del documento verranno caricate senza credenziali o dovranno avere un'intestazione CORP.

Scopri di più in Document Isolation Policy: Enable powerful web features with ease.

Ed25519 in Web Cryptography

Questa funzionalità aggiunge il supporto degli algoritmi Curve25519 nell'API Web Cryptography, ovvero l'algoritmo di firma Ed25519

Registrazione e report degli indirizzi IP

Chrome Enterprise sta migliorando le funzionalità di monitoraggio della sicurezza e risposta agli incidenti raccogliendo e segnalando 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 fornitori SIEM di prima e terza parte utilizzando il connettore di reporting di Chrome Enterprise. Questa funzionalità sarà disponibile per i clienti di Chrome Enterprise Core.

Integrazione delle promesse JavaScript

JavaScript Promise Integration (JSPI) è un'API che consente alle applicazioni WebAssembly di integrarsi con le promesse JavaScript. Consente a un programma WebAssembly di fungere da generatore di una promessa e di interagire con le API che supportano le promesse. In particolare, quando un'applicazione utilizza JSPI per chiamare un'API (JavaScript) che contiene una promessa, il codice WebAssembly viene sospeso e al chiamante originale del programma WebAssembly viene fornita una promessa che verrà soddisfatta al termine del programma WebAssembly.

API Language Detector

L'API Language Detector è un'API JavaScript che identifica la lingua di una stringa fornita. Questa API è supportata da un modello sottostante ottimizzato per eseguire attività di rilevamento della lingua.

Data una stringa, l'API Language Detector restituisce un elenco ordinato delle lingue rilevate, insieme a un punteggio di confidenza per ogni risultato.

Facoltativamente, gli sviluppatori possono trasmettere un elenco di lingue di input previste quando creano un'istanza di Language Detector per ottimizzare i casi d'uso in cui il rilevamento deve essere eseguito in determinate lingue.

Limitare gli attributi e gli argomenti float su SVGMatrix, SVGRect e SVGPoint

Quando imposti attributi o argomenti float su SVGMatrix, SVGRect e SVGPoint, ora non puoi impostarli come Infinity o Nan. Se tenti di impostarlo, viene generata un'eccezione JavaScript, come definito nella specifica SVG.

API Selection getComposedRanges e direction

Questa funzionalità include due nuovi metodi API per l'API Selection:

  • Selection.direction che restituisce la direzione della selezione come "none", "forward" o "backward"
  • Selection.getComposedRanges() che restituisce un elenco di "composti" 0 o 1 StaticRange

Un StaticRange "composto" può attraversare i limiti dell'ombra, cosa che gli intervalli normali non possono fare.

Ad esempio:

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

Se la selezione attraversa un limite della radice ombra non fornito nell'elenco shadowRoots, gli endpoint di StaticRange verranno "riassegnati" in modo che si trovino al di fuori di questo albero. In questo modo ci assicuriamo di non esporre alberi ombra sconosciuti.

Estensioni dell'ambito delle app web

Aggiunge un campo del manifest dell'app web scope_extensions che consente alle app web di estendere il proprio ambito ad altre origini.

Esempio:

{
  "name": "Example",
  "display": "standalone",
  "start_url": "/index.html",
  "scope_extensions": [
    {"type" : "type", "origin" : "https://example.com"}
  ]
}

In questo modo, i siti che controllano più sottodomini e domini di primo livello possono essere presentati come una singola app web.

Richiede che le origini elencate confermino l'associazione all'app web utilizzando un file di configurazione .well-known/web-app-origin-association.

{
  "https://sample-app.com/": {
    "scope": "/"
  }
}

Suggerimenti per i rami di WebAssembly

Migliora le prestazioni del codice WebAssembly compilato comunicando al motore che è molto probabile che una particolare istruzione di branching segua un percorso specifico. In questo modo, il motore può prendere decisioni migliori per il layout del codice (migliorando i risultati della cache delle istruzioni) e l'allocazione dei registri.

WebGPU: GPUTextureView per l'associazione externalTexture

Ora è consentito utilizzare un GPUTextureView per un binding externalTexture quando crei un GPUBindGroup.

WebGPU: copyBufferToBuffer overload

Il metodo GPUCommandEncoder copyBufferToBuffer() ora include un modo più semplice per copiare interi buffer utilizzando un nuovo overload con parametri di offset e dimensioni facoltativi.

Nuove prove dell'origine

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

Attributo di blocco del rendering della frequenza fotogrammi completa

Aggiunge un nuovo token di blocco del rendering a frame rate completo agli attributi di blocco. Quando il renderer è bloccato con il token a frequenza fotogrammi completa, funzionerà a una frequenza fotogrammi inferiore in modo da riservare più risorse per il caricamento.

Metti in pausa la riproduzione di contenuti multimediali negli iframe non sottoposti a rendering

Aggiunge un criterio delle autorizzazioni "media-playback-while-not-rendered" per consentire ai siti web incorporati di mettere in pausa la riproduzione dei contenuti multimediali degli iframe incorporati che non vengono visualizzati, ovvero la cui proprietà "display" è impostata su "none". Ciò dovrebbe consentire agli sviluppatori di creare esperienze più intuitive e di migliorare le prestazioni consentendo al browser di gestire la riproduzione dei contenuti non visibili agli utenti.

API Rewriter

L'API Rewriter trasforma e riformula il testo di input nei modi richiesti, supportata da un modello linguistico di AI sul dispositivo. Gli sviluppatori possono utilizzare questa API per rimuovere le ridondanze all'interno di un testo per rispettare un limite di parole, riformulare i messaggi per adattarli al pubblico di destinazione o per renderli più costruttivi se viene rilevato un linguaggio tossico, riformulare un post o un articolo per utilizzare parole e concetti più semplici e altro ancora.

API Writer

L'API Writer può essere utilizzata per scrivere nuovo materiale dato un prompt di attività di scrittura, supportato da un modello linguistico AI sul dispositivo. Gli sviluppatori potranno utilizzare questa API per generare spiegazioni testuali dei dati strutturati, comporre un post su un prodotto in base alle recensioni o alla descrizione del prodotto, espandere gli elenchi di pro e contro in visualizzazioni complete e altro ancora.