Google ha presentato il rilascio del browser web Chrome 106. È disponibile anche una versione stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi di Google, la presenza di un sistema di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamenti automatici, un isolamento Sandbox sempre attivo, fornitura di chiavi per le API di Google e trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per l'aggiornamento, è mantenuto un ramo Extended Stable, che viene supportato per 8 settimane. Il prossimo rilascio di Chrome 107 è previsto per il 25 ottobre.
Principali novità in Chrome 106:
- Per gli utenti delle versioni desktop è attivato di default il meccanismo Prerender2 per il rendering anticipato dei contenuti delle raccomandazioni nella barra indirizzi Omnibox. Il rendering anticipato si aggiunge alla precedente possibilità di caricare le raccomandazioni più probabili da visitare senza attendere il clic dell'utente. Oltre al caricamento, ora il contenuto delle pagine collegate alle raccomandazioni può essere renderizzato in buffer (inclusi l'esecuzione degli script e la creazione dell'albero DOM), consentendo un'immediata visualizzazione delle raccomandazioni dopo il clic.
- È stata fornita la possibilità di cercare nella cronologia, nei segnalibri e nelle schede direttamente dalla barra degli indirizzi Omnibox. Per localizzare la ricerca sono stati proposti i tag di controllo @history, @bookmarks e @tabs. Ad esempio, per cercare nei segnalibri è necessario digitare «@bookmarks frase di ricerca». Per disattivare la ricerca dalla barra degli indirizzi, è prevista un'opzione speciale nelle impostazioni di ricerca.


- Il supporto per la tecnologia Server Push, definita negli standard HTTP/2 e HTTP/3, è disabilitato di default e consente server inviare risorse al cliente senza attendere la loro esplicita richiesta. Come motivo per la cessazione del supporto, viene menzionata la complessità eccessiva nella realizzazione della tecnologia in presenza di alternative più semplici e altrettanto efficaci, come il tag , la risposta HTTP 103 e il protocollo WebTransport. Secondo le statistiche di Google, nel 2021 circa l'1,25% dei siti che utilizzano HTTP/2 ha impiegato Server Push, mentre nel 2022 questa cifra è scesa allo 0,7%. La tecnologia Server Push è presente anche nella specifica HTTP/3, ma nella pratica molti prodotti software server e client, incluso il browser Chrome, inizialmente non l'hanno implementata.
- Disabilitata la possibilità di utilizzare caratteri non ASCII nei domini indicati nell'intestazione Cookie (per i domini IDN è necessario specificare domini nel formato punycode). La modifica allinea il browser con i requisiti dell'RFC 6265bis e il comportamento implementato in Firefox.
- Sono state proposte etichette più chiare per identificare gli schermi nelle configurazioni multi-monitor. Tali etichette possono essere visualizzate nelle finestre di dialogo per l'autorizzazione ad aprire una finestra su uno schermo esterno. Ad esempio, invece del numero dello schermo esterno (‘External Display 1’), ora verrà mostrato il nome del modello del monitor (‘HP Z27n’).
- Miglioramenti nella versione per Android:
- Nella pagina della cronologia delle visite è supportato il meccanismo «Journey», che riassume l'attività passata raggruppando le informazioni sulle ricerche precedentemente effettuate e sulle pagine visitate. Quando si inseriscono parole chiave nella barra degli indirizzi, se erano già state utilizzate in passato, viene proposto di continuare la ricerca dall'ultima posizione.
- Nei dispositivi con piattaforma Android 11 è stata introdotta la possibilità di bloccare la pagina aperta in modalità incognito dopo il passaggio a un'altra applicazione. Per continuare la navigazione dopo il blocco è necessaria l'autenticazione. Di default, il blocco è disabilitato e deve essere attivato nelle impostazioni della privacy.
- Quando si tenta di scaricare file dalla modalità incognito, viene visualizzata una richiesta di conferma aggiuntiva per il salvataggio del file e un avviso che informa che il file scaricato potrà essere visualizzato da altri utenti del dispositivo, poiché sarà salvato nell'area del gestore download.

