Google ha pubblicato la versione del browser web Chrome 124. Allo stesso tempo è disponibile una versione stabile del progetto gratuito Chromium, che funge da base per Chrome. Il browser Chrome si differenzia da Chromium per l'utilizzo dei loghi di Google, per la presenza di un sistema per l'invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copia (DRM), un sistema per l'installazione automatica degli aggiornamenti, abilitazione permanente dell'isolamento Sandbox , fornendo chiavi all'API di Google e trasmettendo RLZ- durante la ricerca. Per coloro che necessitano di più tempo per l'aggiornamento, il ramo Extended Stable è supportato separatamente, seguito da 8 settimane. Il prossimo rilascio di Chrome 125 è previsto per il 14 maggio.
Modifiche principali in Chrome 124:
- Nella versione della piattaforma Android в менеджере закладок появилась поддержка сохранения закладок и списков отложенного чтения на server Google ha collegato l'account utente.
- In Chrome per Android задействован новый метод хранения локальных паролей, которые не синхронизируются с другими устройствами. Ранее локальные пароли хранились в профиле Chrome, а теперь будут размещены в хранилище паролей, предоставляемом сервисами Google Play, которое уже используется для хранения пароля к учётной записи в Google.
- Nelle assemblee per Windows, macOS и Linux в TLS включена по умолчанию поддержка механизма инкапсуляции ключей (KEM, Key Encapsulation Mechanism), использующего гибридный алгоритм X25519Kyber768, устойчивый к подбору на квантовых компьютерах. X25519Kyber768 представляет собой комбинацию из механизма обмена ключами X25519, основанного на эллиптических кривых и ныне применяемого в TLS, c алгоритмом Kyber-768, использующим методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
- При отрисовке текста библиотекой Skia учтены заданные в Windows настройки контраста и цвета для технологии сглаживания текста ClearType, позволяющей заметно повысить качество отображения шрифтов на жидкокристаллических мониторах. В сборках для Linux заметно изменились шрифты, используемые в интерфейсе.

- È possibile installare qualsiasi pagina web come applicazione PWA (Progressive Web Apps) autonoma, anche se questa pagina non soddisfa i criteri PWA.
- In conformità con i requisiti del DMA europeo (Digital Markets Act), viene fornita una finestra di dialogo per selezionare il motore di ricerca che verrà utilizzato per impostazione predefinita. Ci sono motori di ricerca tra cui scegliere, disponibili nella sezione delle impostazioni “chrome://settings/search”. I motori di ricerca nell'elenco vengono visualizzati in ordine casuale. In Chrome 120, questa finestra di dialogo è stata testata per l'1% degli utenti e ora è abilitata per tutti.

- Implementata una richiesta utente per concedere autorizzazioni quando un'applicazione web accede all'API Web MIDI, che consente di interagire con dispositivi musicali con un'interfaccia MIDI collegata al computer. In precedenza, le richieste di autorizzazione venivano visualizzate solo durante l'invio o la ricezione di messaggi SysEx, ma ora verranno visualizzate ogni volta che si accede all'API Web MIDI. Il motivo del cambiamento viene citato in situazioni in cui pagine web casuali prendono il controllo esclusivo del controller MIDI, bloccando la capacità di altre applicazioni di lavorare con esso. Vengono notati anche problemi di sicurezza, poiché l'API Web MIDI consente di controllare completamente un dispositivo MIDI, inclusa l'installazione del proprio firmware.
- L'API Web SQL, che non è standardizzata, viene utilizzata raramente e richiede rielaborazioni per soddisfare i moderni requisiti di sicurezza, è stata completamente interrotta. Web SQL è stato disabilitato per impostazione predefinita da Chrome 119, ma esiste un'impostazione per ripristinarlo. Questa impostazione è stata ora rimossa. Per gli sviluppatori che richiedono questa funzionalità, si consiglia di utilizzare una variante della libreria SQLite compilata in una vista WebAssembly.
- Aggiunta la possibilità di controllare la direzione di scrittura del testo visualizzato verticalmente negli elementi del modulo Web (selezione, indicatore, avanzamento, pulsante, area di testo e input) quando si sceglie l'orientamento verticale tramite la proprietà CSS della modalità di scrittura. Per visualizzare il testo dall'alto verso il basso, ora puoi utilizzare la proprietà dell'elemento del modulo “ltr” e dal basso verso l'alto – “rtl”.
- L'API User-Agent Client Hints, sviluppata in sostituzione dell'intestazione User-Agent, ha aggiunto il supporto per il parametro Sec-CH-UA-Form-Factors, che consente al client di informare il server sul fattore di forma del dispositivo dell'utente (Desktop, Automotive, Mobile, XR, EInk e Watch). User-Agent Client Hints permette la trasmissione selettiva di dati relativi a specifici parametri del browser e del sistema (versione, piattaforma, ecc.) solo su richiesta. serverL'utente, a sua volta, può determinare quali informazioni possono essere fornite ai proprietari del sito web. Quando si utilizzano i suggerimenti client User-Agent, l'identificativo del browser non viene trasmesso senza una richiesta esplicita e vengono forniti solo i parametri di base per impostazione predefinita, rendendo difficile l'identificazione passiva.
- Aggiunta la possibilità di controllare la clonazione delle singole radici nello Shadow DOM, eseguita da comandi come cloneNode(). La possibilità di clonare i rami radice del DOM è abilitata utilizzando il parametro clonabile (“attachShadow({clonable:true})”) o l'attributo “shadowrootclonable” ( ).

