Azienda Google rilascio del browser web . In contemporanea uscita stabile di un progetto open source , che funge da base per Chrome. Il browser Chrome utilizza loghi Google, ha un sistema di invio notifiche in caso di crash, la possibilità di caricare il modulo Flash su richiesta, moduli per la riproduzione di contenuti video protetti (DRM), un sistema di aggiornamento automatico e un invio durante la ricerca . Il prossimo aggiornamento di Chrome 77 è previsto per il 10 settembre.
:
- di default, la modalità di protezione contro la trasmissione di cookie di terze parti, che in assenza dell'attributo SameSite nell'intestazione Set-Cookie imposta di default il valore "SameSite=Lax", limitando l'invio dei cookie per inserimenti provenienti da siti esterni (ma i siti possono comunque annullare la limitazione specificando esplicitamente il valore SameSite=None al momento dell'impostazione del cookie). Fino ad ora, il browser inviava cookie a qualsiasi richiesta al sito per il quale erano stati impostati i cookie, anche se inizialmente era stato aperto un altro sito e la richiesta veniva effettuata indirettamente tramite il caricamento di un'immagine o tramite iframe. In modalità 'Lax', l'invio dei cookie è bloccato solo per le sotto-richieste intersito, come la richiesta di un'immagine o il caricamento di contenuti attraverso iframe, che vengono spesso utilizzati per organizzare attacchi CSRF e per il tracciamento dei movimenti degli utenti tra i siti.
- La riproduzione dei contenuti Flash è stata interrotta di default. Fino al rilascio di Chrome 87, previsto per dicembre 2020, è possibile riattivare il supporto per Flash nelle impostazioni (Avanzate > Privacy e sicurezza > Impostazioni sito) con successiva conferma esplicita dell'operazione di riproduzione dei contenuti Flash per ciascun sito (la conferma viene memorizzata fino al riavvio del browser). La rimozione completa del codice per garantire il supporto a Flash è sincronizzata con il piano precedentemente annunciato da Adobe per interrompere il supporto della tecnologia Flash nel 2020;
- Per le imprese, è stata aggiunta la possibilità di cercare file nello spazio di archiviazione di Google Drive nella barra degli indirizzi;
- È iniziata in Chrome, pubblicità inaccettabile che ostacola la fruizione dei contenuti e non rispetta i criteri stabiliti dalla Coalizione per il miglioramento della pubblicità;
- È stata implementata una modalità adattiva per il passaggio a una nuova pagina, in cui la pulizia del contenuto corrente e la visualizzazione di uno sfondo bianco avvengono non immediatamente, ma con un breve ritardo. Per le pagine che si caricano rapidamente, la pulizia porta solo a un lampeggiamento e non offre alcun valore utile, che informerebbe l'utente sull'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 al posto della precedente, sostituendola senza soluzione di continuità (ad esempio, utile quando si passa ad altre pagine dello stesso sito che hanno un design e una palette di colori simili). Se per visualizzare la pagina è necessario un tempo visibile per l'utente, lo schermo verrà ancora pulito in anticipo;
- Sono stati inaspriti i criteri per determinare l'attività dell'utente sulla pagina. Chrome consente ora di visualizzare notifiche popup e riprodurre contenuti video/audio invadenti solo dopo le interazioni dell'utente con la pagina. Nella nuova versione, la pressione del tasto Escape, il passaggio del cursore su un link e il tocco dello schermo non sono più considerati interazioni attivanti della pagina (è necessario un clic esplicito, l'inserimento di testo o lo scrolling);
- media query «prefers-color-scheme», che consente ai siti web di determinare l'uso di un tema scuro nel browser e di attivare automaticamente il tema scuro per il sito visualizzato.
- Con l'attivazione del tema scuro nelle versioni per Linux, anche la barra degli indirizzi ora viene visualizzata in colore scuro;
- la possibilità di determinare l'apertura della pagina in modalità incognito attraverso manipolazioni con l'API FileSystem, che era precedentemente utilizzata da alcune pubblicazioni per imporre abbonamenti a pagamento nel caso di apertura anonima delle pagine senza memorizzazione dei cookie (affinché gli utenti non utilizzassero la modalità privata per bypassare il meccanismo di accesso gratuito ai trial). In precedenza, quando si lavorava in modalità incognito, il browser bloccava l'accesso all'API FileSystem per prevenire la persistenza dei dati tra le sessioni, il che permetteva di verificare tramite JavaScript la possibilità di salvare dati attraverso l'API FileSystem e, in caso di errore, di dedurre l'attività della modalità incognito. Ora, l'accesso all'API FileSystem non è bloccato e il contenuto viene pulito al termine della sessione;
- nuove chiamate in
Richiesta di pagamento API e gestore di pagamento. Nel oggetto PaymentRequestEvent è stato inserito un nuovo metodo changePaymentMethod(), e nell'oggetto PaymentRequest è stato aggiunto un nuovo gestore per l'evento paymentmethodchange, che consentono alla piattaforma di pagamento o all'app web di reagire al cambiamento del metodo di pagamento scelto dall'utente. Nella nuova versione, è stato anche semplificato il testing delle applicazioni relazione ai pagamenti utilizzando certificati autofirmati. È stata aggiunta una nuova opzione della riga di comando «—ignore-certificate-errors» per ignorare gli errori di convalida dei certificati durante lo sviluppo; - Nella barra degli indirizzi accanto al pulsante per aggiungere ai segnalibri per le applicazioni web che operano in modalità Desktop Progressive Web Apps (PWA), scorciatoia per installare l'app web nel sistema per operare come un'applicazione autonoma;
- Per i dispositivi mobili è stata fornita la possibilità di gestire l'uscita della mini-pannello con l'invito ad aggiungere l'app sullo schermo iniziale. Per le applicazioni PWA (Progressive Web App), la mini-pannello viene visualizzata automaticamente per impostazione predefinita al primo caricamento del sito. Gli sviluppatori ora possono rinunciare alla visualizzazione di questo pannello e implementare il proprio invito all'installazione, per il quale è possibile stabilire un gestore dell'evento
beforeinstallprompt e legare a questo la chiamata preventDefault(); - È stata aumentata la frequenza di controllo degli aggiornamenti per le applicazioni PWA installate nell'ambiente Android. Gli aggiornamenti WebAPK vengono ora controllati una volta al giorno, rispetto a una volta ogni tre giorni com'era prima. Se, durante tale controllo, si rileva una modifica di almeno una proprietà chiave nel manifesto, il browser scaricherà e installerà il nuovo WebAPK;
- Nell'API è stata aggiunta la possibilità di leggere e scrivere immagini tramite il copiaincolla, utilizzando i metodi navigator.clipboard.read() e navigator.clipboard.write();
- È stata implementata la supporto per un gruppo di intestazioni HTTP (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site e Sec-Fetch-User), che consentono di inviare ulteriori metadati sulla natura della richiesta (richiesta cross-site, richiesta tramite tag img, ecc.) affinché il server possa adottare misure per proteggersi da alcuni tipi di attacchi (ad esempio, è improbabile che un collegamento a un gestore per un trasferimento di denaro venga specificato tramite un tag img, quindi tali richieste possono essere bloccate senza passare all'app);
- Funzione aggiunta , che avvia l'invio dei dati del modulo in modo programmatico, 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 comporta la verifica interattiva dei parametri, la generazione dell'evento 'submit' e la trasmissione dei dati associati al pulsante di invio;
- È stata aggiunta la funzione , che consente di confermare le transazioni associate all'oggetto IDBTransaction, senza attendere la conclusione dei gestori di eventi in tutte le richieste correlate. L'uso di commit() permette di aumentare la larghezza di banda delle richieste di scrittura e lettura nel deposito e di controllare esplicitamente la conclusione della transazione;
- Nella funzione Intl.DateTimeFormat, sono state aggiunte opzioni , che consentono di richiedere stili di visualizzazione della data e dell'ora specifici per la località;
- Il metodo BigInt.prototype.toLocaleString() è stato modificato per formattare i numeri tenendo conto della località, mentre il metodo Intl.NumberFormat.prototype.format() e la funzione formatToParts() sono stati adattati per supportare valori in ingresso di tipo BigInt;
- È stato consentito l'uso dell'API in tutti i tipi di Web Worker, che può essere utilizzato per selezionare le opzioni ottimali durante la creazione di MediaStream da un worker;
- È stato aggiunto il metodo , che restituisce solo le promise già completate o rifiutate, senza considerare le promise in attesa di completamento;
- È stata rimossa l'opzione ‘—disable-infobars’, che in precedenza poteva essere utilizzata per nascondere i messaggi di avviso in Chrome (per nascondere gli avvisi relativi alla sicurezza è stata proposta la regola CommandLineFlagSecurityWarningsEnabled);
- Nell'interfaccia per lavorare con i blob sono stati aggiunti i metodi text(), arrayBuffer() e stream() per leggere determinati tipi di dati;
- È stata aggiunta la proprietà CSS ‘white-space:break-spaces’, che definisce che qualsiasi sequenza di spazi che causa il superamento della riga deve essere interrotta;
- È iniziato il lavoro di ripulitura dei flag in chrome://flags, ad esempio, il flag per disattivare l'attributo ‘ping’, che consente ai proprietari dei siti di monitorare i clic sui link dalle loro pagine. In caso di clic su un link con l'attributo ‘ping=URL’ nel tag ‘a href’, non è più possibile disattivare l'invio di una richiesta POST aggiuntiva all'URL specificato nell'attributo con informazioni sulla navigazione effettuata. Il significato del blocco di ping viene meno poiché questo attributo nelle specifiche HTML5 e ci sono molti metodi alternativi per effettuare la stessa azione (ad esempio, il passaggio tramite un link di transito o l'intercettazione dei clic attraverso gestori JavaScript);
- Rimosso il flag per disabilitare , in cui le pagine di diversi host sono sempre caricate nella memoria di diversi processi, ognuno dei quali applica il proprio sandbox.
- Nel motore V8 è stata notevolmente aumentata la produttività nella scansione e nel parsing del formato JSON. Per le pagine web più popolari si segnala un'accelerazione nell'esecuzione di JSON.parse fino a 2,7 volte. La conversione delle stringhe unicode è stata significativamente velocizzata, ad esempio, la velocità delle chiamate a String#localeCompare, String#normalize, così come di alcune API Intl, è aumentata quasi di due volte. Inoltre, è stata notevolmente ottimizzata la performance delle operazioni con array congelati durante l’uso di operazioni simili a frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) e fn.apply(this, […frozen]).

Oltre alle nuove funzionalità e alla correzione di bug, nella nuova versione sono stati risolti . Molte delle vulnerabilità sono state identificate grazie ai test automatizzati con strumenti quali , , , e . Non sono emerse 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 pagamento delle ricompense per la scoperta di vulnerabilità per l'attuale rilascio, Google ha erogato 16 premi per un 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

