Chrome izdanje 74

Google predstavio izdanje web preglednika Chrome 74... Istovremeno dostupno stabilno izdanje besplatnog projekta Krom, koji služi kao osnova Chromea. Chrome preglednik drugačiji korištenje Googleovih logotipa, mogućnost preuzimanja Flash modula na zahtjev, prisutnost sustava za slanje obavijesti u slučaju pada, moduli za reprodukciju zaštićenog video sadržaja, sustav za automatsko instaliranje ažuriranja i prijenos tijekom pretraživanja RLZ parametri. Sljedeće izdanje Chromea 75 zakazano je za 4. lipnja.

Glavni promjena в krom 74:

  • Kada se dogodi događaj onUnload, koji se poziva kada se stranica zatvori, sada To je zabranjeno prikaz skočnih prozora (poziv window.open() je blokiran), koji će zaštititi korisnike od prisilnog otvaranja reklamnih stranica nakon zatvaranja sumnjivih stranica;
  • U JavaScript motoru implementiran pojavio se novi režim JIT-manje (oznaka “—jitless”), koja omogućuje izvršavanje JavaScripta bez upotrebe JIT-a (koristi se samo interpreter) i bez dodjele izvršne memorije tijekom izvođenja koda. Onemogućavanje JIT-a može biti korisno za poboljšanje sigurnosti pri radu s potencijalno opasnim web-aplikacijama, kao i za osiguravanje nadogradnji na platformama koje zabranjuju upotrebu JIT-a (na primjer, iOS, neki pametni televizori i igraće konzole. Kada je JIT onemogućen, izvršavanje JavaScripta izvedba se smanjuje za 40% u Speedometer 2.0 testu i 80% u Web Tooling Benchmark testu, no kod simulacije rada s YouTubeom došlo je do samo 6% smanjenja performansi, dok se potrošnja memorije neznatno smanjila, za samo 1.7%;
  • V8 također nudi veliki dio novih optimizacija. Na primjer, izvršavanje poziva funkcija u kojima broj stvarno proslijeđenih parametara ne odgovara broju argumenata navedenih prilikom definiranja funkcije ubrzano je za 60%. Pristup DOM svojstvima pomoću get funkcije je ubrzan, što ima pozitivan utjecaj na performanse Angular frameworka. JavaScript parsiranje je ubrzano: optimizacija UTF-8 dekodera omogućila je povećanje performansi parsera u strujanju (parsiranje dok se učitava) za 8%, a uklanjanje nepotrebnih operacija deduplikacije dalo je povećanje od dodatnih 10.5%;
  • Radilo se na smanjenju potrošnje memorije JavaScript motora.
    Dodan kod za brisanje predmemorije bajt koda, koja zauzima otprilike 15% ukupne veličine hrpe. Sakupljaču smeća dodan je stupanj za izbacivanje rijetko kompajliranog bajt koda iz predmemorije za funkcije koje se koriste ili funkcije koje se pozivaju samo nakon inicijalizacije. Odluka o čišćenju donosi se na temelju novih brojača koji uzimaju u obzir posljednji put kada je pristupljeno bajt-kodu. Ova je promjena smanjila potrošnju memorije za 5–15% bez negativnog utjecaja na performanse. Dodatno, kompilator bajt-koda isključuje generiranje očito neiskorištenog koda, na primjer, koji slijedi nakon povratka ili prekida (ako nema prijelaza skoka na njega);

    Chrome izdanje 74

  • Za WebAssembly implementiran podrška za niti i atomske operacije (API WebAssembly Threads i WebAssembly Atomics);
  • Za odvojenu isporuku skripti, dodana je podrška za zaglavlje "#!", koje određuje prevoditelj koji će se pokrenuti. Na primjer, slično drugim skriptnim jezicima, JavaScript datoteka može izgledati otprilike ovako:

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

  • Novi medijski upit je dodan u CSS "preferira-smanjeno-kretanje“, omogućujući stranici da odredi stanje postavki u operativnom sustavu koje se odnose na onemogućavanje animiranih efekata. Koristeći predloženi zahtjev, vlasnik stranice može otkriti da je korisnik onemogućio animirane efekte i također onemogućiti razne značajke animacije na web mjestu, na primjer, ukloniti učinak podrhtavanja gumba koji se koriste za privlačenje pažnje;
  • Uz mogućnost definiranja javnih polja uvedenih u Chromeu 72 implementirana podrška Označavanje polja kao privatnih, nakon čega će pristup njihovim vrijednostima biti otvoren samo unutar klase. Da biste označili polje 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ćuje kontrolu ponašanja API-ja i omogućavanje određenih značajki (na primjer, možete omogućiti sinkroni način rada XMLHttpRequest ili onemogućiti Geolocation API). JavaScript API kontrolirati djelatnost određenih prilika. Za programere postoje dvije nove metode document.featurePolicy i frame.featurePolicy koje nude tri funkcije:
    allowedFeatures() za dobivanje popisa dopuštenih značajki za trenutnu domenu, allowFeature() za selektivnu provjeru jesu li određene značajke omogućene i getAllowlistForFeature() za vraćanje popisa domena za koje je određena značajka dopuštena na trenutnoj stranici;

  • Dodana eksperimentalna (“chrome://flags#enable-text-fragment-anchor”) podrška za način Pomicanje do teksta, koji vam omogućuje da formirate veze na pojedinačne riječi ili fraze, bez eksplicitnog navođenja oznaka u dokumentu pomoću oznake "a name" ili svojstva "id". Za slanje veze nudi se poseban parametar “#targetText=” u kojem možete odrediti tekst za prijelaz. Dopušteno je navesti masku koja uključuje izraze koji označavaju početak i kraj fragmenta koristeći zarez kao razdjelnik (na primjer, "example.com#targetText=start%20words, end%20words");
  • Konstruktoru AudioContext dodana je opcija uzorak stope, koji vam omogućuje postavljanje brzine uzorkovanja za audio operacije putem Web Audio API-ja;
  • Dodana podrška za klasu Intl.Locale, koji pruža metode za raščlanjivanje i obradu parametara jezika, regije i stila postavljenih lokalizacijom, kao i za čitanje i pisanje Unicode oznaka ekstenzije, spremanje korisničkih postavki lokalizacije u serijaliziranom formatu;
  • mehanizam Potpisane HTTP razmjene (SXG) proširen alatima za informiranje distributerima sadržaja o pogreškama pri preuzimanju potpisanog sadržaja, kao što su problemi s provjerom certifikata. Rješavanje pogrešaka vrši se putem API ekstenzija Bilježenje mrežnih grešaka. Podsjetimo da je SXG to omogućuje vlasnik jedne stranice digitalnim potpisom autorizira postavljanje određenih stranica na drugu stranicu, nakon čega, ako se tim stranicama pristupi na drugoj stranici, preglednik će korisniku prikazati URL izvorne stranice, unatoč činjenici da da je stranica učitana s drugog hosta;
  • Klasi TextEncoder dodana je metoda encodeInto(), koji vam omogućuje pisanje kodiranog niza izravno u unaprijed dodijeljeni međuspremnik. Metoda encodeInto() alternativa je visokih performansi metodi encode(), koja zahtijeva izvođenje operacije dodjele međuspremnika svaki put kada joj se pristupi.
  • Uslužni radnik osiguran spremanje u međuspremnik poziva client.postMessage() dok dokument ne bude spreman. Poruke poslane putem client.postMessage() bit će zadržane dok se ne pokrene događaj DOMContentLoaded, postavi onmessage ili pozove startMessages();
  • Kao što zahtijeva specifikacija CSS Transitions dodao conversionrun, conversioncancel, conversionstart i conversionend događaji generirani kada je CSS prijelaz u redu čekanja, otkazan, počinje ili završava s izvođenjem.
  • Kada navedete netočno kodiranje znakova putem overrideMimeType() ili MIME tipa za XMLHttpRequest, sada se vraća na UTF-8 umjesto na Latin-1;
  • Svojstvo "dopusti-preuzimanja-bez-korisničke-aktivacije", putem kojeg je bilo moguće automatski preuzeti datoteke prilikom obrade iframeova, zastarjelo je i bit će uklonjeno u budućem izdanju. Ubuduće će pokretanje preuzimanja datoteka bez eksplicitne radnje korisnika biti zabranjeno jer se aktivno koristilo za zlouporabu, prisilno preuzimanje i umetanje dijelova zlonamjernog softvera na računalo korisnika. Za početak preuzimanja bit će potreban korisnikov klik na istoj stranici. Izvorno je planirano da se svojstvo ukloni u pregledniku Chrome 74, ali je uklanjanje bilo odgođeno do Chrome 76.
  • Opcijska tamna tema za dizajn sučelja nudi se za Windows platformu (u prethodnom izdanju, tamna tema je bila pripremljena za macOS). Budući da je tamni dizajn gotovo identičan dizajnu u anonimnom načinu rada, umjesto ikone korisničkog profila dodan je poseban indikator za isticanje privatnog načina rada;
  • Dodana je prilika za korporativne korisnike Upravljanje oblakom preglednika Chrome za upravljanje postavkama korisničkog preglednika putem Google Admin console;

    Chrome izdanje 74

Uz inovacije i ispravke pogrešaka, nova verzija eliminira 39 ranjivosti. Mnoge su ranjivosti identificirane kao rezultat automatiziranog testiranja pomoću alata AddressSanitizer, Sredstvo za čišćenje memorije, Integritet protoka kontrole, LibFuzzer и AFL. Nisu identificirani kritični problemi koji bi omogućili zaobilaženje svih razina zaštite preglednika i izvršavanje koda na sustavu izvan okruženja sandboxa. U sklopu programa isplate 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