Chrome 132 beta

Data di pubblicazione: 13 novembre 2024

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 132 è in versione beta dal 13 novembre 2024. Puoi scaricare l'ultima versione su Google.com per computer o sul Google Play Store su Android.

CSS

Questa release aggiunge due nuove funzionalità CSS.

Posizionamento dell'anchor CSS: consenti anchor-size() nelle proprietà inset e margin

Inizialmente, anchor-size() era consentito solo nelle proprietà di dimensionamento. La specifica è stata modificata per consentire anche anchor-size() in rientri e margini.

Modalità di scrittura laterale CSS

Supporto delle parole chiave sideways-rl e sideways-lr per la proprietà CSS writing-mode. sideways-rl e sideways-lr sono utili per scrivere testo non CJK in verticale. Non hanno comportamenti favorevoli per le lingue CJK a differenza di vertical-rl e vertical-lr.

API web

Acquisire tutte le schermate

Acquisire tutti gli schermi attualmente collegati al dispositivo utilizzando getAllScreensMedia().

Chiamare getDisplayMedia() più volte richiede più gesti dell'utente, obbliga l'utente a scegliere la schermata successiva ogni volta e non garantisce all'app che tutte le schermate siano state selezionate. Il metodo getAllScreensMedia() migliora tutti questi aspetti.

Questa funzionalità verrà implementata solo su computer.

Eventi di attivazione/disattivazione della finestra di dialogo

È utile sapere quando gli elementi <dialog> si aprono e si chiudono e popover ha già ToggleEvent che viene inviato quando un popover si apre o si chiude. In precedenza, per rilevare l'apertura di un <dialog> era necessario registrare un observer di mutazione per verificare l'apertura, ma questo richiede molto lavoro, mentre un evento sarebbe più semplice.

Questa modifica incorpora lo stesso ToggleEvent inviato dai popup, ma per gli elementi <dialog>: quando viene chiamato showModal o show, <dialog> invia un ToggleEvent con newState=open. Quando un <dialog> viene chiuso (utilizzando il modulo, il pulsante o closewatcher), deve inviare un ToggleEvent con newState=closed.

Element Capture

Dato un video MediaStreamTrack ottenuto tramite mezzi preesistenti per avviare l'acquisizione della scheda, l'acquisizione dell'elemento consente di modificare la traccia per acquisire solo un sottoalbero del DOM a partire da un determinato elemento.

L'API presenta alcune somiglianze con l'API Region Capture, ma offre una maggiore flessibilità per le applicazioni, perché i contenuti occlusivi e occlusi sono entrambi esclusi dall'acquisizione.

Funzionalità di autorizzazione FedCM

Questo pacchetto include alcune funzionalità che possono essere utilizzate dai provider di identità (IdP) per implementare flussi di autorizzazione, ad esempio consentire a un utente di concedere l'accesso al proprio calendario a una relying party (RP). In particolare:

  • Il provider di identità deve essere in grado di mostrare una richiesta personalizzata per l'autorizzazione (API Continuation).
  • Il RP ha bisogno di un modo estensibile per comunicare all'IdP a cosa vuole accedere (API dei parametri).
  • Il RP deve essere in grado di personalizzare o eliminare il testo che fa riferimento alla condivisione di "nome, indirizzo email e immagine del profilo" da parte del fornitore di identità perché in questa situazione vengono richieste informazioni diverse (API Fields).
  • L'IdP potrebbe voler utilizzare un endpoint diverso per implementare il flusso di autorizzazione (più configURL).
  • Alcuni account potrebbero essere idonei solo per uno dei flussi di autenticazione e autorizzazione, pertanto è necessario un modo per mostrare account diversi nei due flussi (API per le etichette dell'account).

API FedCM Mode e API Use Other Account

Due nuove estensioni per FedCM:

  • Modalità: la modalità active consente ai siti web di chiamare FedCM all'interno di un clic su un pulsante (ad esempio, facendo clic su un pulsante Accedi all'IdP), il che richiede a FedCM di garantire che risponderà sempre con un'interfaccia utente visibile. La chiamata all'API FedCM in modalità attiva indirizza gli utenti all'accesso al fornitore di identità (IdP) quando gli utenti hanno eseguito la disconnessione. Inoltre, poiché la modalità attiva viene chiamata all'interno di un gesto esplicito dell'utente, l'interfaccia utente è anche più visibile (ad esempio, centrata e modale) rispetto all'interfaccia utente della modalità passiva (che non richiede un gesto dell'utente e può essere chiamata al caricamento della pagina).
  • Utilizza un altro account: con questa estensione, un IdP può consentire agli utenti di accedere ad altri account.

