Data di pubblicazione: 1° maggio 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 130 è in versione beta dal 30 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 sette nuove funzionalità CSS e UI.
La funzione if()
La funzione CSS if()
fornisce un modo conciso per esprimere valori condizionali. Accetta una serie di coppie condizione-valore delimitate da punto e virgola. La funzione
valuta ogni condizione in sequenza e restituisce il valore associato alla
prima condizione vera. Se nessuna delle condizioni restituisce true, la funzione restituisce uno stream 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 flex, grid o a blocchi vengono esposti agli strumenti di accessibilità e attivati utilizzando la navigazione con il tasto Tab. Deve essere uno dei seguenti valori di parole chiave:
normal
flex-visual
flex-flow
grid-rows
grid-columns
grid-order
source-order
La proprietà CSS reading-order
ti consente di sostituire manualmente l'ordine all'interno di un contenitore del flusso di lettura. È un numero intero con valore predefinito 0.
Per saperne di più, leggi l'articolo Utilizzare il flusso di lettura CSS per la navigazione con l'attenzione sequenziale logica e prova alcuni esempi di flusso di lettura.
offset-path: shape()
La funzione shape()
è già supportata in clip-path
e consente il clipping adattabile. Se la attivi anche per offset-path
, viene chiuso un piccolo gap in cui
si può utilizzare lo stesso tipo di forma per quella proprietà.
Supporto dell'attributo di trasformazione su SVGSVGElement
Questa funzionalità consente di applicare le proprietà di trasformazione, come ridimensionamento, rotazione, traslazione e inclinazione, direttamente all'elemento principale <svg>
utilizzando il relativo attributo transform. Questo miglioramento ti consente di manipolare l'intero sistema di coordinate SVG o i suoi contenuti nel loro insieme, offrendo una maggiore flessibilità nella creazione di grafica vettoriale dinamica, adattabile e interattiva. Grazie al supporto di questo attributo, l'elemento SVG può essere trasformato senza richiedere elementi wrapper aggiuntivi o soluzioni alternative CSS complesse, semplificando il processo di creazione di grafica web scalabile e animata.
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 specificato alcun ID frammento, <use>
non potrà risolvere il target e non verrà visualizzato o visualizzato alcun riferimento.
Con questa funzionalità, l'omissione di frammenti o il semplice inserimento del nome del file SVG esterno farà riferimento automaticamente all'elemento principale, eliminando la necessità di modificare il documento a cui si fa riferimento solo per assegnare un ID all'elemento principale. Questo miglioramento simplifica la procedura di modifica manuale e migliora l'efficienza.
Il colore di accento del sistema per la proprietà accent-color
è stato esteso a Windows e ChromeOS
In questo modo puoi utilizzare il colore di accento del sistema operativo per gli elementi del modulo. Con
l'utilizzo della proprietà CSS accent-color
, puoi assicurarti che elementi di un modulo come
caselle di controllo, pulsanti di opzione e barre di avanzamento adottino automaticamente il colore di risalto
definito dal sistema operativo dell'utente. Questa funzionalità è supportata su macOS
dall'inizio del 2021 e ora è supportata anche su Windows e ChromeOS.
view-transition-name: match-element
Il valore match-element
per la proprietà view-transition
genera un ID univoco basato sull'identità dell'elemento e rimane invariato per questo elemento. Questo viene utilizzato nei casi di app a pagina singola in cui l'elemento viene spostato e vuoi animarlo con una transizione di visualizzazione.
API web
Allinea il tipo di errore generato per la creazione della credenziale 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 cross-origin senza attivazione utente genera un messaggio SecurityError
anziché NotAllowedError
, che è il messaggio generato per le credenziali 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
)
verrebbe interessato. Il codice che gestisce in generale gli errori durante la creazione delle credenziali (ad es. catch (e)
) continuerà a funzionare correttamente.
Partizionamento degli URL dei blob: recupero/navigazione
Come continuazione del 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 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 annullata temporaneamente impostando il criterio PartitionedBlobURLUsage
. Il criterio verrà ritirato quando verranno ritirati gli altri criteri aziendali relativi al partitioning dello spazio di archiviazione.
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 rispondente 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 e correggerla più facilmente. Lo stack di chiamate JavaScript è incluso nell'API di generazione di report sugli arresti anomali quando il motivo è "Non risponde".
Tipi di colori a virgola mobile della tela
Consente di utilizzare formati di pixel a virgola mobile (anziché a virgola fissa di 8 bit) con CanvasRenderingContext2D
,
OffscreenCanvasRenderingContext2D
e ImageData
. Questo è necessario per le applicazioni ad alta precisione (ad esempio la visualizzazione medica), i contenuti HDR e gli spazi di colore di lavoro lineari.
Non consentire il prerendering HTTP di testo non attendibile
Al momento il prerendering è consentito su HTTP e HTTPS, mentre il prefetch funziona solo su HTTPS. Limita il prerendering in modo che sia coerente con il prefetch.
Document-Isolation-Policy
Document-Isolation-Policy
consente a un documento di attivare crossOriginIsolation
per se stesso, senza dover implementare COOP o COEP e indipendentemente dallo stato crossOriginIsolation
della pagina. Il criterio è supportato dall'isolamento dei processi. Inoltre, le risorse secondarie cross-origin non CORS del documento verranno caricate senza credenziali o dovranno avere un'intestazione CORP.
Scopri di più nella sezione Criteri di isolamento dei documenti: attivare facilmente funzionalità web efficaci.
Ed25519 in Web Cryptography
Questa funzionalità aggiunge il supporto per gli algoritmi Curve25519 nell'API Web Cryptography, ovvero l'algoritmo di firma Ed25519
Report e registrazione degli indirizzi IP
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 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.
Integrazione di promesse JavaScript
L'integrazione delle promesse JavaScript (JSPI) è un'API che consente alle applicazioni WebAssembly di integrarsi con le promesse JavaScript. Consente a un programma WebAssembly di agire come generatore di una promessa e di interagire con API che supportano le promesse. In particolare, quando un'applicazione utilizza JSPI per chiamare un'API (JavaScript) con Promise, il codice WebAssembly viene sospeso e all'autore della chiamata originale del programma WebAssembly viene assegnata una Promise 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 si basa su 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 passare un elenco di lingue di input previste quando creano un'istanza di Rilevamento lingua per contribuire a ottimizzare per i casi d'uso in cui si prevede di eseguire il rilevamento in determinate lingue.
Limitare gli attributi e gli argomenti con numeri in virgola mobile su SVGMatrix
, SVGRect
e SVGPoint
Quando imposti attributi o argomenti con valori in virgola mobile su SVGMatrix
, SVGRect
e
SVGPoint
, ora non puoi impostarli come Infinity
o Nan
. Viene generata un'eccezione JavaScript se provi a impostarlo, come definito nella specifica SVG.
API di selezione getComposedRanges
e direction
Questa funzionalità fornisce 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 0 o 1 "composti"StaticRange
Un StaticRange
"composto" può attraversare i confini delle ombre, cosa che non è consentita per gli intervalli normali.
Ad esempio:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Se la selezione attraversa un confine della radice ombra non fornito nell'elenco shadowRoots
, gli endpoint di StaticRange
verranno "riassegnati" in modo da essere al di fuori dell'albero. In questo modo evitiamo di esporre alberi shadow sconosciuti.
Estensioni dell'ambito delle app web
Aggiunge un campo manifest dell'app web scope_extensions
che consente alle app web di estendere il loro 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 un'unica app web.
Richiede l'associazione delle origini elencate all'app web utilizzando un
.well-known/web-app-origin-association
file di configurazione.
{
"https://sample-app.com/": {
"scope": "/"
}
}
Suggerimenti per i branch WebAssembly
Migliora le prestazioni del codice WebAssembly compilato informando il motore che è molto probabile che una determinata istruzione di ramo segua un percorso specifico. In questo modo, il motore può prendere decisioni migliori per il layout del codice (migliorando gli hit della cache delle istruzioni) e l'allocazione dei registri.
WebGPU: GPUTextureView
per l'associazione externalTexture
Ora è consentito l'utilizzo di un GPUTextureView
per un'associazione externalTexture
durante la creazione di un GPUBindGroup
.
WebGPU: copyBufferToBuffer
overload
Il metodo GPUCommandEncoder
copyBufferToBuffer()
ora include un modo più semplice per copiare interi buffer utilizzando un nuovo sovraccarico con parametri di offset e dimensioni facoltativi.
Nuove prove dell'origine
In Chrome 137 puoi attivare i seguenti nuovi sperimentali per le origini.
Attributo di blocco del rendering con frequenza frame completa
Aggiunge un nuovo token di blocco del rendering frequenza-fotogrammi-completa agli attributi di blocco. Quando il visualizzatore è bloccato con il token frequenza fotogrammi massima, funzionerà a una frequenza fotogrammi inferiore per riservare più risorse per il caricamento.
Mettere in pausa la riproduzione di contenuti multimediali negli iframe non visualizzati
Aggiunge un criterio di autorizzazione "media-playback-while-not-rendered"
per consentire ai siti web degli inserzionisti di mettere in pausa la riproduzione multimediale degli iframe incorporati che non vengono visualizzati, ovvero la cui proprietà "display" è impostata su "none". In questo modo, gli sviluppatori potranno creare esperienze più user-friendly e migliorare le prestazioni lasciando che sia il browser a gestire la riproduzione dei contenuti non visibili agli utenti.
API Rewriter
L'API Rewriter trasforma e riformula il testo inserito nei modi richiesti, supportata da un modello linguistico AI on-device. Gli sviluppatori possono utilizzare questa API per rimuovere le ridondanze all'interno di un testo in modo da rispettare un limite di parole, riformulare i messaggi in base al pubblico di destinazione o per essere più costruttivi se viene rilevato un messaggio che utilizza 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 in base a un prompt di scrittura, supportato da un modello linguistico di IA on-device. Gli sviluppatori potranno utilizzare questa API per generare spiegazioni testuali dei dati strutturati, comporre un post su un prodotto in base a recensioni o descrizioni, espandere elenchi di pro e contro in visualizzazioni complete e altro ancora.