Chrome 138 beta

Data di pubblicazione: 28 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 138 è in versione beta dal 28 maggio 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.

Parola chiave di dimensionamento CSS stretch

Una parola chiave per le proprietà di dimensionamento CSS (ad esempio width e height) che consente agli elementi di espandersi per riempire esattamente lo spazio disponibile del blocco contenitore. È simile a 100%, tranne per il fatto che la dimensione risultante viene applicata alla casella del margine dell'elemento anziché alla casella indicata da box-sizing. L'utilizzo di questa parola chiave consente all'elemento di mantenere i margini pur essendo il più grande possibile.

Le funzioni relative al segno abs() e sign() calcolano varie funzioni relative al segno del loro argomento.

Variabile CSS env per la scala dei caratteri a livello di sistema operativo

Espone la scala dei caratteri preferita di un utente al CSS. Al momento, non è pratico per una pagina rilevare se l'utente ha modificato le dimensioni del carattere preferite con le preferenze del sistema operativo. Questa variabile di ambiente CSS rifletterà la scala scelta dall'utente.

CSS sibling-index() e sibling-count()

Le funzioni sibling-index() e sibling-count() possono essere utilizzate come numeri interi nei valori delle proprietà CSS per applicare uno stile a un elemento in base alla sua posizione tra i relativi elementi di pari livello o al numero totale di elementi di pari livello, rispettivamente. Queste funzioni possono essere utilizzate direttamente come valori interi, ma in modo più interessante all'interno delle espressioni calc().

li {
  animation-delay: calc(0.1s * sibling-index());
}

Notazione funzionale di avanzamento dell'interpolazione: funzione CSS progress()