- Aggiunti nuovi metodi setHTMLUnsafe() e parseHTMLUnsafe() per utilizzare la sintassi Shadow DOM da JavaScript. I metodi setHTMLUnsafe() e parseHTMLUnsafe(), simili a innerHTML e DOMParser.parseFromString(), consentono di inserire o analizzare contenuto in formato HTML in un elemento, ma differiscono nel supporto per l'elaborazione di elementi del modello con l'attributo shadowrootmode.
- Aggiunto il supporto per l'API WebSocket Stream, che consente di trasferire dati tra il browser e il server in modalità streaming senza utilizzare il polling, ottimale per organizzare la trasmissione e la ricezione di dati in costante arrivo, ad esempio nell'implementazione della chat. const wss = nuovo WebSocketStream(WSS_URL); const {leggibile, scrivibile} = attendono wss.opened; const lettore = readable.getReader(); const scrittore = scrivibile.getWriter(); while (true) { const {valore, fatto} = attendono lettore.read(); if (fatto) { pausa; } const risultato = attende processo(valore); attendi writer.write(risultato); }
- Le funzionalità dell'API View Transitions sono state ampliate, semplificando la creazione di effetti di animazione di transizione tra diversi stati DOM (ad esempio, una transizione graduale da un'immagine a un'altra). La nuova versione aggiunge il supporto per l'evento “pageswap”, che viene generato per l'oggetto “finestra” quando l'oggetto “documento” associato viene sostituito con uno nuovo durante la navigazione. Inoltre è stata aggiunta la proprietà "render-blocking", che consente di bloccare il rendering del documento fino al completamento dell'analisi dei contenuti importanti.
- Aggiunto il parametro disallowReturnToOpener, passato in fase di chiamata del metodo requestWindow, che permette di rimuovere il pulsante Indietro in una finestra aperta in modalità Picture-in-Picture per evitare di tornare alla scheda da cui era stata aperta la finestra.
- Aggiunta la possibilità di impostare l'attributo CSSImportRule.styleSheet su NULL per indicare che non esiste alcun foglio di stile associato. Aggiunto l'attributo CSSKeyframesRule.length che indica il numero di proprietà da indicizzare.
- Per i campi modificabili, è stato implementato l'attributo "writingsuggestions" per controllare se i consigli vengono visualizzati durante la digitazione.
- Il supporto per ServiceWorker e SharedWorker è stato aggiunto all'API WebGPU.
- Aggiunto il supporto per l'intestazione HTTP “Priority”, attraverso la quale è possibile trasmettere informazioni sulla priorità di elaborazione della richiesta (RFC 9218) nella fase del primo accesso a una risorsa.
- Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. È stato aggiunto un nuovo pannello Compilazione automatica per controllare le informazioni utilizzate per compilare automaticamente i moduli.

Il pannello di ispezione degli stili CSS ha migliorato il supporto per gli stili nidificati. Il pannello di misurazione delle prestazioni offre la possibilità di nascondere le funzioni non necessarie e le chiamate secondarie associate per ridurre il rumore nel grafico. Il supporto per l'animazione legata allo scorrimento del contenuto (Animazione guidata dallo scorrimento) è stato aggiunto al pannello di debug dell'animazione. Il pannello di ispezione della rete consente di impostare i parametri relativi alla perdita di pacchetti e alla dimensione della coda di rete per verificare il funzionamento delle applicazioni WebRTC in caso di problemi di rete.

Oltre alle innovazioni e alle correzioni di bug, la nuova versione elimina 22 vulnerabilità. Molte delle vulnerabilità sono state identificate come risultato di test automatizzati utilizzando gli strumenti AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono stati identificati problemi critici che consentano di aggirare tutti i livelli di protezione del browser ed eseguire codice sul sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di pagamento di premi in denaro per la scoperta di vulnerabilità per la versione attuale, Google ha pagato 13 premi per un importo di 65mila dollari USA (un premio di 20000 $, 10000 $, 7000 e 2000 $, tre premi di 5000 e 3000 $, due premi di $ 1000). L'entità di una ricompensa non è stata ancora determinata.
Fonte: opennet.ru





