Chrome 119 beta

Chrome 119 beta offre la sintassi dei colori relativa di CSS, nuove pseudo-classi e molto altro ancora.

Se non diversamente indicato, le modifiche descritte si applicano alla release del canale beta di Chrome più recente per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o nell'elenco su ChromeStatus.com. Chrome 119 è in versione beta a partire dal 4 ottobre 2023. Puoi scaricare la versione più recente su Google.com per computer o dal Google Play Store su Android.

CSS

In questa release sono state aggiunte quattro nuove funzionalità CSS.

Pseudoclassi CSS :user-valide e :user-non valide

Le pseudoclassi :user-invalid e :user-valid rappresentano un elemento con input errato o corretto, ma solo dopo che l'utente ha interagito in modo significativo con questo elemento. Simile a :valid e :invalid, ma con il vincolo aggiuntivo che queste pseudo-classi corrispondono solo dopo che l'utente ha interagito con l'elemento.

Sintassi del colore relativo del CSS (RCS)

La sintassi dei colori relativi consente agli sviluppatori di definire i colori modificando i parametri degli altri colori.

Ad esempio, oklab(from magenta calc(l * 0.8) a b); restituisce un colore magenta oklab che è più leggero dell'80%.

Valori della geometria-box di clip-path CSS

La proprietà CSS clip-path ora supporta i valori <geometry-box> per controllare la casella di riferimento del clip, semplificando l'utilizzo di clip-path. I valori di questi riquadri possono essere utilizzati insieme alle forme di base (ad esempio, clip-path: circle(50%) margin-box) oppure possono essere utilizzati da soli per essere agganciati al riquadro specificato (ad esempio, clip-path: content-box).

Valori CSS clip-path xywh() e rect()

Chrome ora supporta i valori xywh() e rect() della proprietà clip-path, che semplificano l'impostazione di clip rettangolari o arrotondati-rettangolari.

API web

Dal momento che per i cookie appena creati in Chrome 104 o per quelli aggiornati con una data di scadenza, questa data non può essere superiore a 400 giorni nel futuro. Questo stesso limite verrà applicato in modo retroattivo ai cookie già presenti nello spazio di archiviazione. Le date di scadenza di questi cookie saranno limitate a non più di 400 giorni dopo il primo avvio di Chrome 119 e versioni successive ed esegue una migrazione del database una tantum. L'impatto di questa modifica non sarà percepito dagli utenti almeno 400 giorni dopo il rilascio di Chrome 119, quindi solo per i cookie esistenti che non sono stati aggiornati in quel periodo.

MonitorTypeSurfaces di DisplayMediaStreamOptions

Quando viene chiamato getDisplayMedia(), il browser offre all'utente una scelta di piattaforme di visualizzazione: schede, finestre o monitor. Grazie all'opzione monitorTypeSurfaces, l'applicazione web ora può suggerire al browser se preferisce includere piattaforme di visualizzazione il cui tipo è monitorato tra le scelte offerte all'utente.

Aggiornamenti delle funzionalità dei frame recintati

Chrome 119 include i seguenti miglioramenti ai frame recintati.

Esiste un'opzione di formato aggiuntiva per le macro delle dimensioni degli annunci Protected Audience nell'API Protected Audience all'interno di Privacy Sandbox. Una funzionalità di attivazione ti consente di includere la dimensione dell'annuncio che vince l'asta nell'URL dell'annuncio, ad esempio:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Per una maggiore coerenza con altri tipi di macro in Protected Audience, come quelli utilizzati da deprecatedReplaceInURN e registerAdMacro, in Chrome 119 stiamo aggiungendo la possibilità di utilizzare ${AD_WIDTH} e ${AD_HEIGHT} come formato per le macro, oltre al formato attuale.