Recupero: Request.bytes() e Response.bytes()

Aggiungi un metodo bytes() alle interfacce Request e Response, che restituisce una promessa che si risolve con un Uint8Array. Anche se Request e Response hanno un metodo arrayBuffer(), non puoi leggere direttamente da un buffer. Per leggerlo, devi creare una visualizzazione, ad esempio un Uint8Array. Il metodo bytes() migliora l'ergonomia per ottenere il corpo di Request e Response.

API File System Access per Android e WebView

Questa API consente agli sviluppatori di creare app potenti che interagiscono con altre app (non web) sul dispositivo dell'utente utilizzando il file system del dispositivo. Dopo che un utente concede l'accesso a un'app web, questa API consente all'app di leggere o salvare le modifiche direttamente nei file e nelle cartelle selezionati dall'utente. Oltre a leggere e scrivere file, questa API offre la possibilità di aprire una directory ed elencarne i contenuti, nonché di archiviare gli handle di file e directory in IndexedDB per riaccedere in un secondo momento agli stessi contenuti.

L'accesso al file system è stato implementato su Chrome 86 per computer, mentre su Chrome 132 è disponibile su Android e WebView.

Ignora Strict-Transport-Security per localhost

Strict-Transport-Security (STS) possono causare problemi ai server web localhost perché STS viene applicato a livello di host, su tutte le porte. Ciò causa problemi di compatibilità per gli sviluppatori web che eseguono test in locale. Inoltre, influisce sugli utenti finali che utilizzano pacchetti software che avviano comunemente server web localhost per motivi temporanei. Ad esempio, la comunicazione di un token di autenticazione da un accesso web a un pacchetto software locale. Se un listener locale imposta Strict-Transport-Security su una risposta localhost, viene applicato a tutte le richieste localhost successive, indipendentemente dalla porta.

Chrome 132 risolve questo problema ignorando le intestazioni Strict-Transport-Security nelle risposte degli URL localhost.

Contenitori di scorrimento attivabili da tastiera

L'implementazione di questa funzionalità (a partire da Chrome 130) è stata interrotta a causa di una regressione dell'accessibilità. Il problema è stato risolto e l'implementazione della funzionalità continua con Chrome 132.

Carattere jolly della lista consentita predefinita dei criteri delle autorizzazioni dell'API Private State Token

L'accesso all'API Private State Token è controllato dalle funzionalità della policy delle autorizzazioni. Chrome 132 aggiorna la lista consentita predefinita per le funzionalità private-state-token-issuance e private-state-token-redemption da self a * (carattere jolly).

PushMessageData::bytes()

L'interfaccia PushMessageData imita l'interfaccia Body, che è stata modificata all'inizio di quest'anno con un nuovo metodo bytes(), seguendo il principio che le API devono generalmente vendere buffer di byte come Uint8Arrays. Chrome 132 si allinea all'interfaccia Body fornendo l'accessor bytes() anche sull'interfaccia PushMessageData.

Query salvate in sharedStorage.selectURL

sharedStorage.selectURL() ora consente di salvare e riutilizzare le query in base alla pagina. I due budget per caricamento pagina vengono addebitati la prima volta che viene eseguita una query salvata, ma non per le esecuzioni successive della query salvata durante lo stesso caricamento pagina. Ciò si ottiene con un parametro savedQuery nelle opzioni per selectURL() che assegna un nome alla query.

