Google rilascio del browser web . Contemporaneamente versione stabile di un progetto open source , che costituisce la base di Chrome. Il browser Chrome l'uso dei loghi Google, la presenza di un sistema di notifiche in caso di crash, la possibilità di scaricare il modulo Flash su richiesta, moduli per la riproduzione di contenuti video protetti (DRM), un sistema di aggiornamenti automatici e trasmissione durante la ricerca . La prossima versione di Chrome 77 è prevista per il 10 settembre.
:
- per impostazione predefinita, il modo di protezione contro la trasmissione di cookie di terze parti, che in assenza dell'attributo SameSite nell'intestazione Set-Cookie imposta automaticamente il valore «SameSite=Lax», limitando l'invio dei cookie per le inclusioni da siti esterni (ma i siti possono comunque annullare la limitazione specificando esplicitamente il valore SameSite=None durante l'impostazione dei cookie). Fino ad ora, il browser inviava i cookie a qualsiasi richiesta al sito per il quale erano stati impostati dei cookie, anche se inizialmente era aperto un altro sito e la richiesta veniva effettuata indirettamente tramite il caricamento di un'immagine o tramite iframe. In modalità ‘Lax’, la trasmissione dei cookie è bloccata solo per le sottorequest intersito, come le richieste di immagini o il caricamento di contenuti tramite iframe, che sono spesso utilizzate per organizzare attacchi CSRF e per monitorare i spostamenti degli utenti tra i siti.
- La riproduzione dei contenuti Flash è disabilitata per impostazione predefinita. Fino al rilascio di Chrome 87, previsto per dicembre 2020, sarà possibile ripristinare il supporto per Flash nelle impostazioni (Avanzate > Privacy e Sicurezza > Impostazioni Sito) con conferma esplicita della riproduzione dei contenuti Flash per ogni sito (la conferma è memorizzata fino al riavvio del browser). La rimozione completa del codice per garantire il supporto di Flash è sincronizzata con il piano annunciato da Adobe per il termine del supporto della tecnologia Flash nel 2020.
- Per le imprese è stata aggiunta la possibilità di cercare file nella barra degli indirizzi in Google Drive.
- Iniziato in Chrome di pubblicità inaccettabili che ostacolano la fruizione dei contenuti e non rispettano i criteri stabiliti dalla Coalition for Better Ads.
- È stata implementata una modalità di commutazione adattiva alla nuova pagina, in cui la pulizia del contenuto corrente e la visualizzazione di uno sfondo bianco non avvengono immediatamente, ma con un piccolo ritardo. Per le pagine che si caricano rapidamente, la pulizia porta solo a un tremolio e non fornisce alcuna informazione utile all'utente riguardo all'inizio del caricamento della nuova pagina. Nella nuova versione, se la pagina si apre rapidamente e rientra in un breve ritardo, la nuova pagina viene visualizzata senza interruzioni, sostituendo agevolmente la precedente (ad esempio, utile quando si passa a pagine simili per stile e palette colori dello stesso sito). Se per visualizzare la pagina è necessario un tempo visibile per l'utente, come in precedenza, lo schermo verrà precedentemente pulito;
- I criteri per determinare l'attività dell'utente sulla pagina sono stati inaspriti. Chrome consente di visualizzare notifiche pop-up e riprodurre contenuti video/audio invasivi solo dopo che l'utente ha interagito con la pagina. Nella nuova versione, il tasto Escape, il posizionamento del cursore su un link e il tocco dello schermo non vengono più considerati come interazioni attive con la pagina (è necessario un clic esplicito, l'inserimento di testo o lo scorrimento);
- la media query «prefers-color-scheme», che consente ai siti di determinare l'applicazione del tema scuro nel browser e di attivare automaticamente il tema scuro per il sito visualizzato.
- Quando è attivato il tema scuro nelle versioni per Linux, ora anche la barra degli indirizzi viene visualizzata in colore scuro.
- la possibilità di rilevare l'apertura di una pagina in modalità incognito attraverso manipolazioni con il FileSystem API, precedentemente utilizzata da alcune pubblicazioni per forzare un abbonamento a pagamento nel caso di accesso anonimo alle pagine senza memorizzazione dei cookie (per impedire che gli utenti utilizzassero la modalità privata per aggirare il meccanismo di fornire accesso gratuito in prova). In passato, funzionando in modalità incognito, il browser bloccava l'accesso al FileSystem API per evitare la persistenza di dati tra le sessioni, permettendo così di verificare tramite JavaScript la possibilità di salvare dati tramite il FileSystem API e, in caso di fallimento, dedurre l'attivazione della modalità incognito. Ora l'accesso al FileSystem API non è bloccato e il contenuto viene cancellato al termine della sessione;
- nuove chiamate in
API Payment Request e Payment Handler. Nel oggetto PaymentRequestEvent è stato introdotto un nuovo metodo changePaymentMethod(), mentre nell'oggetto PaymentRequest è stato aggiunto un nuovo gestore dell'evento paymentmethodchange, che consente alla piattaforma di pagamento o all'applicazione web di reagire al cambiamento del metodo di pagamento da parte dell'utente. Nella nuova release, anche il test delle applicazioni in relazione alle API dei pagamenti è stato semplificato utilizzando certificati autofirmati. È stata aggiunta una nuova opzione della riga di comando «—ignore-certificate-errors» per ignorare gli errori di verifica dei certificati durante lo sviluppo; - Nella barra degli indirizzi accanto al pulsante per aggiungere ai segnalibri per le applicazioni web in modalità Desktop Progressive Web Apps (PWA), un'icona per installare l'applicazione web nel sistema per funzionare come un programma separato;
- Per i dispositivi mobili è ora possibile gestire la visualizzazione della mini-pannello per l'aggiunta dell'app sulla schermata iniziale. Per le app PWA (Progressive Web App), la mini-pannello viene mostrata automaticamente per impostazione predefinita alla prima apertura del sito. Ora gli sviluppatori possono rinunciare alla visualizzazione di questo pannello e implementare il proprio invito all'installazione, per cui è possibile impostare un gestore di eventi
beforeinstallprompt e collegare a esso la chiamata preventDefault(); - Aumentata la frequenza di controllo degli aggiornamenti per le app PWA (Progressive Web App) installate su Android. Gli aggiornamenti di WebAPK ora vengono controllati una volta al giorno, anziché ogni tre giorni come prima. Se durante questo controllo nel manifesto viene rilevata una modifica di almeno una proprietà chiave, il browser scaricherà e installerà il nuovo WebAPK;
- Nell'API aggiunta la possibilità di leggere e scrivere immagini tramite il clipboard in modo programmato, utilizzando i metodi navigator.clipboard.read() e navigator.clipboard.write();
- Implementato il supporto per il gruppo di intestazioni HTTP (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site e Sec-Fetch-User), che inviano metadati aggiuntivi sulla natura della richiesta (richiesta cross-origin, richiesta tramite tag img, ecc.) per adottare misure di protezione sul server contro alcuni tipi di attacchi (ad esempio, è poco probabile che un link a un gestore per trasferire denaro venga effettuato tramite tag img; pertanto, tali richieste possono essere bloccate senza inviarle all'applicazione);
- È stata aggiunta una funzione , che avvia l'invio programmatico dei dati del modulo analogamente a un clic sul pulsante di invio. Questa funzione può essere utilizzata nello sviluppo di pulsanti di invio personalizzati, per i quali la chiamata a form.submit() non è sufficiente poiché non provoca una verifica interattiva dei parametri, non genera l'evento 'submit' e non invia i dati associati al pulsante di invio;
- È stata aggiunta la funzione , che consente di confermare le transazioni associate all'oggetto IDBTransaction senza attendere il completamento dei gestori eventi su tutte le richieste collegate. L'uso di commit() aumenta la larghezza di banda delle richieste di scrittura e lettura nello storage e controlla esplicitamente il completamento delle transazioni;
- Nella funzione Intl.DateTimeFormat sono state aggiunte opzioni come formatToParts() e resolveOptions() , che consentono di richiedere stili di visualizzazione della data e dell'ora specifici per la locale;
- Il metodo BigInt.prototype.toLocaleString() è stato modificato per formattare numeri tenendo conto della locale, mentre il metodo Intl.NumberFormat.prototype.format() e la funzione formatToParts() sono stati adattati per supportare valori di input di tipo BigInt;
- È stato autorizzato l'uso dell'API in tutti i tipi di Web Worker, che possono essere utilizzati per scegliere le impostazioni ottimali durante la creazione di un MediaStream da un worker;
- Aggiunto il metodo , che restituisce solo promise già risolte o rifiutate, senza considerare quelle in attesa di risoluzione;
- È stata rimossa l'opzione «—disable-infobars», che in precedenza poteva essere utilizzata per nascondere avvisi popup nell'interfaccia di Chrome (è stata proposta la regola CommandLineFlagSecurityWarningsEnabled per nascondere avvisi relativi alla sicurezza);
- Nell'interfaccia per lavorare con i blob sono stati aggiunti metodi text(), arrayBuffer() e stream() per leggere determinati tipi di dati;
- È stata aggiunta la proprietà CSS «white-space: break-spaces», che determina che qualsiasi sequenza di spazi che causa un overflow di riga deve essere interrotta;
- È iniziato il lavoro di pulizia dei flag in chrome://flags, ad esempio, il flag per disabilitare l'attributo "ping", che consente ai proprietari dei siti di monitorare i passaggi dai loro link. Ora, nel caso di un clic su un link con l'attributo "ping=URL" nel tag "a href", non è più possibile disabilitare l'invio di una richiesta POST aggiuntiva all'URL specificato nell'attributo, con informazioni sul passaggio avvenuto. Il significato della disabilitazione di ping si perde, poiché questo attributo nelle specifiche HTML5 e ci sono molti metodi alternativi per eseguire la stessa azione (ad esempio, tramite un link di transito o intercettando i clic con gestori JavaScript);
- Rimosso il flag per disabilitare , in cui le pagine di host diversi vengono sempre archiviate in memoria in processi separati, ognuno dei quali applica il proprio sandbox.
- Nel motore V8, le prestazioni di scansione e parsing del formato JSON sono significativamente aumentate. Per le pagine web più popolari, si registra un acceleramento dell'esecuzione di JSON.parse fino a 2,7 volte. È stata notevolmente accelerata la conversione delle stringhe unicode; ad esempio, la velocità delle chiamate a String#localeCompare, String#normalize e alcune API Intl è aumentata quasi di due volte. Inoltre, le prestazioni delle operazioni su array congelati sono state fortemente ottimizzate quando si utilizzano operazioni come frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) e fn.apply(this, […frozen]).

Oltre alle novità e alla correzione di errori, nella nuova versione sono state risolte . Molte delle vulnerabilità sono state scoperte attraverso test automatizzati utilizzando strumenti , , , e . Non sono stati identificati problemi critici che consentano di eludere tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di premi per la scoperta di vulnerabilità per la versione attuale, Google ha corrisposto 16 premi per un importo totale di 23.500 dollari USA (un premio di $10.000, un premio di $6.000, due premi di $3.000 e tre premi di $500). L'importo di 9 premi non è ancora stato definito.
Fonte: opennet.ru