I beacon automatici verranno ora inviati a tutti gli URL registrati. In precedenza, solo le destinazioni specificate durante la chiamata al numero setReportEventDataForAutomaticBeacons() ricevono beacon automatici, anche se quella destinazione chiamata registerAdBeacon() per "reserved.top_navigation" nel suo worklet. Ora, qualsiasi destinazione chiamata registerAdBeacon() per "reserved.top_navigation" riceverà un beacon automatico, ma solo le destinazioni specificate in setReportEventDataForAutomaticBeacons() riceveranno dati da beacon automatico insieme al beacon. Il parametro "once" in setReportEventDataForAutomaticBeacons() determinerà se i dati vengono inviati una volta sola, anziché determinare se l'intero beacon viene inviato una sola volta.

Margine di scorrimento dell'osservatore di intersezione

La proprietà Osservatore intersezione scrollMargin consente agli sviluppatori di osservare i target all'interno di contenitori di scorrimento nidificati, che al momento sono ritagliati dai contenitori di scorrimento. A questo scopo, si espande il rettangolo di ritaglio del container di scrollMargin durante il calcolo dell'intersezione.

Contenitori di scorrimento attivati da tastiera

Questa funzionalità migliora l'accessibilità rendendo attivabili i contenitori di scorrimento utilizzando la navigazione con focus sequenziale. In precedenza, il tasto Tab non attivava lo scorrimento, a meno che tabIndex non era impostato esplicitamente su 0 o più. Se rendi attivi gli strumenti di scorrimento per impostazione predefinita, gli utenti che non possono (o non vogliono) utilizzare il mouse potranno impostare lo stato attivo sui contenuti troncati utilizzando il tasto Tab e i tasti freccia di una tastiera. Questo comportamento viene attivato solo se lo scorrimento non contiene elementi secondari attivabili dalla tastiera.

Limitazioni dell'accesso alla rete privata per il settore auto e motori

Applica limitazioni di accesso alla rete privata su Chrome per Android Automotive (se BuildInfo::is_automotive), anziché limitarsi a un avviso. Sono incluse le richieste preflight di accesso privato alla rete per le risorse secondarie e l'accesso alla rete privata per i worker.

Lettura degli attributi dei dispositivi Chrome

L'API Web attributi dispositivo è un sottoinsieme dell'API Managed Device Web, che offre alle applicazioni web la possibilità di eseguire query sulle informazioni del dispositivo. Ad esempio, ID dispositivo, numero di serie e posizione.

Sostituisci il markup pendente nel nome della destinazione con _blank

