Chrome versione 80

Google presentato versione del browser web Chrome 80... Contemporaneamente è disponibile rilascio stabile di un progetto gratuito cromo, che funge da base per Chrome. Browser Chrome diverso l'uso dei loghi di Google, la presenza di un sistema per l'invio di notifiche in caso di crash, la possibilità di scaricare un modulo Flash su richiesta, moduli per la riproduzione di contenuti video protetti (DRM), un sistema per l'installazione automatica degli aggiornamenti e la trasmissione durante la ricerca parametri RLZ. La prossima release di Chrome 81 è prevista per il 17 marzo.

Il principale modifiche в Chrome 80:

  • Per una piccola percentuale di utenti viene offerta una funzione di raggruppamento di schede, che consente di combinare più schede con scopi simili in gruppi visivamente separati. Ad ogni gruppo può essere assegnato il proprio colore e nome. Gli utenti che non sono stati inclusi nella prima ondata di attivazione possono abilitare il supporto del raggruppamento tramite l'opzione "chrome://flags/#tab-groups".

    Chrome versione 80

  • Aggiunto supporto per questa funzionalità Scorri fino al testo, che consente di creare collegamenti a singole parole o frasi senza specificare esplicitamente le etichette nel documento utilizzando il tag "a name" o la proprietà "id". Si prevede che la sintassi di tali collegamenti venga approvata come standard web, cosa che è ancora in fase avanzata bozza. La maschera di transizione (essenzialmente una ricerca a scorrimento) è separata dall'ancora regolare dall'attributo “:~:”. Ad esempio, quando apri il collegamento “https://opennet.ru/52312/#:~:text=Chrome” la pagina si sposterà nella posizione con la prima menzione della parola “Chrome” e questa parola verrà evidenziata .
  • Applicato Una restrizione più stringente al trasferimento di Cookie tra siti, per richieste non HTTPS, che vieta il trattamento di Cookie di terze parti impostati quando si accede a siti diversi dal dominio della pagina corrente. Tali cookie vengono utilizzati per tracciare i movimenti dell'utente tra i siti nel codice delle reti pubblicitarie, nei widget dei social network e nei sistemi di analisi web. Ricordiamo che per controllare la trasmissione dei Cookie viene utilizzato l'attributo SameSite specificato nell'header Set-Cookie, che di default è ora impostato al valore “SameSite=Lax”, che limita l'invio di Cookie per sottorichieste cross-site , ad esempio una richiesta di immagine o il caricamento di contenuti tramite un iframe da un altro sito. I siti possono sovrascrivere il comportamento predefinito di SameSite impostando in modo esplicito l'impostazione Cookie su SameSite=None. Tuttavia il valore SameSite=None per Cookie è impostabile solo in modalità Secure (valida per connessioni tramite HTTPS). Il cambiamento inizierà per gradi applicare 17 febbraio, inizialmente per una piccola percentuale di utenti, per poi ampliare gradualmente la copertura.
  • Aggiunto da protezione da fastidiose notifiche legate alla conferma delle credenziali. Poiché attività come lo spamming delle richieste di notifica push interrompono l'esperienza dell'utente e distolgono l'attenzione dalle finestre di dialogo di conferma, in Chrome 80, invece di una finestra di dialogo separata, ora è possibile visualizzare una descrizione comando informativa nella barra degli indirizzi che avverte che la richiesta di autorizzazione è stata bloccata, che quindi collassa in un indicatore con l'immagine di una campana barrata. Facendo clic sull'indicatore è possibile attivare o rifiutare l'autorizzazione richiesta in qualsiasi momento opportuno. Automaticamente, la nuova modalità verrà abilitata selettivamente per gli utenti che in precedenza erano soliti bloccare tali richieste, così come per i siti che registrano un'alta percentuale di richieste rifiutate. Per abilitare la nuova modalità per tutte le richieste, è stata aggiunta un'opzione speciale alle impostazioni (chrome://flags/#quiet-notification-prompts).

    Chrome versione 80

  • Vietato visualizzazione di finestre pop-up (chiamando il metodo window.open()) e invio di XMLHttpRequests sincrone nei gestori di eventi di chiusura o nascondi pagina (unload, beforeunload, pagehide e visibilitàchange);
  • Proposta iniziale protezione dal caricamento di contenuti multimediali misti (quando le risorse vengono caricate su una pagina HTTPS tramite il protocollo http://). Nelle pagine aperte tramite HTTPS, i collegamenti “http://” verranno ora automaticamente sostituiti con “https://” nei blocchi associati alla riproduzione di file audio e video. Se una risorsa audio o video non è disponibile tramite https, allora il suo download viene bloccato (è possibile contrassegnare manualmente il blocco tramite il menu accessibile tramite il simbolo del lucchetto nella barra degli indirizzi).

    Le immagini continueranno a caricarsi senza modifiche (la correzione automatica verrà applicata in Chrome 81), ma per sostituirle con https o bloccare immagini, agli sviluppatori del sito vengono fornite le proprietà CSP upgrade-insecure-requests e block-all-mixed-content. Per script e iframe il blocco dei contenuti misti è già stato implementato in precedenza.

  • Un graduale sconnessione Supporto FTP. Per impostazione predefinita, il supporto FTP è ancora disponibile, ma lo sarà effettuata un esperimento in cui il supporto FTP verrà disabilitato per una certa percentuale di utenti (per tornare sarà necessario avviare il browser con l'opzione “-enable-ftp”). Ricordiamo che nelle versioni precedenti la visualizzazione nella finestra del browser dei contenuti delle risorse scaricate tramite il protocollo “ftp://” era già disabilitata (ad esempio veniva interrotta la visualizzazione di documenti HTML e file README), l'utilizzo di FTP era vietato durante il download di risorse secondarie dai documenti e il supporto proxy è stato interrotto per FTP. Tuttavia era ancora possibile scaricare file tramite collegamenti diretti e visualizzare il contenuto delle directory.
  • Aggiunto da
    la possibilità di utilizzare immagini SVG vettoriali come icona del sito (favicon).

  • Nelle impostazioni è stata aggiunta la possibilità di disabilitare selettivamente alcuni tipi di dati trasferiti durante la sincronizzazione tra browser.
  • È stata aggiunta una regola per gli utenti aziendali amministrati a livello centrale Blocca estensioni esterne, che consente di impedire l'installazione di componenti aggiuntivi esterni sul dispositivo.
  • Implementato opportunità un controllo una tantum dell'intera catena di proprietà o chiamate in JavaScript. Ad esempio, quando si accede a “db.user.name.length” era prima necessario verificare passo dopo passo la definizione di tutti i componenti, ad esempio tramite “if (db && db.user && db.user.name)”. Ora utilizzando l'operazione "?" è possibile accedere al valore “db?.user?.name?.length” senza controlli preliminari e tale accesso non porterà ad un errore. In caso di problemi (se qualche elemento viene elaborato come nullo o non definito)) l'output sarà “non definito”.
  • JavaScript introduce un nuovo operatore di concatenazione logica "??", che restituisce l'operando di destra se l'operando di sinistra è NULL o non definito e viceversa. Ad esempio, "const foo = bar ?? 'default string'" se bar è null, restituirà altrimenti il ​​valore di bar, incluso quando bar è 0 e ' ', al contrario dell'operatore "||".
  • Nella modalità Origin Trials (funzionalità sperimentali che richiedono sessioni separate Attivazione) ha proposto l'API di indicizzazione dei contenuti. La prova di origine implica la possibilità di lavorare con l'API specificata da applicazioni scaricate da localhost o 127.0.0.1 o dopo la registrazione e la ricezione di un token speciale valido per un periodo limitato per un sito specifico. API Indicizzazione dei contenuti, fornisce metadati sul contenuto precedentemente memorizzato nella cache dalle applicazioni Web in esecuzione in modalità Progressive Web Apps (PWS). L'applicazione può salvare vari dati sul lato browser, incluse immagini, video e articoli e, quando la connessione di rete viene persa, utilizzarli utilizzando le API Cache Storage e IndexedDB. L'API di indicizzazione dei contenuti consente di aggiungere, trovare ed eliminare tali risorse. Nel browser, questa API è già utilizzata per elencare un elenco di pagine e dati multimediali disponibili per la visualizzazione offline.

    Chrome versione 80

  • Stabilizzato e ora distribuito al di fuori dell'API Origin Trials Contatta Picker, consentendo all'utente di selezionare voci dalla rubrica e di trasmettere al sito alcuni dettagli su di esse. La richiesta specifica un elenco di proprietà che devono essere recuperate. Queste proprietà vengono visualizzate esplicitamente all'utente, che decide se passarle o meno. L'API può essere utilizzata, ad esempio, in un client di posta web per selezionare i destinatari di una lettera inviata, in un'applicazione web con la funzione VoIP per avviare una chiamata a un numero specifico o in un social network per cercare amici già registrati . Allo stesso tempo, nell'ambito delle Prove di Origin, vengono offerte alcune nuove proprietà di Contact Picker: oltre al nome completo, email e numero di telefono precedentemente disponibili, è stata aggiunta la possibilità di trasferire un indirizzo email e un'immagine.
  • Nei lavoratori del web proposto un nuovo modo di caricare i moduli ECMAScript, consentendo di evitare l'utilizzo della funzione importScripts(), che blocca il lavoratore durante l'elaborazione dello script importato e lo esegue nel contesto globale. Il nuovo metodo prevede la creazione di moduli speciali per i Web Worker che supportano i meccanismi di importazione JavaScript standard e possono essere caricati dinamicamente senza bloccare l'esecuzione dei lavoratori. Per caricare i moduli, il costruttore Worker fornisce un nuovo tipo di risorsa - 'modulo':

    const lavoratore = new Lavoratore('lavoratore.js', {
    tipo: 'modulo'
    });

  • Implementato La capacità integrata di JavaScript di elaborare flussi compressi senza richiedere l'uso di librerie esterne. Sono state aggiunte API per la compressione e la decompressione CompressionStream e DecompressionStream. È supportata la compressione utilizzando gli algoritmi gzip e deflate.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • Aggiunta proprietà CSS "interruzione di riga: ovunque", che consente interruzioni a livello di qualsiasi carattere tipografico, comprese le interruzioni vicino ai caratteri di punteggiatura predefiniti da spazi ( ) e nel mezzo delle parole. Aggiunta anche la proprietà CSS "overflow-wrap: ovunque» consente di interrompere sequenze ininterrotte di caratteri ovunque se non è possibile trovare nella riga una posizione adatta per l'interruzione.
  • Per il contesto multimediale elaborato in forma crittografata è stato implementato il supporto per il metodo MediaCapabilities.decodingInfo(), che fornisce informazioni sulle capacità del browser per la decodifica dei contenuti protetti (ad esempio, questo metodo può essere utilizzato per selezionare scenari di decodifica di alta qualità o ad alta efficienza energetica in base alla larghezza di banda disponibile e alle dimensioni dello schermo).
  • Metodo aggiunto HTMLVideoElement.getVideoPlaybackQuality(), attraverso il quale è possibile ottenere informazioni sulle prestazioni di riproduzione video per regolare bitrate, risoluzione e altri parametri video.
  • Nell'API Gestore dei pagamenti, che semplifica l'integrazione con i sistemi di pagamento esistenti, ha aggiunto la capacità delegazione elaborazione dell'indirizzo e delle informazioni di contatto a un processore esterno del sistema di pagamento (l'applicazione del sistema di pagamento potrebbe avere informazioni più precise rispetto al browser).
  • Aggiunto il supporto per l'intestazione HTTP Sec-Recupero-Dest, che consente di inviare metadati aggiuntivi sul tipo di contenuto associato alla richiesta (ad esempio, per una richiesta tramite il tag img, il tipo è "immagine", per i caratteri - "font", per gli script - "script", per gli stili - “stile”, ecc.). In base al tipo specificato, il server può adottare misure per proteggersi da determinati 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 non devono essere essere elaborato).
  • Nel motore JavaScript V8 ottimizzazione effettuata memorizzare i puntatori nell'heap. Invece di memorizzare l'intero valore a 64 bit, vengono memorizzati solo i bit inferiori univoci del puntatore. Questa ottimizzazione ha consentito di ridurre il consumo di memoria heap del 40%, al costo di una penalizzazione delle prestazioni del 3-8%.
    Chrome versione 80

    Chrome versione 80

  • Cambiamenti negli strumenti per gli sviluppatori web:
    • La console Web ora ha la capacità di ridefinire le espressioni let e class.

      Chrome versione 80

    • Strumenti di debug di WebAssembly migliorati. Aggiunto supporto NANO per il debug passo passo, la specifica dei punti di interruzione e l'analisi delle tracce dello stack nel codice sorgente in cui è scritta un'applicazione WebAssembly.

      Chrome versione 80

    • Pannello migliorato per l'analisi dell'attività di rete. Aggiunta la possibilità di visualizzare la catena di chiamate degli script associati all'avvio della richiesta.

      Chrome versione 80

      Aggiunte nuove colonne Percorso e URL che mostrano il percorso assoluto e l'URL completo per ciascuna risorsa di rete. Garantisce che la query selezionata sia evidenziata nel diagramma di panoramica.

      Chrome versione 80

    • Nella scheda Condizioni di rete è stata aggiunta un'opzione per modificare il parametro User-Agent.

      Chrome versione 80

    • È stata proposta una nuova interfaccia per la configurazione del pannello di audit.
      Chrome versione 80

    • Nella scheda Copertura prevedeva la scelta di raccogliere dati di copertura per ciascuna funzione o per ciascun blocco di codice (statistiche più dettagliate, ma richiede più risorse).

      Chrome versione 80

  • Azione manifest AppCache (tecnologia per organizzare il funzionamento di un'applicazione web in modalità offline) limitato la directory corrente del sito (se il manifest è stato scaricato da www.example.com/foo/bar/, la possibilità di sovrascrivere l'URL funzionerà solo all'interno di /foo/bar/). Si prevede che il supporto di AppCache verrà rimosso completamente in Chrome 82. Il motivo addotto è il desiderio di eliminare uno dei vettori degli attacchi Cross-Site Scripting. Si consiglia di utilizzare l'API anziché AppCache Cache.
  • Interrotto supporto per l'API WebVR 1.1 legacy, che può essere sostituita dall'API Dispositivo WebXR, che consente di accedere a componenti per la creazione di realtà virtuale e aumentata e di unificare il lavoro con varie classi di dispositivi, dai caschi fissi per realtà virtuale alle soluzioni basate su dispositivi mobili.
  • I gestori di protocollo connessi tramite i metodi RegisterProtocolHandler() e unregisterProtocolHandler() ora possono funzionare solo in un contesto sicuro (quando si accede tramite HTTPS).

Oltre alle innovazioni e alle correzioni di bug, la nuova versione elimina 56 vulnerabilità. Molte delle vulnerabilità sono state identificate come risultato di test automatizzati con strumenti IndirizzoSanitizer, Disinfettante per la memoria, Integrità del flusso di controllo, LibFuzzer и 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 37 premi del valore di 48mila dollari (un premio da 10000 dollari, tre premi da 5000 dollari, tre premi da 3000 dollari, quattro premi da 2000 dollari, tre premi da 1000 dollari e sei premi da 500 dollari). La dimensione di 17 premi non è stata ancora determinata.

Fonte: opennet.ru

Aggiungi un commento