Lancio di un'eccezione per i popover e le finestre di dialogo nei documenti non attivi

In precedenza, la chiamata di showPopover() o showModal() su un popover o una finestra di dialogo che si trova all'interno di un documento inattivo non riusciva. Non verrà generata alcuna eccezione, ma poiché il documento è inattivo, non verrà visualizzato alcun popover o finestra di dialogo. A partire da Chrome 132, queste situazioni ora generano InvalidStateError.

API WebAuthn Signal

Consente alle relying party WebAuthn di segnalare informazioni sulle credenziali esistenti ai fornitori di archiviazione delle credenziali, in modo che le credenziali errate o revocate possano essere aggiornate o rimosse dall'interfaccia utente del fornitore e del sistema.

Scopri di più sull'API Signal per le passkey su Chrome per computer.

WebGPU: fusione di texture a virgola mobile a 32 bit

La funzionalità GPU float32-blendable rende le texture della GPU con i formati r32float, rg32float e rgba32float miscelabili.

WebGPU: espone GPUAdapterInfo da GPUDevice

L'attributo GPUDevice adapterInfo espone lo stesso GPUAdapterInfo dell'oggetto GPUAdapter.

WebGPU: utilizzo della visualizzazione delle texture

Aggiunge un campo facoltativo alla creazione della visualizzazione della texture WebGPU per richiedere un sottoinsieme dei flag di utilizzo dalla texture di origine.

Per impostazione predefinita, l'utilizzo della visualizzazione della texture viene ereditato dalla texture di origine, ma esistono formati di visualizzazione che possono essere incompatibili con l'insieme completo degli utilizzi ereditati. L'aggiunta di un campo di utilizzo alla creazione della visualizzazione della texture consente all'utente di richiedere un sottoinsieme degli utilizzi della texture di origine validi con il formato della visualizzazione e specifici per l'utilizzo previsto della visualizzazione della texture.

Le implementazioni di WebGPU possono anche ottimizzare la creazione di risorse di basso livello e migliorare le prestazioni quando si utilizzano viste con flag di utilizzo più specializzati.

Nuove prove dell'origine

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

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

Suggerimenti di compilazione espliciti con i commenti magici

Questa funzionalità consente di allegare informazioni sulle funzioni che devono essere analizzate e compilate in modo eager nei file JavaScript. Le informazioni verranno codificate come commenti magici.

Ritiri e rimozioni

Questa versione di Chrome introduce le seguenti deprecazioni e rimozioni. Visita ChromeStatus.com per elenchi di deprecazioni pianificate, deprecazioni attuali e rimozioni precedenti.

Questa release di Chrome rimuove due funzionalità.

navigator.storage è stato creato un EventTarget per l'evento di pressione dello spazio di archiviazione, che non ha mai superato la fase di prototipo. Questo codice inutilizzato viene rimosso e di conseguenza navigator.storage non estenderà più EventTarget.

Rimozione delle API a schermo intero HTMLVideoElement con prefisso

Le API a schermo intero HTMLVideoElement con prefisso sono state ritirate da Chrome

Sono state sostituite dall'API Element.requestFullscreen(), che è stata spedita per la prima volta senza prefisso in Chrome 71 nel 2018. A partire dal 2024, la maggior parte dei browser supporta le API senza prefisso da alcuni anni.

Chrome 132 rimuove i seguenti elementi da HTMLVideoElement:

  • L'attributo webkitSupportsFullscreen.
  • L'attributo webkitDisplayingFullscreen.
  • Il metodo webkitEnterFullscreen().
  • Il metodo webkitExitFullscreen(). Tieni presente l'uso delle maiuscole e minuscole della "S" in FullScreen.
  • Il metodo webkitEnterFullScreen().
  • Il metodo webkitExitFullScreen().

Questi metodi ora sono solo alias per l'API moderna. Il loro utilizzo è diminuito costantemente nel corso degli anni.