Google ha presentato il rilascio del browser web Chrome 113. È disponibile contemporaneamente il rilascio stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi Google, la presenza di un sistema di invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di installazione automatica degli aggiornamenti, la protezione Sandbox sempre attiva, la fornitura di chiavi per le API Google e il passaggio dei parametri RLZ durante le ricerche. Per coloro che necessitano di più tempo per l'aggiornamento, è disponibile una branch Extended Stable, accompagnata da un supporto di 8 settimane. Il prossimo rilascio di Chrome 114 è previsto per il 30 maggio.
Principali novità in Chrome 113:
- È stata inclusa per impostazione predefinita la supporto per l'API grafica WebGPU e per il linguaggio di shader WGSL (WebGPU Shading Language). WebGPU offre un'interfaccia di programmazione simile a Vulkan, Metal e Direct3D 12 per eseguire operazioni sul lato GPU, come il rendering e i calcoli, e consente anche di utilizzare il linguaggio degli shader per scrivere programmi che funzionano sul lato GPU. La supporto per WebGPU è attualmente attiva solo nelle build per ChromeOS, macOS e Windows, mentre per Linux e Android sarà attivata in seguito.
- Continua il lavoro di ottimizzazione delle prestazioni. Rispetto alla versione 112, la velocità del test Speedometer 2.1 è aumentata del 5%.
- Per gli utenti è iniziata l'attivazione graduale della modalità di segmentazione dello storage, dei Service Worker e delle API di comunicazione, che durante l'elaborazione della pagina vengono separate in relazione ai domini, isolando così i gestori di terze parti. Questa modalità consente di bloccare i metodi di tracciamento del movimento degli utenti tra i siti, basati sullo storage di identificatori in archivi e aree comuni, non destinate a conservare permanentemente le informazioni (le "Supercookies"), come nel caso di sistemi che valutano la presenza di determinati dati nei cache del browser. Inizialmente, durante l'elaborazione della pagina, tutte le risorse venivano memorizzate in uno spazio dei nomi condiviso (same-origin), indipendentemente dal dominio di origine, consentendo così a un sito di determinare il caricamento delle risorse da un altro sito attraverso manipolazioni dello storage locale, API IndexedDB o verifiche della presenza di dati nella cache.
Nel segmentare la chiave utilizzata per estrarre oggetti dalla cache e dalle memorie del browser, viene allegata una caratteristica specifica che definisce il legame con il primo dominio, da cui è stata aperta la pagina principale, limitando così l'ambito di applicazione per gli script di monitoraggio delle movimentazioni, ad esempio quelli caricati tramite iframe da un altro sito. Per forzare l'attivazione del segmento senza attendere che venga attivato, è possibile utilizzare l'impostazione «chrome://flags/#third-party-storage-partitioning».

- È stato proposto un meccanismo di First-Party Sets (FPS), che consente di definire la relazione tra diversi siti di una stessa organizzazione o progetto per la gestione condivisa dei cookie. Questa funzionalità è utile quando un sito è accessibile tramite domini diversi (ad esempio, opennet.ru e opennet.me). I cookie per tali domini sono completamente separati, ma grazie a FPS ora possono essere collegati in un'archiviazione comune. Per attivare FPS, è possibile utilizzare il flag «chrome://flags/enable-first-party-sets».
- È stata effettuata una significativa ottimizzazione della realizzazione software del codec video in formato AV1 (libaom), che ha consentito di migliorare le prestazioni delle applicazioni web che utilizzano WebRTC, come i sistemi per videoconferenze. È stato aggiunto un nuovo profilo di velocità 10, adatto a dispositivi con risorse CPU limitate. Durante i test dell'applicazione Google Meet su un canale con larghezza di banda di 40 kbps, la modalità AV1 Speed 10 rispetto alla modalità VP9 speed 7 ha permesso di ottenere un aumento della qualità del 12% e un incremento delle prestazioni del 25%.
- Attivando la protezione avanzata del browser (Navigazione sicura > Protezione avanzata) al fine di identificare attività dannose nei componenti aggiuntivi da parte di Google, è stata implementata la raccolta di telemetria sul funzionamento dei componenti aggiuntivi del browser installati da fonti diverse dal Chrome Store. Vengono inviati dati come hash dei file del componente e contenuto manifest.json.
- Un gruppo di utenti ha accesso a funzionalità aggiuntive per la compilazione automatica dei moduli, mirate a riempire rapidamente l'indirizzo di consegna e le informazioni di pagamento durante gli acquisti in alcuni negozi online.