Questa modifica sostituisce il nome navigabile della destinazione (che di solito viene impostato dall'attributo target) in _blank, se contiene un markup pendente (ad esempio, \n e <). Il che corregge un'esclusione nella mitigazione del markup in sospeso.

Intestazione client hint per le funzionalità multimediali preferenze utente Sec-CH-Prefers-Reduced-Transparency

L'intestazione Client Hints per le funzionalità multimediali preferenze utente definisce un insieme di intestazioni HTTP Client Hints relative alle funzionalità multimediali preferenze utente, come definito dal Livello 5 delle query supporti. Se utilizzate come Critical Client Hints, queste intestazioni consentono ai server di fare scelte intelligenti riguardo, ad esempio, all'incorporamento CSS. Sec-CH-Prefers-Reduced-Transparency riflette la preferenza dell'utente per prefers-reduced-transparency ed è disponibile da Chrome 119.

Caratteri di punteggiatura dell'host di URL conformi agli standard

Rendi la gestione in Chrome dei caratteri di punteggiatura dell'host degli URL conforme allo standard degli URL. Ad esempio:

Prima:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( è un carattere vietato, ma Chrome lo consente erroneamente.

Dopo:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Velocità in bit del codificatore audio WebCodecs

Alcuni codec audio supportano la specifica delle modalità di velocità in bit del codificatore audio. Questa funzionalità aggiunge un flag "bitrateMode" con valore predefinito "variable" a AudioEncoderConfig di WebCodec, che rispecchia l'opzione di configurazione e il valore predefinito già presenti per VideoEncoderConfig.

Questo flag consente agli sviluppatori di scegliere se codificare l'audio con una velocità in bit variabile o una velocità in bit costante. Le implementazioni specifiche di codificatori di codec potrebbero avere una terminologia leggermente diversa (ad esempio, CBR rispetto a VBR per Opus), ma tutte dovrebbero corrispondere al concetto generale di "costante" rispetto a "variabile" per la velocità in bit.

Le due opzioni hanno i seguenti effetti:

  • variable: consente a un codificatore audio di aumentare o diminuire la velocità in bit in base ai contenuti dell'audio che sta codificando, al fine di preservare la larghezza di banda/le dimensioni binarie, mantenendo al contempo una qualità target. Ad esempio, un codificatore potrebbe ridurre la velocità in bit durante la codifica del silenzio e tornare a una velocità in bit massima durante la codifica della voce.
  • costante : forza un codificatore audio a mantenere la stessa velocità in bit, indipendentemente dai contenuti audio. Questo può essere utile quando è preferibile un consumo prevedibile di larghezza di banda.

A partire da Chrome 119, questo flag interessa due codec su Chromium: Opus e AAC.

Incapsulamento della chiave X25519Kyber768 per TLS

Proteggi il traffico TLS di Chrome attuale dalla crittoanalisi quantistica futura eseguendo il deployment dell'algoritmo di accordo chiave resistente quantico Kyber768. Questo è un contratto chiave ibrido X25519 + Kyber768 basato su uno standard IETF. Questa specifica e questo lancio non rientrano nell'ambito di W3C. Questo accordo chiave verrà lanciato come crittografia TLS e deve essere trasparente per gli utenti.

Prove dell'origine in corso

In Chrome 119 puoi attivare la seguente nuova prova dell'origine.

Apri popup come finestre a schermo intero

Questa nuova prova dell'origine aggiunge un parametro fullscreenwindowFeatures all'API window.open() JavaScript. Consente al chiamante di aprire direttamente sul display un popup a schermo intero che lo conterrà (in base a screenX e screenY). In questo modo non è necessario che lo sviluppatore esegua manualmente la transizione di un popup alla modalità a schermo intero, il che potrebbe richiedere un nuovo segnale di attivazione utente.

Rimozioni e rimozioni

Questa versione di Chrome introduce i ritiri e le rimozioni elencati di seguito. Visita il sito ChromeStatus.com per consultare gli elenchi di ritiri pianificati, ritiri attuali e rimozioni precedenti.

In questa versione di Chrome sono state rimosse quattro funzionalità.

Rimuovi SQL web

In precedenza abbiamo annunciato il ritiro e la rimozione di SQL web. La funzionalità è stata rimossa completamente a partire da Chrome 119. Una prova dell'origine inversa consente agli sviluppatori di continuare a utilizzare WebSQL fino a Chrome 123.

Rimuovi API Sanitizer

L'API Sanitizer mira a creare nella piattaforma un sanitizer HTML di facile utilizzo, sempre sicuro e gestito dal browser. Chrome ha fornito una versione iniziale in Chrome 105, basata sulla bozza delle specifiche al momento in vigore. Tuttavia, nel frattempo la discussione è passata e la forma dell'API proposta è cambiata notevolmente.

Per evitare che l'API corrente si affinisca, rimuoveremo l'implementazione attuale. Prevediamo di implementare nuovamente l'API Sanitizer quando la specifica proposta si stabilizza di nuovo.

Rimuovi i dati: URL in SVGUseElement

L'assegnazione di un data: URL in SVGUseElement può causare XSS (cross-site scripting). Questo ha portato anche a un'esclusione dei tipi di fiducia. Pertanto, prevediamo di ritirare e rimuovere il relativo supporto.

Rimuovi l'attributo shadowroot non standard per il DOM shadow dichiarativo

L'attributo standard-track shadowrootmode, che consente il DOM dichiarativo, è stato fornito in Chrome 111. L'attributo precedente shadowroot non standard verrà rimosso in Chrome 119. Il percorso di migrazione è semplice: sostituisci shadowroot con shadowrootmode.