La notazione funzionale progress() è una funzione matematica che restituisce un valore <number> che rappresenta la posizione di un calcolo (il valore di avanzamento) tra altri due calcoli (il valore iniziale e finale dell'avanzamento).

API di enumerazione dei segmenti del viewport

L'API Viewport Segments consente agli sviluppatori di adattare il layout web per il targeting di dispositivi pieghevoli. I segmenti dell'area visibile definiscono la posizione e le dimensioni di una regione dell'area visibile separata logicamente. I segmenti del viewport vengono creati quando il viewport viene suddiviso da una o più funzionalità hardware (ad esempio una piega o una cerniera tra display separati) che fungono da divisore; i segmenti sono le regioni del viewport che possono essere trattate come logicamente distinte dallo sviluppatore.

API web

Aggiungere il supporto dei metadati di orientamento dei frame video a WebCodecs

Introduce i valori rotation: int e flip: bool a varie interfacce correlate ai video in WebCodecs in modo che gli sviluppatori possano lavorare con origini dei frame con orientamento (ad esempio, fotocamere Android e determinati contenuti multimediali). L'interfaccia VideoFrame aumenta la possibilità di creare VideoFrames con rotazione e inversione arbitrarie, nonché le funzioni di accesso per queste informazioni sull'oggetto VideoFrame. L'oggetto VideoDecoderConfig acquisisce i campi rotation e flip che vengono emessi automaticamente sugli oggetti VideoFrame decodificati. La classe VideoEncoder acquisisce meccanismi per il trasferimento delle informazioni di rotazione e inversione da encode() a VideoDecoderConfig emesso nell'ambito di EncodedVideoChunkMetadata. Se encode() viene chiamato con frame con orientamento diverso, verrà generata un'eccezione non fatale. Il metodo configure() può essere utilizzato per reimpostare l'orientamento consentito.

API di reporting degli arresti anomali: is_top_level e visibility_state

Questa funzionalità aggiunge i campi stringa is_top_level e visibility_state al corpo dell'API di segnalazione degli arresti anomali che viene inviato all'endpoint di reporting predefinito per i report sugli arresti anomali.

Escape < e > negli attributi durante la serializzazione

Esegui l'escape di < e > nei valori degli attributi durante la serializzazione. In questo modo si riduce il rischio di attacchi XSS di mutazione, che si verificano quando il valore di un attributo viene interpretato come un token di tag di inizio dopo essere stato serializzato e analizzato nuovamente.

Norme sull'integrità per gli script

L'integrità delle risorse secondarie (SRI) consente agli sviluppatori di assicurarsi che gli asset che intendono caricare siano effettivamente quelli che caricano. Tuttavia, al momento non esiste un modo per gli sviluppatori di assicurarsi che tutti i loro script vengano convalidati utilizzando l'integrità delle risorse secondarie. L'intestazione Integrity-Policy consente agli sviluppatori di dichiarare che ogni risorsa di un determinato tipo deve essere sottoposta a controllo dell'integrità. Se si tenta di caricare una risorsa di questo tipo senza metadati di integrità, il tentativo non andrà a buon fine e verrà generato un report sulle violazioni.

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 illimitata. È 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.

Si tratta di una mitigazione che impedisce il rilevamento della modalità di navigazione di un utente utilizzando l'API Storage, segnalando una quota artificiale, pari a utilizzo + min(10 GiB, disco arrotondato per eccesso al GiB più vicino), in tutte le modalità di navigazione per i siti con autorizzazioni di archiviazione limitate. I siti con autorizzazioni di spazio di archiviazione illimitato non saranno interessati. Anche la quota applicata non sarà interessata.

pushsubscriptionchange evento al momento del riabbonamento

Attiva l'evento pushsubscriptionchange nei service worker quando viene riassegnata l'autorizzazione alle notifiche a un'origine per la quale esisteva una sottoscrizione push in passato, ma che è stata revocata a causa di una modifica dell'autorizzazione (da concessa a negata/predefinita). L'evento verrà attivato con oldSubscription e newSubscription vuoti.

Regole di speculazione: aggiungi prefetchCache e prerenderCache all'intestazione Clear-Site-Data

Due nuovi valori per l'intestazione Clear-Site-Data per aiutare gli sviluppatori a scegliere come target la cancellazione della cache di prerendering e prefetch: prefetchCache e prerenderCache. Questi possono essere inviati in qualsiasi richiesta e non devono essere effettuati nella richiesta di documenti (ad esempio, possono essere restituiti nelle risposte alle chiamate API di aggiunta al carrello o di accesso e disconnessione per eliminare le speculazioni sul cambio di stato).

Regole di speculazione: campo target_hint

Estende la sintassi delle regole di speculazione per consentire agli sviluppatori di specificare il campo target_hint. Questo campo fornisce un suggerimento per indicare una destinazione navigabile in cui verrà attivata una pagina sottoposta a prerendering. Quando _blank viene specificato come suggerimento, è possibile attivare una pagina sottoposta a prerendering per una pagina navigabile aperta da window.open(). Il campo non è supportato per il recupero anticipato.

Policy Strict Same Origin per l'API Storage Access

Modifica la semantica dell'API Storage Access in modo che segua rigorosamente la Same Origin Policy, per quanto riguarda la sicurezza. ovvero l'utilizzo di document.requestStorageAccess() in un frame associa i cookie alle richieste all'origine (non al sito) dell'iframe per impostazione predefinita.

API Summarizer

Un'API JavaScript per produrre riepiloghi del testo di input, supportata da un modello di linguaggio AI. I browser e i sistemi operativi dovrebbero accedere sempre più spesso a un modello linguistico. Se esponiamo questo modello integrato, evitiamo che ogni sito web debba scaricare il proprio modello linguistico di più gigabyte o inviare il testo di input ad API di terze parti. L'API Summarizer in particolare espone un'API di alto livello per l'interfacciamento con un modello linguistico al fine di riassumere gli input per una serie di casi d'uso in modo indipendente dal modello linguistico specifico in questione. È disponibile una policy aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante, il che renderebbe questa API non disponibile.

Scopri di più in Generare riepiloghi concisi con l'AI integrata.

API Language Detector

Un'API JavaScript per rilevare la lingua utilizzata in un determinato testo, con livelli di confidenza. Un importante complemento della traduzione è il rilevamento della lingua, che può essere utilizzato in combinazione con l'API Translator. Ad esempio, prendi l'input dell'utente in una lingua sconosciuta, determina la lingua e poi traducila in una lingua di destinazione specifica. Sebbene i browser spesso dispongano già di funzionalità di rilevamento della lingua, questa API JavaScript offre agli sviluppatori web la stessa potenza, integrando l'API Translation.

È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante, il che renderebbe questa API non disponibile.

Scopri di più in Rilevare la lingua utilizzata con l'AI integrata.

API Translator

Un'API JavaScript per fornire funzionalità di traduzione linguistica alle pagine web. Sebbene i browser offrano sempre più spesso la traduzione automatica ai propri utenti, queste funzionalità di traduzione possono essere utili anche agli sviluppatori web. Ciò è particolarmente vero quando le funzionalità di traduzione integrate del browser non possono essere d'aiuto, come nel caso di servizi live e interattivi. È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante, il che renderebbe questa API non disponibile.

Scopri di più in Traduzione con l'AI integrata.

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

Web Serial tramite Bluetooth su Android

Questa funzionalità consente alle pagine web e alle app web di connettersi alle porte seriali tramite Bluetooth sui dispositivi Android. Chrome su Android ora supporta l'API Web Serial tramite Bluetooth RFCOMM. Le policy aziendali esistenti (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls e SerialBlockedForUrls) su altre piattaforme sono attivate negli stati future_on per Android. Tutti i criteri tranne SerialAllowUsbDevicesForUrls verranno attivati dopo l'attivazione della funzionalità. SerialAllowUsbDevicesForUrls verrà abilitato in un lancio futuro dopo che Android fornirà il supporto a livello di sistema delle porte seriali cablate.

Ritiri e rimozioni

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

Questa release di Chrome ritira due funzionalità.

Ritiro della rimozione asincrona dell'intervallo per le estensioni Media Source

Lo standard Media Source è stato modificato molto tempo fa per non consentire un comportamento definito in modo ambiguo che comporti rimozioni di intervalli asincroni:

  • SourceBuffer.abort() non interrompe più le operazioni SourceBuffer.remove().
  • L'impostazione MediaSource.duration non può più troncare i contenuti multimediali attualmente memorizzati nel buffer.

Ora verranno generate eccezioni in entrambi i casi.

Rimuovi il fallback di SwiftShader

Il fallback automatico a WebGL supportato dal renderer software SwiftShader è deprecato e la creazione del contesto WebGL non andrà a buon fine anziché eseguire il fallback a SwiftShader. Questo è stato fatto per due motivi principali:

  1. SwiftShader rappresenta un rischio elevato per la sicurezza a causa del codice JIT in esecuzione nel processo GPU di Chromium.
  2. Gli utenti hanno un'esperienza negativa quando passano da WebGL con supporto GPU ad alte prestazioni a un'implementazione con supporto CPU. Gli utenti non hanno alcun controllo su questo comportamento ed è difficile descriverlo nelle segnalazioni di bug.

Durante il periodo di ritiro, nella console di Chrome DevTools viene visualizzato un avviso quando viene creato un contesto WebGL supportato da SwiftShader. Se superi --enable-unsafe-swiftshader, questo messaggio di avviso verrà rimosso.