- È stata effettuata una ristrutturazione del menu visualizzato al clic sull'icona dei «tre puntini». Sono stati trasferiti al primo livello di menu gli elementi «Estensioni» e «Chrome Web Store».
- È stata aggiunta la possibilità di tradurre solo il frammento selezionato di una pagina, invece di tradurre l'intera pagina (la traduzione viene avviata dal menu contestuale). Per gestire l'attivazione della traduzione parziale, è stata proposta un'impostazione "chrome://flags/#desktop-partial-translate".
- Nella pagina visualizzata all'apertura di una nuova scheda è stata aggiunta la possibilità di riprendere lavori interrotti («Journey»), ad esempio, si può continuare la ricerca dalla posizione in cui è stata interrotta.

- Nella versione per Android è stata implementata una nuova pagina di servizio "chrome://policy/logs" per il debug delle politiche impostate dagli amministratori per gli utenti del centro di gestione centralizzato.
- Nella build per la piattaforma Android è stata implementata la funzione di mostrare contenuti più personalizzati nella sezione dei contenuti consigliati (Discover). Inoltre, è stata aggiunta la possibilità di configurare i tipi preferiti di raccomandazioni visualizzate (ad esempio, si possono nascondere contenuti provenienti da alcune fonti) per gli utenti non connessi a un account Google.

- Nella versione per la piattaforma Android è stata proposta una nuova interfaccia per la selezione di file multimediali per il caricamento di foto e video (invece della propria implementazione è stato utilizzato l'interfaccia standard Android Media Picker).

- Nel CSS è stata implementata la sintassi standard della funzione image-set(), che consente di scegliere un'immagine da un insieme di opzioni con diverse risoluzioni, più adatta per le attuali impostazioni dello schermo e la larghezza di banda della connessione di rete. La precedente chiamata con prefisso -webkit-image-set(), che offriva una sintassi specifica per Chrome, è stata sostituita dalla standard image-set.
- Nel CSS è stata aggiunta la supporto per nuove media query (@media) overflow-inline e overflow-block, che consentono di definire come verrà gestito il contenuto che esce dai confini originali del blocco.
- Nel CSS è stata aggiunta la media query update, che consente di definire stili durante la stampa o quando viene visualizzato su schermi lenti (ad esempio, schermi di eBook) e veloci (monitor standard).
- Nel CSS è stata aggiunta la funzione linear() per applicare l'interpolazione lineare tra un numero specificato di punti, che può essere utilizzata per creare animazioni complesse, come effetti di rimbalzo e allungamento.
- Nel metodo Headers.getSetCookie() è stata implementata la possibilità di estrarre valori da più intestazioni Set-Cookie forniti in una singola richiesta senza unirli.
- Nell'API WebAuthn è stata aggiunta l'estensione largeBlob per memorizzare grandi dati binari associati alle credenziali.
- L'API Private State Token è stata attivata per distinguere gli utenti senza utilizzare identificatori tra siti.
- È vietato per i siti impostare la proprietà document.domain per applicare le condizioni di same-origin alle risorse caricate da diversi sottodomini. Se è necessario stabilire un canale di comunicazione tra i sottodomini, si dovrebbe utilizzare la funzione postMessage() o l'API Channel Messaging.
- Miglioramenti agli strumenti per sviluppatori web. Nella console di ispezione delle attività di rete è stata aggiunta la possibilità di sovrascrivere o creare nuovi header HTTP di risposta restituiti dal server web (Network > Headers > Response Headers). Inoltre, è stata fornita la possibilità di modificare tutte le sovrascritture in un unico luogo tramite la modifica del file .headers nella sezione Sources > Overrides e di creare sostituzioni tramite maschera. È stata migliorata la fase di debug delle applicazioni che utilizzano i framework web Nuxt, Vite e Rollup. È stata migliorata la diagnosi dei problemi CSS nella pannello Styles (gli errori nei nomi delle proprietà e nei valori assegnati sono contrassegnati separatamente). Nella console web è stata aggiunta la possibilità di visualizzare suggerimenti per l'autocompletamento quando si preme Invio (e non solo alla pressione del tasto Tab o della freccia a destra).

Oltre alle novità e alla correzione di bug, nella nuova versione sono state eliminate 15 vulnerabilità. Molte di queste vulnerabilità sono state scoperte tramite test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state rilevate problematiche critiche che permettano di bypassare tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la segnalazione di vulnerabilità, per l'attuale rilascio la società Google ha erogato 10 premi per un totale di 30.500 dollari USA (uno da $7500, uno da $5000, uno da $4000, due da $3000, tre da $2000 e due da $1000).
Fonte: opennet.ru






