Google ha pubblicato la versione del browser web Chrome 119. È disponibile contemporaneamente anche il rilascio stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, il sistema di invio di notifiche in caso di crash, i moduli per la riproduzione di contenuti video protetti da copyright (DRM), il sistema di aggiornamenti automatici, l'abilitazione permanente dell'isolamento Sandbox, la fornitura delle chiavi per le API Google e la trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per gli aggiornamenti, è supportata separatamente la variante Extended Stable, accompagnata da 8 settimane di supporto. Il prossimo rilascio di Chrome 120 è previsto per il 5 dicembre.
Principali novità in Chrome 119:
- Ridotto il ciclo di rilascio, con una diminuzione del tempo tra la creazione di un nuovo ramo e l'inizio dei test beta: ora la versione beta viene creata due giorni dopo la creazione del ramo, invece di 8 giorni. La stabilizzazione della versione beta continua ad avvenire in 4 settimane. Di conseguenza, il ciclo di preparazione per i nuovi rilasci è ora ridotto di una settimana.
- Introdotta la possibilità di salvare gruppi di schede. L'utente ora può salvare un gruppo e chiudere le schede che ne fanno parte, in modo che non occupino risorse. Successivamente, quando necessario, le schede salvate possono essere ripristinate e aperte su altri dispositivi che partecipano alla sincronizzazione delle schede. Questa funzionalità è attivata per alcuni utenti e per abilitarla forzatamente è disponibile l'opzione «chrome://flags/#tab-groups-save».
- Nell'interfaccia sono state modificate le denominazioni delle operazioni e delle impostazioni riguardanti l'eliminazione e la perdita di dati. Invece del termine «pulizia» (Clear), ora viene utilizzata la parola «eliminazione» (Delete) in queste operazioni, poiché il termine «pulizia» non è stata percepito da alcuni utenti come un segno di perdita irreversibile di dati.
- Durante l'autocompletamento degli URL, ora viene considerata ogni parola chiave precedentemente utilizzata per cercare il sito, e non solo le parole che corrispondono all'inizio dell'indirizzo. Ad esempio, l'autocompletamento dell'indirizzo «https://www.google.com/travel/flights» funzionerà non solo inserendo la parola «google», ma anche digitando «flights».

- Implementata la correzione automatica degli errori di battitura durante l'immissione dell'indirizzo del sito, con suggerimenti pertinenti che considerano i siti precedentemente aperti dall'utente corrente. Ad esempio, digitando «youutube» verrà suggerito di aprire YouTube.com.

- Introdotta la possibilità di cercare nelle sezioni dei segnalibri tramite la barra degli indirizzi. Ad esempio, è possibile digitare il nome di una sezione dei segnalibri e Chrome suggerirà link da quella sezione pertinenti alla parola chiave inserita. Ad esempio, digitando «viaggi 2023 New» verranno suggeriti link dalla sezione segnalibri «viaggi 2023» relativi a New York.

- Implementata la visualizzazione di raccomandazioni di siti popolari, anche se l'utente non li ha visitati in precedenza o ha commesso un errore durante la digitazione dell'URL. Ad esempio, quando, seguendo il suggerimento di qualcuno, l'utente inizia a digitare «googleear» senza conoscere l'indirizzo esatto, il browser suggerirà di passare al sito earth.google.com.

