Chrome versione 105

Google ha annunciato l'uscita del browser web Chrome 105. 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 i parametri 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 106 è previsto per il 27 settembre.

Modifiche principali in Chrome 105:

  • Il supporto per applicazioni web specializzate Chrome Apps è stato interrotto, sostituito da applicazioni web autonome basate sulla tecnologia Progressive Web Apps (PWA) e API Web standard. Google inizialmente aveva annunciato l'intenzione di abbandonare le app Chrome nel 2016 e aveva pianificato di smettere di supportarle fino al 2018, ma poi ha rinviato questo piano. In Chrome 105, quando provi a installare le app di Chrome, riceverai un avviso che non saranno più supportate, ma le app continueranno a essere eseguite. In Chrome 109, la possibilità di eseguire app Chrome sarà disabilitata.
  • Fornito ulteriore isolamento per il processo di rendering, che è responsabile del rendering. Questo processo viene ora eseguito in un contenitore aggiuntivo (App Container), implementato sul sistema di isolamento sandbox esistente. Se viene sfruttata una vulnerabilità nel codice di rendering, le restrizioni aggiunte impediranno all'aggressore di accedere alla rete impedendo l'accesso alle chiamate di sistema relative alle funzionalità della rete.
  • Implementato il proprio archivio unificato dei certificati radice delle autorità di certificazione (Chrome Root Store). Il nuovo archivio non è ancora abilitato per impostazione predefinita e fino al completamento dell'implementazione i certificati continueranno a essere verificati utilizzando un archivio specifico per ciascun sistema operativo. La soluzione testata ricorda l'approccio di Mozilla, che mantiene un archivio di certificati radice indipendente e separato per Firefox, utilizzato come primo collegamento per verificare la catena di fiducia dei certificati quando si aprono siti su HTTPS.
  • Sono iniziati i preparativi per la deprecazione dell'API Web SQL, che non è standardizzata, in gran parte inutilizzata e richiede una riprogettazione per soddisfare i moderni requisiti di sicurezza. Chrome 105 impedisce l'accesso a Web SQL dal codice caricato senza utilizzare HTTPS e aggiunge inoltre un avviso di deprecazione a DevTools. La rimozione dell'API Web SQL è prevista per il 2023. Per gli sviluppatori che necessitano di tale funzionalità verrà preparato un sostituto basato su WebAssembly.
  • La sincronizzazione di Chrome non supporta più la sincronizzazione con Chrome 73 e versioni precedenti.
  • Per le piattaforme macOS e Windows è attivato il visualizzatore di certificati integrato, che sostituisce il richiamo dell'interfaccia fornita dal sistema operativo. In precedenza, il visualizzatore integrato veniva utilizzato solo nelle build per Linux e ChromeOS.
  • La versione Android aggiunge impostazioni per gestire la Topics & Interest Group API, promossa nell'ambito dell'iniziativa Privacy Sandbox, che consente di definire categorie di interessi degli utenti e utilizzarle al posto dei cookie di tracciamento per identificare gruppi di utenti con interessi simili senza identificare i singoli individui utenti. Nell'ultima versione, impostazioni simili sono state aggiunte alle versioni per Linux, ChromeOS, macOS e Windows.
  • Quando abiliti la protezione avanzata del browser (Navigazione sicura > Protezione avanzata), vengono raccolti i dati di telemetria sui componenti aggiuntivi installati, sull'accesso all'API e sulle connessioni a siti esterni. Questi dati vengono utilizzati sui server di Google per rilevare attività dannose e violazioni delle regole da parte dei componenti aggiuntivi del browser.
  • Deprecato e bloccherà l'uso di caratteri non ASCII nei domini specificati nell'intestazione Cookie in Chrome 106 (per i domini IDN, i domini devono essere in formato punycode). La modifica renderà il browser conforme alla RFC 6265bis e al comportamento implementato in Firefox.
  • È stata proposta una API di evidenziazione personalizzata, progettata per modificare arbitrariamente lo stile delle aree di testo selezionate e consentendo di non essere limitati dallo stile fisso fornito dal browser per le aree evidenziate (::selezione, ::selezione-inattiva) ed evidenziazione di errori di sintassi (::errore-ortografico, ::errore-grammaticale). La prima versione dell'API forniva il supporto per modificare i colori del testo e dello sfondo utilizzando gli pseudoelementi color e background-color, ma in futuro verranno aggiunte altre opzioni di stile.

    Come esempio dei compiti che possono essere risolti utilizzando la nuova API, si menziona l'aggiunta ai framework web che forniscono strumenti per l'editing del testo, i propri meccanismi di selezione del testo, evidenziazioni diverse per l'editing congiunto simultaneo da parte di più utenti, ricerca in documenti virtualizzati e segnalazione di errori durante il controllo ortografico . Se in precedenza, la creazione di un'evidenziazione non standard richiedeva manipolazioni complesse con l'albero DOM, l'API Custom Highlight fornisce operazioni già pronte per aggiungere e rimuovere l'evidenziazione che non influiscono sulla struttura DOM e applicano stili in relazione agli oggetti Range.

  • Aggiunta la query "@container" ai CSS, consentendo agli elementi di avere uno stile in base alla dimensione dell'elemento genitore. “@container” è simile alle query “@media”, ma si applica non alla dimensione dell'intera area visibile, ma alla dimensione del blocco (contenitore) in cui è posizionato l'elemento, che consente di impostare la propria logica di selezione dello stile per gli elementi secondari, indipendentemente da dove è posizionato esattamente l'elemento nella pagina.
     Chrome versione 105
  • Aggiunta la pseudo-classe CSS “:has()” per verificare la presenza di un elemento figlio nell'elemento genitore. Ad esempio, "p:has(span)" estende gli elementi , all'interno del quale è presente un elemento .
  • Aggiunta l'API HTML Sanitizer, che consente di eliminare elementi dal contenuto che influenzano la visualizzazione e l'esecuzione durante l'output tramite il metodo setHTML(). L'API può essere utile per pulire i dati esterni per rimuovere i tag HTML che possono essere utilizzati per eseguire attacchi XSS.
  • È possibile utilizzare l'API Streams (ReadableStream) per inviare richieste di recupero prima che il corpo della risposta venga caricato, ad es. puoi iniziare a inviare dati senza attendere il completamento della generazione della pagina.
  • Per le applicazioni web autonome installate (PWA, Progressive Web App), è possibile modificare il design dell'area del titolo della finestra utilizzando i componenti Window Controls Overlay, che estendono l'area dello schermo dell'applicazione web all'intera finestra e consentire di dare all'applicazione web l'aspetto di una normale applicazione desktop. Un'applicazione web può controllare il rendering e l'elaborazione dell'input nell'intera finestra, ad eccezione del blocco di sovrapposizione con pulsanti di controllo della finestra standard (chiudi, riduci a icona, ingrandisci).
     Chrome versione 105
  • Stabilizzata la possibilità di accedere alle Media Source Extensions da work dedicati (in contesto DedicatedWorker) che possono essere utilizzate, ad esempio, per migliorare le prestazioni di riproduzione bufferizzata di dati multimediali creando un oggetto MediaSource in un worker separato e trasmettendo il risultati del suo lavoro in HTMLMediaElement nel thread principale.
  • Nell'API Client Hints, che è in fase di sviluppo per sostituire l'intestazione User-Agent e consente di restituire selettivamente dati su parametri specifici del browser e del sistema (versione, piattaforma, ecc.) solo dopo una richiesta serverÈ stato aggiunto il supporto per la proprietà Sec-CH-Viewport-Heigh, che consente di ottenere informazioni sull'altezza del viewport. Il formato di markup per specificare i parametri Client Hints nel tag "meta" per le risorse esterne è stato modificato: In precedenza: È diventato:
  • Aggiunta la possibilità di creare gestori di eventi onbeforeinput globali (document.documentElement.onbeforeinput), con i quali le applicazioni web possono sovrascrivere il comportamento durante la modifica del testo in blocchi , e altri elementi con l'attributo "contenteditable" impostato, prima che il browser modifichi il contenuto dell'elemento e l'albero DOM.
  • Le funzionalità dell'API di navigazione sono state ampliate, consentendo alle applicazioni web di intercettare le operazioni di navigazione in una finestra, avviare una transizione e analizzare la cronologia delle azioni con l'applicazione. Aggiunti nuovi metodi intercept() per intercettare una transizione e scroll() per scorrere fino a una determinata posizione.
  • Aggiunto il metodo statico Response.json(), che permette di generare un corpo della risposta basato su dati di tipo JSON.
  • Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. Nel debugger, quando viene attivato un punto di interruzione, è consentita la modifica delle funzioni in cima allo stack, senza interrompere la sessione di debug. Il pannello Registratore, che consente di registrare, riprodurre e analizzare le azioni dell'utente su una pagina, supporta punti di interruzione, riproduzione passo passo e registrazione di eventi di passaggio del mouse.

    Le metriche LCP (Largest Contentful Paint) sono state aggiunte al dashboard delle prestazioni per identificare i ritardi durante il rendering di elementi di grandi dimensioni (visibili all'utente) nell'area visibile, come immagini, video ed elementi di blocco. Nel pannello Elementi, i livelli superiori visualizzati sopra altri contenuti sono contrassegnati da un'icona speciale. WebAssembly offre la possibilità di caricare dati di debug in formato DWARF.

Oltre alle innovazioni e alle correzioni di bug, la nuova versione elimina 24 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 corrente, Google ha pagato 21 premi del valore di $ 60500 (un premio da $ 10000, un premio da $ 9000, un premio da $ 7500, un premio da $ 7000, due premi da $ 5000, quattro premi da $ 3000, due premi ). $2000 e un bonus di $1000). L'entità delle sette ricompense non è stata ancora determinata.

Fonte: opennet.ru