Chrome izdanje 74

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

Glavni promjena в Chrome 74:

  • Kada se dogodi događaj onUnload, koji se poziva kada se stranica zatvori, sada je zabranjeno prikaz iskačućih prozora (poziv window.open() je blokiran), koji će zaštititi korisnike od prisiljavanja da otvaraju reklamne stranice nakon zatvaranja sumnjivih stranica;
  • U JavaScript motoru implementirano pojavio se novi režim Bez JIT-a (“—jitless” zastavica), što omogućava izvršavanje JavaScripta bez upotrebe JIT-a (koristi se samo interpreter) i bez dodjeljivanja izvršne memorije tokom izvršavanja koda. Onemogućavanje JIT-a može biti korisno za poboljšanje sigurnosti pri radu s potencijalno opasnim web aplikacijama, kao i za osiguranje izgradnje na platformama koje zabranjuju korištenje JIT-a (na primjer, iOS, neki pametni televizori i konzole za igre. Kada je JIT onemogućen, izvršavanje JavaScripta performanse su smanjene za 40% u Speedometer 2.0 testu i 80% u Web Tooling Benchmark testu, ali kada se simulira rad sa YouTube-om, došlo je do smanjenja performansi za samo 6%, dok je potrošnja memorije blago smanjena, za samo 1.7%;
  • V8 također nudi veliki dio novih optimizacija. Na primjer, izvršenje poziva funkcije u kojima broj stvarno proslijeđenih parametara ne odgovara broju argumenata specificiranih prilikom definiranja funkcije je ubrzano za 60%. Pristup DOM svojstvima pomoću funkcije get je ubrzan, što ima pozitivan uticaj na performanse Angular okvira. JavaScript raščlanjivanje je ubrzano: optimizacija UTF-8 dekodera je omogućila povećanje performansi parsera u režimu striminga (parsiranje dok se učitava) za 8%, a eliminisanje nepotrebnih operacija deduplikacije dalo je povećanje od još 10.5%;
  • Rad je obavljen na smanjenju potrošnje memorije JavaScript motora.
    Dodan kod za brisanje predmemorije bajtkoda, koji zauzima otprilike 15% ukupne veličine hrpe. Faza je dodana sakupljaču smeća za izbacivanje rijetko kompajliranog bajt koda iz keša za funkcije koje se koriste ili funkcije koje se pozivaju samo nakon inicijalizacije. Odluka o čišćenju se donosi na osnovu novih brojača koji uzimaju u obzir posljednji put kada se pristupilo bajtkodu. Ova promjena smanjila je potrošnju memorije za 5–15% bez negativnog utjecaja na performanse. Dodatno, kompajler bajtkoda isključuje generisanje očigledno neiskorištenog koda, na primjer, koji slijedi nakon povratka ili prekida (ako na njega nema skoka);

    Chrome izdanje 74

  • Za WebAssembly implementirano podrška za niti i atomske operacije (API WebAssembly Threads i WebAssembly Atomics);
  • Za odvojenu isporuku skripti, dodata je podrška za zaglavlje “#!”, koje određuje da se interpretator pokrene. Na primjer, slično drugim skriptnim jezicima, JavaScript datoteka može izgledati otprilike ovako:

    #!/usr/bin/env čvor
    console.log(42);

  • Novi medijski upit je dodan u CSS "preferes-reduced-motion“, omogućavajući sajtu da odredi stanje postavki u operativnom sistemu koje se odnose na onemogućavanje animiranih efekata. Koristeći predloženi zahtjev, vlasnik stranice moći saznati da je korisnik onemogućio animirane efekte i također onemogućio razne značajke animacije na web-mjestu, na primjer, ukloniti efekat podrhtavanja dugmadi koji se koriste za privlačenje pažnje;
  • Pored mogućnosti definiranja javnih polja uvedene u Chrome 72 podrška implementirana Označavanje polja kao privatnih, nakon čega će pristup njihovim vrijednostima biti otvoren samo unutar klase. Da biste polje označili kao privatno, dodajte znak "#" ispred naziva polja. Kao i kod javnih polja, privatna svojstva ne zahtijevaju eksplicitnu upotrebu konstruktora.
  • Dodano je HTTP zaglavlje Feature-Policy, koje vam omogućava da kontrolirate ponašanje API-ja i omogućite određene funkcije (na primjer, možete omogućiti sinhroni način rada XMLHttpRequest ili onemogućiti Geolocation API). JavaScript API da kontroliše aktivnost određenih mogućnosti. Za programere, postoje dvije nove metode document.featurePolicy i frame.featurePolicy, koje nude tri funkcije:
    allowFeature() da dobije listu funkcija dozvoljenih za trenutnu domenu, enableFeature() da selektivno proveri da li su određene funkcije omogućene i getAllowlistForFeature() da vrati listu domena za koje je određena funkcija dozvoljena na trenutnoj stranici;

  • Dodata eksperimentalna (“chrome://flags#enable-text-fragment-anchor”) podrška za način rada Scroll-To-Text, koji vam omogućava da formirate veze do pojedinačnih riječi ili fraza, bez eksplicitnog navođenja oznaka u dokumentu pomoću oznake “a name” ili svojstva “id”. Za slanje linka nudi se poseban parametar “#targetText=” u kojem možete odrediti tekst za prijelaz. Dozvoljeno je navesti masku koja uključuje fraze koje označavaju početak i kraj fragmenta koristeći zarez kao njihov separator (na primjer, “example.com#targetText=početak%20riječi, kraj%20riječi”);
  • Dodata je opcija konstruktoru AudioContext sampleRate, koji vam omogućava da postavite stopu uzorkovanja za audio operacije putem Web Audio API-ja;
  • Dodata podrška za klasu Intl.Locale, koji obezbeđuje metode za raščlanjivanje i obradu parametara jezika, regiona i stila postavljenih od strane lokalnog standarda, kao i za čitanje i pisanje oznaka proširenja Unicode, čuvajući korisnička podešavanja lokalizacije u serijalizovanom formatu;
  • Mehanizam Potpisane HTTP razmjene (SXG) proširen alatima za informisanje distributeri sadržaja o greškama u preuzimanju potpisanog sadržaja, kao što su problemi s verifikacijom certifikata. Rukovanje greškama se vrši preko API ekstenzija Evidentiranje mrežnih grešaka. Podsjetimo da je SXG dozvoljava vlasnik jedne stranice, korištenjem digitalnog potpisa, ovlašćuje postavljanje određenih stranica na drugu stranicu, nakon čega, ako se ovim stranicama pristupi na drugoj stranici, pretraživač će korisniku pokazati URL originalne stranice, uprkos činjenici da je stranica učitana sa drugog hosta;
  • Metoda je dodana klasi TextEncoder encodeInto(), što vam omogućava da zapišete kodirani niz direktno u unaprijed dodijeljeni bafer. Metoda encodeInto() je alternativa visokih performansi metodi encode(), koja zahtijeva da se operacija dodjele bafera izvrši svaki put kada joj se pristupi.
  • U servisnom radniku osiguran baferovanje poziva client.postMessage() dok dokument ne bude spreman. Poruke poslane putem client.postMessage() će se zadržati sve dok se ne pokrene događaj DOMContentLoaded, ne postavi onmessage ili se pozove startMessages();
  • Kao što zahtijeva specifikacija CSS Transitions dodano Događaji tranzicije, tranzicionog pokretanja, početka tranzicije i završetka tranzicije koji se generišu kada se CSS tranzicija stavi u red čekanja, otkaže, započne ili završi izvršavanje.
  • Kada navedete neispravno kodiranje znakova preko overrideMimeType() ili MIME tipa za XMLHttpRequest, sada se vraća na UTF-8 umjesto na Latin-1;
  • Svojstvo “allow-downloads-without-user-activation”, putem kojeg je bilo moguće automatski preuzimati datoteke prilikom obrade iframes-ova, zastarjelo je i bit će uklonjeno u budućem izdanju. Ubuduće će biti zabranjeno pokretanje preuzimanja datoteka bez eksplicitne radnje korisnika, jer se aktivno koristi za zloupotrebu, prisilno preuzimanje i ubacivanje dijelova zlonamjernog softvera na računar korisnika. Korisnik će kliknuti na istu stranicu da započne preuzimanje. Prvobitno je planirano da se nekretnina ukloni u Chromeu 74, ali je uklanjanje bilo odloženo do Chrome 76.
  • Opciona tamna tema za dizajn interfejsa je ponuđena za Windows platformu (u prethodnom izdanju tamna tema je pripremljena za macOS). Budući da je tamni dizajn gotovo identičan dizajnu u anonimnom načinu rada, dodat je poseban indikator umjesto ikone korisničkog profila kako bi se istaknuo privatni način rada;
  • Dodata je mogućnost za korporativne korisnike Upravljanje oblakom Chrome pretraživača za upravljanje postavkama preglednika korisnika putem Google Admin konzole;

    Chrome izdanje 74

Pored inovacija i ispravki grešaka, nova verzija eliminiše 39 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. U okviru programa za isplatu novčanih nagrada za otkrivanje ranjivosti za trenutno izdanje, Google je isplatio 19 nagrada u iznosu od 26837 dolara (četiri nagrade od 3000 dolara, četiri nagrade od 2000 dolara, jedna nagrada od 1337 dolara, četiri nagrade od 1000 dolara, tri nagrade od 500 dolara). Veličina 4 nagrade još nije određena.

izvor: opennet.ru

Dodajte komentar