- In Chrome per sistemi desktop è migliorata la leggibilità delle informazioni nella barra degli indirizzi e aumentata la reattività dell'interfaccia: i risultati vengono ora visualizzati immediatamente dopo l'inizio della digitazione nella barra degli indirizzi.
- In conformità con le modifiche alla specifica API Fetch, è stato garantito l'eliminazione dell'intestazione HTTP Authorization durante il reindirizzamento a un altro dominio (cross origin).
- Nelle impostazioni di notifica e geolocalizzazione è stata aggiunta un'opzione per attivare il servizio di autocontrasto delle richieste di conferma delle autorizzazioni (Permission Suggestions Service). Sono disponibili le seguenti modalità:
- mostrare sempre le richieste di autorizzazione per le notifiche e l'accesso alla posizione;
- ignorare automaticamente le richieste di autorizzazione spammose, utilizzando il meccanismo Permission Suggestions Service;
- ignorare sempre tutte le richieste per le notifiche;
- bloccare sempre tutte le richieste di autorizzazione per le notifiche e l'accesso alla posizione.
- Nelle build per la piattaforma Android, abilitando la protezione standard del browser (Safe Browsing > Standard protection), è stata implementata in tempo reale la verifica della sicurezza degli URL aperti, eseguita sulla base della trasmissione a server Google di hash parziali degli URL visitati dall'utente. Per escludere l'associazione Indirizzi IP l'utente e dell'hash, con i dati inviati tramite un proxy intermedio. In passato, il controllo avveniva tramite il caricamento sul sistema dell'utente di una copia locale del elenco di URL pericolosi. Il nuovo schema consente di bloccare più rapidamente gli URL malevoli. Per i sistemi desktop, questa modalità è stata inclusa nell'ultima versione.
- Экранирование небуквенных символов в имени хоста при вызове функции URL приведено к соответствию с обновлённой спецификацией. Например, вызов функции ‘URL(«http://exa(mple.com;»)’ ранее возвращал ‘http://exa%28mple.com/’, а теперь будет приводить к выводу ошибки » Invalid URL».

- A tutti i cookie precedentemente salvati è stata applicata una scadenza simile a quella utilizzata a partire dalla versione 104 di Chrome per i nuovi e aggiornati cookie. Per i cookie esistenti, la durata sarà ridotta a 400 giorni dalla pubblicazione della versione 119 di Chrome.
- In CSS sono stati introdotti nuovi pseudo-classi ‘:user-valid’ e ‘:user-invalid’, che rappresentano gli elementi del modulo i cui valori hanno superato o meno la validazione. A differenza di ‘:valid’ e ‘:invalid’, le nuove pseudo-classi si attivano solo dopo l'interazione dell'utente con l'elemento del modulo.
- Nella definizione dei colori in CSS è consentito specificare valori calcolati in base ad altri parametri di colore. Ad esempio, specificando ‘oklab(from magenta calc(l * 0.8) a b)’ si ottiene un colore più chiaro del 80% rispetto al magenta.
- Nella proprietà CSS clip-path, che consente di limitare la visibilità di un elemento a una certa area, è stata aggiunta la supporto per il valore per definire aree arbitrarie per il ritaglio. È inoltre possibile utilizzare le funzioni xywh() e rect() per semplificare la definizione di aree rettangolari o arrotondate.
- Il supporto per l'API WebSQL è stato disabilitato; si consiglia di utilizzare l'API Web Storage e il Database Indicizzato. L'handler WebSQL era basato sul codice della libreria SQLite. L'API WebSQL non era supportata in altri browser, era legata a un'API di una libreria esterna e aumentava i rischi di sicurezza (WebSQL poteva essere utilizzato da malintenzionati per sfruttare vulnerabilità in SQLite). Per mantenere l'assistenza per WebSQL agli utenti aziendali, è stata lasciata la politica WebSQLAccess, che verrà rimossa in Chrome 123.
- È stato temporaneamente rimosso l'API HTML Sanitizer, che consente di rimuovere dagli contenuti gli elementi che influenzano la visualizzazione e l'esecuzione quando viene utilizzato il metodo setHTML(). L'API era stata sviluppata per rimuovere i tag HTML utilizzabili per attacchi XSS. Il motivo della rimozione è stato dichiarato essere l'incompletezza della specifica, che è cambiata significativamente da quando Sanitizer è stato aggiunto a Chrome. Una volta completata la specifica, l'API verrà ripristinata.
- Rimosso l'attributo non standard shadowRoot, che consentiva ai propri elementi di accedere alla propria root separata nel Shadow DOM, indipendentemente dallo stato. Invece di shadowRoot, in Chrome 111 è stato proposto l'attributo shadowRootMode, che è entrato nello standard web.
- Улучшена реализация HTML-элемента «<fencedframe>», который напоминает «iframe» и также позволяет встраивать стороннее содержимое на страницу. Отличия сводятся к ограничению взаимодействия встроенного содержимого с содержимым страницы на уровне DOM и атрибутов. Например, страница news.example, в которую при помощи fencedframe встроен блок с рекламой, загружаемый с сайта shoes.example, не может получить доступ к данным shoes.example, а в свою очередь код с сайта shoes.example не может получить данные, связанные с news.example. В новой версии добавлена поддержка появившихся в API Protected Audience макроподстановок размера рекламного блока, например, «https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}».
- Nel metodo getDisplayMedia() è stato aggiunto il parametro monitorTypeSurfaces, che può essere utilizzato per vietare la condivisione dell'intero schermo.
- Nel metodo window.open() è stato aggiunto un parametro sperimentale (origin trial) fullscreen, che consente di aprire una finestra direttamente in modalità a schermo intero.
- Nell'API AudioEncoderConfig è stato aggiunto il flag 'bitrateMode' per scegliere tra bitrate costante (constant) e variabile (variable).
- In TLS è stata implementata una meccanismo di incapsulamento delle chiavi (KEM, Key Encapsulation Mechanism), utilizzando l'algoritmo ibrido X25519Kyber768, resistente agli attacchi quantistici. Per generare le chiavi di sessione utilizzate per la crittografia dei dati all'interno delle connessioni TLS, ora può essere utilizzata una combinazione dell'algoritmo di scambio chiavi X25519, basato sulle curve ellittiche e attualmente utilizzato in TLS, con l'algoritmo Kyber-768, che utilizza metodi di crittografia basati sulla soluzione di problemi di teoria dei reticoli, il cui tempo di risoluzione non differisce tra computer normali e quantistici.
- È stato abilitato di default il supporto per l'estensione WasmGC, che semplifica il porting in WebAssembly di programmi scritti in linguaggi di programmazione che utilizzano il garbage collector (Kotlin, PHP, Java, ecc.). WasmGC aggiunge nuovi tipi di strutture e array per i quali può essere applicata l'allocazione di memoria non lineare.
- Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. È stata aggiunta la possibilità di modificare le regole CSS «@property» e di generare avvisi in caso di definizioni errate. Aggiornato l'elenco dei dispositivi emulati (ad esempio, aggiunti iPhone 14 e Pixel 7). Nella console web è stata implementata la completamento automatico per i campi privati. Assicurato il corretto formato dei dati JSON all'interno dei blocchi

Oltre alle novità e alla correzione di errori, nella nuova versione sono state risolte 15 vulnerabilità. Molte di queste vulnerabilità sono state identificate grazie ai test automatizzati condotti con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state trovate problematiche critiche in grado di aggirare tutti i livelli di sicurezza del browser e di eseguire codice al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità, Google ha erogato 13 premi per l'attuale rilascio, per un totale di 40.500 dollari (un premio di 16.000 dollari, uno di 11.000, uno di 2.000 e uno di 500, tre premi da 3.000 e due premi da 1.000). L'importo di 4 premi non è ancora stato stabilito.
Fonte: opennet.ru