- È stata interrotta la fornitura dell'API chrome.runtime per tutti i siti. Questa API è ora disponibile solo con l'uso di estensioni del browser ad essa collegate. In precedenza, chrome.runtime era accessibile a tutti i siti in quanto era utilizzata dall'estensione integrata CryptoToken, il cui supporto per l'API U2F è stato interrotto.
- Nella modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata) sono stati aggiunti diversi nuovi API. L'Origin Trial implica la possibilità di utilizzare l'API specificata da applicazioni caricate da localhost o 127.0.0.1, o dopo aver completato la registrazione e ottenuto un token speciale, valido per un tempo limitato per un sito web specifico.
- Il concetto di iframe anonimi, che consentono di caricare un documento in un contesto separato, non collegato ad altri iframe e al documento principale.
- API Pop-Up per organizzare la visualizzazione di elementi dell'interfaccia sopra altri elementi, ad esempio per il funzionamento di menu interattivi, suggerimenti, strumenti di selezione dei contenuti e sistemi di formazione. Per mostrare un elemento sullo strato più alto viene utilizzato un nuovo attributo «popup». A differenza delle finestre di dialogo create tramite l'elemento
- Per le proprietà ‘grid-template-columns’ e ‘grid-template-rows’, utilizzate nel CSS Grid, è stata implementata il supporto per l'interpolazione per consentire una transizione fluida tra i diversi stati della griglia.
- Nella proprietà CSS ‘forced-color-adjust’ è stato aggiunto il supporto per il valore ‘preserve-parent-color’, che consente alla proprietà «color» di acquisire il proprio valore dall'elemento padre.
- La proprietà «-webkit-hyphenate-character» è stata sprovvista del prefisso «-webkit-» ed è ora disponibile con il nome «hyphenate-character». Questa proprietà può essere utilizzata per impostare una stringa da utilizzare al posto del carattere di interruzione di una parola («-«).
- È stata implementata la terza edizione dell'API Intl.NumberFormat, che ha introdotto nuove funzioni formatRange(), formatRangeToParts() e selectRange(), raggruppamento di insiemi, nuove opzioni di arrotondamento e impostazione della precisione, possibilità di interpretare stringhe come numeri decimali.
- Nell'API ReadableStream è stato aggiunto il supporto per la trasmissione diretta efficiente di dati binari da una porta seriale, bypassando le code e i buffer interni. La trasmissione diretta è attivata impostando la modalità BYOB — «port.readable.getReader({ mode: ‘byob’ })».
- Negli API per la gestione di audio e video (AudioDecoder, AudioEncoder, VideoDecoder e VideoEncoder) è stato aggiunto il supporto per l'evento «dequeue» e le relative chiamate di callback attivate quando il codec inizia a eseguire i compiti di codifica o decodifica messi in coda.
- Nell'API WebXR Device è stata implementata la possibilità di accesso raw alle texture delle immagini dalla fotocamera, sincronizzate con la posizione attuale nell'ambiente virtuale.
- Sono stati migliorati gli strumenti per gli sviluppatori web. Nel pannello Sources è ora possibile raggruppare i file per origine. È stata migliorata la tracciatura dello stack per le operazioni asincrone. È stata introdotta la possibilità di ignorare automaticamente gli script di terzi noti durante il debug. È stata aggiunta la possibilità di nascondere i file ignorati nel menu e nei pannelli. È stato migliorato il funzionamento con lo stack delle chiamate nel debugger.

Nel pannello Performance è stato aggiunto un nuovo tracciato Interactions per visualizzare le interazioni con la pagina e identificare potenziali problemi di reattività dell'interfaccia.

Oltre alle novità e alle correzioni, nella nuova versione sono state risolte 20 vulnerabilità. Molte di queste sono state identificate tramite test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state riscontrate problematiche critiche che consentano di eludere tutti i livelli di protezione del browser ed eseguire codice al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompense per la scoperta di vulnerabilità, Google ha erogato 16 premi di un totale di 38.500 dollari per questa versione (con premi da $9000, $7500, $7000, $5000, $4000, $3000, $2000 e $1000). L'importo di otto premi non è ancora stato definito.
Fonte: opennet.ru





