Chrome 110 beta

Lettere iniziali CSS, gestore di avvio dell'app web, supporto di iframe cross-origin per l'API FedCM e altro ancora.

Salvo diversa indicazione, le modifiche descritte di seguito 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 110 è in versione beta dal 12 gennaio 2023. Puoi scaricare la versione più recente su Google.com per computer o sul Google Play Store su Android.

CSS

Questa release aggiunge due nuove funzionalità CSS.

Lettere iniziali CSS

Le lettere iniziali sono lettere grandi e decorative che vengono utilizzate per iniziare nuove sezioni di testo fin da prima dell'invenzione della stampa. La proprietà CSS initial-letter consente di impostare il numero di righe in cui una lettera iniziale deve essere inserita nelle righe di testo successive. Nell'esempio seguente, la lettera iniziale verrà visualizzata su tre righe di testo.

.content::first-letter {
  initial-letter: 3;
}

Un paragrafo di testo con una lettera iniziale incassata in tre righe del paragrafo.

Pseudo-classe CSS :picture-in-picture

La pseudo-classe :picture-in-picture aiuta gli sviluppatori web a personalizzare il media player quando i video entrano ed escono dalla modalità Picture in picture.

Prova una demo della pseudo-classe :picture-in-picture.

API web

AudioContext.setSinkId()

AudioContext.setSinkId imposta l'ID del dispositivo audio da utilizzare per l'uscita. In questo modo, AudioContext può instradare l'audio a un dispositivo di output collegato scelto dall'utente.

Scopri di più su questa funzionalità nel post Cambiare il dispositivo di output di destinazione in Web Audio.

FedCM all'interno di un iframe cross-origin

Aggiunge il supporto degli iframe cross-origin per l'API FedCM tramite un criterio di autorizzazione. Consente ai siti web di eseguire la sandbox degli script dei provider di identità che attivano l'API FedCM in un iframe cross-origin, in modo che non abbiano il controllo completo sull'intera pagina. Ciò consente anche casi d'uso in cui è l'iframe stesso a richiedere l'accesso da parte dell'utente. In entrambi i casi, il frame principale deve fornire all'iframe cross-origin il criterio di autorizzazione identity-credentials-get.

IFrame senza credenziali

IFrame senza credenziali offre agli sviluppatori un modo per caricare documenti in iframe di terze parti utilizzando contesti nuovi ed effimeri. Gli iframe senza credenziali sono una generalizzazione delle credenziali senza credenziali COEP per supportare gli iframe di terze parti che potrebbero non implementare COEP. In questo modo, non sarà più necessario che gli iframe di terze parti supportino il protocollo COEP per essere incorporati in una pagina COEP e gli sviluppatori che vogliono adottare l'isolamento cross-origin potranno farlo.

Scopri di più sugli iframe senza credenziali.

Metodo FileSystemHandle::remove()

Il metodo remove() di FileSystemHandle consente il caso d'uso comune in cui ottieni un handle file da showSaveFilePicker(), ma poi decidi di non salvare e di eliminare il file. Prima dell'aggiunta di questo metodo, era impossibile rimuovere un file o una directory dal relativo handle. Dovevi ottenere l'handle della directory principale e chiamare FileSystemDirectoryHandle::removeEntry().

Precaricamento attivato dall'API Regole di speculazione

Il pre-caricamento recupera la risorsa principale per una navigazione futura, mantenendola in memoria in modo che possa essere utilizzata per velocizzare la navigazione successiva. Questo lancio include sia il pre-caricamento nello stesso sito sia il pre-caricamento tra siti nel caso in cui non siano presenti credenziali per il sito di destinazione.

Utilizzare l'elaborazione IDNA non di transizione negli URL

Attivare IDNA 2008 in modalità non di transizione per l'elaborazione degli URL, allineando il comportamento di Chrome a quello di Firefox e Safari. Al momento, Chrome utilizza IDNA 2008 in modalità transitoria per l'elaborazione degli URL. La differenza principale tra la modalità transitoria e quella non transitoria è la gestione di quattro caratteri noti come caratteri di deviazione: ß (LATIN SMALL LETTER SHARP S), ς (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) e ZWNJ (Zero width non-joiner). In modalità transitoria, i caratteri di deviazione vengono gestiti come in IDNA2003: ß viene mappato a ss, ς viene mappato a σ e ZWJ e ZWNJ vengono eliminati. In modalità Non di transizione, i domini contenenti questi caratteri sono consentiti nei nomi di dominio senza mappatura e possono quindi risolvere in indirizzi IP diversi. Ad esempio, oggi digitare faß.de in Chrome e Firefox apre siti diversi. L'attivazione di IDNA non transitorio in Chrome consentirà i caratteri di deviazione nei nomi di dominio. Firefox e Safari hanno già apportato questa modifica nel 2016 e continuano a utilizzare l'elaborazione degli URL non di transizione.

