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:
normalflex-visualflex-flowgrid-rowsgrid-columnsgrid-ordersource-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.directionche restituisce la direzione della selezione come"none","forward"o"backward"Selection.getComposedRanges()che restituisce un elenco di "composti" 0 o 1StaticRange
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.