Chrome izdanje 80

Google predstavljen izdanje web pretraživača Chrome 80... Istovremeno na raspolaganju stabilno izdanje besplatnog projekta hrom, koji služi kao osnova Chrome-a. Chrome pretraživač drugačiji upotreba Google logotipa, prisustvo sistema za slanje obavještenja u slučaju pada, mogućnost preuzimanja Flash modula na zahtjev, moduli za reprodukciju zaštićenog video sadržaja (DRM), sistem za automatsko instaliranje ažuriranja i prijenos tokom pretraživanja RLZ parametri. Sljedeće izdanje Chrome 81 zakazano je za 17. mart.

Glavni promjena в Chrome 80:

  • Za mali procenat korisnika nudi se funkcija grupisanja kartica, koja vam omogućava da kombinujete nekoliko kartica slične namene u vizuelno odvojene grupe. Svakoj grupi se može dodijeliti vlastita boja i naziv. Korisnici koji nisu bili uključeni u prvi talas aktivacije mogu omogućiti podršku za grupisanje putem opcije “chrome://flags/#tab-groups”.

    Chrome izdanje 80

  • Dodata podrška za ovu funkciju Scroll-To-Text, koji vam omogućava da kreirate veze ka pojedinačnim rečima ili frazama bez eksplicitnog navođenja oznaka u dokumentu pomoću oznake "a name" ili svojstva "id". Planirano je da se sintaksa ovakvih linkova odobri kao web standard, koji je još uvijek u fazi nacrt. Prijelazna maska ​​(u suštini pretraga pomicanja) je odvojena od redovnog sidra atributom “:~:”. Na primjer, kada otvorite link “https://opennet.ru/52312/#:~:text=Chrome” stranica će se pomaknuti na poziciju s prvim spominjanjem riječi “Chrome” i ova riječ će biti istaknuta .
  • Primijenjeno Strožije ograničenje prijenosa kolačića između web lokacija, za zahtjeve koji nisu HTTPS, zabranjujući obradu kolačića trećih strana postavljenih prilikom pristupa web lokacijama koje nisu domene trenutne stranice. Takvi kolačići se koriste za praćenje kretanja korisnika između stranica u kodu reklamnih mreža, widgeta društvenih mreža i sistema za web analizu. Podsjetimo da se za kontrolu prijenosa kolačića koristi atribut SameSite naveden u zaglavlju Set-Cookie, koji je prema zadanim postavkama sada postavljen na vrijednost “SameSite=Lax”, što ograničava slanje kolačića za podzahtjeve na više lokacija , kao što je zahtjev za sliku ili učitavanje sadržaja kroz iframe sa druge stranice. Web lokacije mogu nadjačati zadano ponašanje SameSite eksplicitnim postavljanjem kolačića na SameSite=None. Međutim, vrijednost SameSite=None za Cookie može se postaviti samo u sigurnom načinu rada (važi za veze putem HTTPS-a). Promjena će početi u fazama primijeniti 17. februara, u početku za mali procenat korisnika, a zatim postepeno širenje pokrivenosti.
  • Dodano zaštita od dosadnih obavijesti vezanih za potvrdu vjerodajnica. Budući da aktivnosti poput slanja neželjenih zahtjeva za push obavijesti prekidaju korisničko iskustvo i odvlače pažnju od dijaloga za potvrdu, u Chromeu 80, umjesto zasebnog dijaloga, sada se u adresnoj traci može prikazati informativni tooltip koji upozorava da je zahtjev za dozvolu blokiran, što onda sruši se u indikator sa slikom precrtanog zvona. Klikom na indikator možete aktivirati ili odbiti traženu dozvolu u bilo kojem pogodnom trenutku. Automatski će novi način rada biti selektivno omogućen za korisnike koji su ranije obično blokirali takve zahtjeve, kao i za stranice koje bilježe veliki postotak odbijenih zahtjeva. Da biste omogućili novi način rada za sve zahtjeve, u postavke je dodana posebna opcija (chrome://flags/#quiet-notification-prompts).

    Chrome izdanje 80

  • Zabranjeno prikazivanje iskačućih prozora (pozivanje metode window.open()) i slanje sinhronih XMLHttpRequest-a u obrađivačima događaja zatvaranja ili skrivanja stranice (unload, beforeunload, pagehide i visibilitychange);
  • Predloženi inicijal odbrana od učitavanja mešovitog multimedijalnog sadržaja (kada se resursi učitavaju na HTTPS stranicu putem http:// protokola). Na stranicama otvorenim putem HTTPS-a, “http://” linkovi će sada biti automatski zamijenjeni sa “https://” u blokovima povezanim s reprodukcijom audio i video datoteka. Ako audio ili video resurs nije dostupan putem https, tada je njegovo preuzimanje blokirano (možete ručno označiti blokiranje kroz meni kojem se pristupa preko simbola katanca u adresnoj traci).

    Slike će nastaviti da se učitavaju nepromijenjene (autoispravka će se primijeniti u Chromeu 81), ali da bi ih zamijenili https ili blokirali slike, programeri web mjesta imaju CSP svojstva upgrade-insecure-requests i block-all-mixed-content. Za skripte i iframe, blokiranje miješanog sadržaja je već implementirano ranije.

  • Postepeno isključivanje FTP podrška. Podrazumevano, FTP podrška je i dalje dostupna, ali hoće drzati eksperiment u kojem će podrška za FTP biti onemogućena za određeni postotak korisnika (da biste se vratili, morat ćete pokrenuti pretraživač s opcijom “-enable-ftp”). Podsjetimo da je u prethodnim izdanjima prikaz u prozoru pretraživača sadržaja resursa preuzetih preko “ftp://” protokola već bio onemogućen (na primjer, zaustavljeno je prikazivanje HTML dokumenata i README datoteka), upotreba FTP-a je bila zabranjeno prilikom preuzimanja podresursa iz dokumenata, a podrška za proxy je ukinuta za FTP. Međutim, i dalje je bilo moguće preuzeti datoteke putem direktnih veza i prikazati sadržaj direktorija.
  • Dodano
    mogućnost korištenja vektorskih SVG slika kao ikone stranice (favicon).

  • Mogućnost selektivnog onemogućavanja određenih tipova podataka koji se prenose tokom sinhronizacije između pretraživača dodata je u podešavanja.
  • Dodato je pravilo za korporativne korisnike s centralnom administracijom BlockExternalExtensions, što vam omogućava da spriječite instalaciju vanjskih dodataka na uređaj.
  • Implementirano prilika jednokratnu provjeru cijelog lanca svojstava ili poziva u JavaScript-u. Na primjer, prilikom pristupa “db.user.name.length” prethodno je bilo potrebno provjeriti definiciju svih komponenti korak po korak, na primjer, kroz “if (db && db.user && db.user.name)”. Sada koristite operaciju "?." možete pristupiti vrijednosti “db?.user?.name?.length” bez preliminarnih provjera i takav pristup neće dovesti do greške. U slučaju problema (ako je neki element obrađen kao null ili nedefiniran)) izlaz će biti “nedefiniran”.
  • JavaScript uvodi novi operator logičke konkatenacije "??", koji vraća desni operand ako je lijevi operand NULL ili nedefiniran, i obrnuto. Na primjer, "const foo = bar ?? 'default string'" ako je bar null, u suprotnom će vratiti vrijednost bara, uključujući kada je bar 0 i ' ', za razliku od operatora "||".
  • U Origin probnom načinu (eksperimentalne funkcije koje zahtijevaju odvojene aktivacija) predloženi API za indeksiranje sadržaja. Origin Trial podrazumijeva mogućnost rada sa navedenim API-jem iz aplikacija preuzetih sa localhost ili 127.0.0.1, ili nakon registracije i primanja posebnog tokena koji važi ograničeno vrijeme za određenu lokaciju. API Indeksiranje sadržaja, pruža metapodatke o sadržaju koji je prethodno bio keširan od strane web aplikacija koje rade u načinu rada Progressive Web Apps (PWS). Aplikacija može sačuvati različite podatke na strani pretraživača, uključujući slike, video zapise i članke, a kada se mrežna veza izgubi, koristiti je koristeći Cache Storage i IndexedDB API. API za indeksiranje sadržaja omogućava dodavanje, pronalaženje i brisanje takvih resursa. U pretraživaču se ovaj API već koristi za ispisivanje liste stranica i multimedijalnih podataka dostupnih za gledanje van mreže.

    Chrome izdanje 80

  • Stabiliziran i sada distribuiran izvan Origin Trials API-ja Contact Picker, omogućavajući korisniku da izabere unose iz adresara i prenese određene detalje o njima na stranicu. Zahtjev specificira listu svojstava koja treba dohvatiti. Ova svojstva se eksplicitno prikazuju korisniku, koji odlučuje da li će proslediti ova svojstva ili ne. API se može koristiti, na primjer, u klijentu web pošte za odabir primatelja za poslano pismo, u web aplikaciji s VoIP funkcijom za iniciranje poziva na određeni broj ili na društvenoj mreži za traženje već registriranih prijatelja . Istovremeno, u okviru Origin Trials-a, nude se i neka nova svojstva Contact Picker-a: pored prethodno dostupnog punog imena, e-pošte i broja telefona, dodana je mogućnost prijenosa adrese e-pošte i slike.
  • U Web Workers predložio novi način učitavanja ECMAScript modula, koji vam omogućava da izbjegnete korištenje funkcije importScripts() koja blokira radnika dok obrađuje uvezenu skriptu i izvršava je u globalnom kontekstu. Nova metoda uključuje kreiranje posebnih modula za web radnike koji podržavaju standardne JavaScript mehanizme uvoza i mogu se dinamički učitavati bez blokiranja izvršavanja radnika. Za učitavanje modula, Worker konstruktor pruža novi tip resursa - 'module':

    const worker = new Worker('worker.js', {
    upišite: 'modul'
    });

  • Implementirano Ugrađena sposobnost JavaScripta za obradu komprimiranih tokova bez potrebe za korištenjem vanjskih biblioteka. API-ji su dodani za kompresiju i dekompresiju CompressionStream i DecompressionStream. Podržana je kompresija pomoću gzip i deflate algoritama.

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

  • Dodato CSS svojstvo "prelom reda: bilo gdje", koji dozvoljava prekide na nivou bilo kojeg tipografskog znaka, uključujući prelome u blizini interpunkcijskih znakova unaprijed definiranih razmacima ( ) iu sredini riječi. Također je dodano CSS svojstvo "overflow-wrap: bilo gdje» omogućava vam da prekinete neprekinute nizove znakova bilo gdje ako se u redu ne može pronaći odgovarajuća pozicija za prekid.
  • Za medijski kontekst obrađen u šifriranom obliku, implementirana je podrška za metodu MediaCapabilities.decodingInfo(), koji pruža informacije o mogućnostima pretraživača za dekodiranje zaštićenog sadržaja (na primjer, ovaj metod se može koristiti za odabir visokokvalitetnih ili energetski efikasnih scenarija dekodiranja na osnovu dostupnog propusnog opsega i veličine ekrana).
  • Dodata metoda HTMLVideoElement.getVideoPlaybackQuality(), putem kojeg možete dobiti informacije o performansama reprodukcije video zapisa kako biste podesili bitrate, rezoluciju i druge video parametre.
  • U API-ju Payment Handler, što pojednostavljuje integraciju sa postojećim platnim sistemima, dodala je mogućnost delegacija obradu adresa i kontakt informacija eksternom procesoru platnog sistema (aplikacija platnog sistema može imati tačnije informacije od pretraživača).
  • Dodata podrška za HTTP zaglavlje Sec-Fetch-Dest, koji vam omogućava da pošaljete dodatne metapodatke o vrsti sadržaja povezanog sa zahtjevom (na primjer, za zahtjev preko img oznake, tip je “image”, za fontove – “font”, za skripte – “script”, za stilove - „stil“ itd.). Na osnovu navedenog tipa, server može poduzeti mjere za zaštitu od određenih vrsta napada (na primjer, malo je vjerovatno da će veza do rukovatelja za prijenos novca biti navedena preko img oznake, tako da takvi zahtjevi ne moraju biti biti obrađen).
  • U JavaScript motoru V8 izvršena optimizacija pohranjivanje pokazivača na hrpu. Umjesto pohranjivanja pune 64-bitne vrijednosti, pohranjuju se samo jedinstveni niži bitovi pokazivača. Ova optimizacija je omogućila smanjenje potrošnje memorije gomile za 40%, po cenu smanjenja performansi od 3-8%.
    Chrome izdanje 80

    Chrome izdanje 80

  • Promjene u alatima za web programere:
    • Web konzola sada ima mogućnost redefiniranja let i class izraza.

      Chrome izdanje 80

    • Poboljšani WebAssembly alati za otklanjanje grešaka. Dodata podrška DWARF za otklanjanje grešaka korak po korak, određivanje tačaka prekida i analizu tragova steka u izvornom kodu u kojem je napisana WebAssembly aplikacija.

      Chrome izdanje 80

    • Poboljšan panel za analizu mrežne aktivnosti. Dodata mogućnost pregleda lanca poziva skripti povezanih sa pokretanjem zahtjeva.

      Chrome izdanje 80

      Dodane nove kolone Putanja i URL koje prikazuju apsolutnu putanju i puni URL za svaki mrežni resurs. Osigurava da je odabrani upit istaknut u dijagramu pregleda.

      Chrome izdanje 80

    • Na kartici Mrežni uvjeti dodana je opcija za promjenu parametra User-Agent.

      Chrome izdanje 80

    • Predloženo je novo sučelje za konfiguraciju revizorskog panela.
      Chrome izdanje 80

    • Na kartici pokrivenost omogućio je izbor prikupljanja podataka o pokrivenosti za svaku funkciju ili za svaki blok koda (detaljnija statistika, ali zahtijeva više resursa).

      Chrome izdanje 80

  • AppCache manifest akcija (tehnologija za organiziranje rada web aplikacije u offline modu) ograničen trenutni direktorijum sajta (ako je manifest preuzet sa www.example.com/foo/bar/, tada će mogućnost zamene URL-a raditi samo unutar /foo/bar/). Planirano je da se podrška za AppCache potpuno ukloni u Chromeu 82. Naveden razlog je želja da se riješi jedan od vektora za napade skriptiranja na više lokacija. Preporučljivo je koristiti API umjesto AppCache-a cache.
  • Prekinut podrška za naslijeđeni WebVR 1.1 API, koji se može zamijeniti API-jem WebXR uređaj, koji vam omogućava pristup komponentama za kreiranje virtuelne i proširene stvarnosti i objedinjavanje rada sa različitim klasama uređaja, od stacionarnih kaciga za virtuelnu stvarnost do rešenja baziranih na mobilnim uređajima.
  • Rukovaoci protokola povezani preko metoda registerProtocolHandler() i unregisterProtocolHandler() sada mogu raditi samo u sigurnom kontekstu (kada im se pristupa putem HTTPS-a).

Pored inovacija i ispravki grešaka, nova verzija eliminiše 56 ranjivosti. Mnoge ranjivosti su identifikovane kao rezultat automatizovanog testiranja pomoću alata AdresaSanitizer, MemorySanitizer, Kontrola integriteta toka, LibFuzzer и AFL. Nisu identifikovani kritični problemi koji bi omogućili da se zaobiđu svi nivoi zaštite pretraživača i izvrši kod na sistemu izvan okruženja sandbox-a. Kao dio programa za isplatu novčanih nagrada za otkrivanje ranjivosti za trenutno izdanje, Google je isplatio 37 nagrada u vrijednosti od 48 hiljada dolara (jedna nagrada od 10000 dolara, tri nagrade od 5000 dolara, tri nagrade od 3000 dolara, četiri nagrade od 2000 dolara, tri nagrade od 1000 dolara i šest nagrada od 500 dolara). Veličina od 17 nagrada još nije određena.

izvor: opennet.ru

Dodajte komentar