Gestore dell'avvio dell'app web

Aggiungi un membro del manifest dell'app web launch_handler che consenta alle app web di personalizzare il comportamento di lancio in tutti i tipi di attivatori di lancio dell'app. Ad esempio, il codice seguente farà in modo che tutti i lanci dell'app Esempio mettano a fuoco una finestra dell'app esistente e la spostino (se esistente) anziché avviare sempre una nuova finestra dell'app.

{
    "name": "Example app",
    "start_url": "/index.html",
    "launch_handler": {
        "client_mode": "navigate-existing"
    }
}

Norme relative all'autorizzazione di condivisione web

Controlla l'accesso a navigator.share(). Per impostazione predefinita, gli iframe di terze parti non hanno l'autorizzazione per utilizzare l'API Web Share.

Prove dell'origine in corso

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

Supporto di No-Vary-Search nella cache di precaricamento della navigazione

Consente la corrispondenza del pre-caricamento anche se i parametri di query dell'URL cambiano. L'intestazione di risposta HTTP No-Vary-Search dichiara che alcune o tutte le parti di una query sull'URL possono essere ignorate ai fini della corrispondenza della cache. Può dichiarare che l'ordine delle chiavi dei parametri di query non deve causare mancate corrispondenze nella cache, che parametri di query specifici non devono causare mancate corrispondenze nella cache o che solo determinati parametri di query noti devono causare mancate corrispondenze nella cache. Potrebbe essere applicato a più cache, ma questa voce si riferisce al supporto della cache di prefetch.

Registrati per l'assistenza per la ricerca senza parametri nella prova della cache di prelettura della navigazione.

PerformanceResourceTiming.deliveryType

Mostra informazioni su come è stata pubblicata una risorsa. Ad esempio, è utile identificare le risorse che sono state caricate dalla cache (attualmente esposte tramite transferSize) e le navigazioni precaricate dalla pagina precedente.

Voce sul rendimento di SoftNavigation

Espone le euristiche di navigazione soft (sperimentali) agli sviluppatori web, utilizzando sia PerformanceObserver sia la sequenza temporale delle prestazioni.

Registrati per la prova delle strategie di navigazione soft.

Regole di speculazione: invio tramite l'intestazione Speculation-Rules

Al momento, gli sviluppatori possono specificare le regole di speculazione solo utilizzando i tag script in linea. La funzionalità proposta offre un'alternativa tramite l'intestazione "Regole-speculazioni". Il valore deve essere un URL a una risorsa di testo con tipo MIME application/speculationrules+json. Le regole della risorsa verranno aggiunte all'insieme di regole del documento.

Regole di speculazione: regole basate su documenti

Un'estensione della sintassi delle regole di speculazione che consente al browser di ottenere gli URL per la speculazione dagli elementi link di una pagina. Potrebbero includere criteri che limitano la scelta di questi link.

X-Requested-With in WebView

Prova di ritiro per mantenere il comportamento precedente del X-Requested-Header su Android WebView. Al momento, questo valore è impostato sul nome del pacchetto dell'app di incorporamento, ma questo comportamento verrà rimosso in un graduale implementazione. Durante il ritiro, questa prova consentirà ai proprietari di siti di continuare a ricevere l'intestazione durante la migrazione per non utilizzarla più.

Ulteriori informazioni su questo ritiro verranno fornite in un post del blog dedicato. Registrati per la prova del ritiro di X-Requested-With qui.

Ritiro e rimozione

Questa versione di Chrome introduce i ritiri e le rimozioni elencati di seguito. Visita ChromeStatus.com per gli elenchi delle ritirate pianificate, delle ritirate in corso e delle rimozioni precedenti.

Questa release di Chrome rimuove due funzionalità.

Rimuovere Web SQL in contesti non sicuri

Web SQL è ora rimosso in contesti non sicuri. Ti consigliamo di passare a SQLite Wasm nel browser supportato dal file system privato dell'origine.

Rimuovere window.webkitStorageInfo

Viene rimosso il supporto per l'API di quota di archiviazione precedente, window.webkitStorageInfo. Originariamente introdotta nel 2011, Chrome ha implementato l'API quota con prefisso, che è stata immediatamente sostituita dall'API Quota, anch'essa ritirata. L'API quota di archiviazione precedente non è mai stata implementata da nessun altro browser ed è stata contrassegnata come deprecata dal 2013.