Izdaja Chrome 74

Podjetje Google je predstavilo izdajo spletnega brskalnika Chrome 74. Hkrati je na voljo stabilna izdaja odprtokodnega projekta Chromium, ki služi kot osnova za Chrome. Brskalnik Chrome se razlikuje z uporabo logotipov Google, možnostjo nalaganja modula Flash na zahtevo, obstojo sistema za pošiljanje obvestil v primeru zrušitve, moduli za predvajanje zaščitenih video vsebin, sistemom samodejne namestitve posodobitev in prenosi med iskanjem RLZ-parametrov. Naslednja različica Chrome 75 je načrtovana za 4. junij.

Glavne spremembe u Chrome 74:

  • Ob dogodku onUnload, ki se sproži ob zapiranju strani, zdaj zabranjena prikazuje pojavna okna (klic window.open() je blokiran), kar omogoča zaščito uporabnikov pred prisilnim odpiranjem oglasnih strani po zapiranju dvomljivih spletnih mest;
  • V JavaScript motorju je bila uvedena je na voljo nov način JIT-less (zastavica «—jitless»), ki omogoča izvajanje JavaScript-a brez uporabe JIT (samo interpreter se uporablja) in brez dodeljevanja izvršilne pomnilnika med izvajanjem kode. Onemogočanje JIT je lahko koristno za povečanje spletne varnosti pri delu s potencialno nevarnimi spletnimi aplikacijami ter za zagotavljanje sestavljanja na platformah, ki prepovedujejo uporabo JIT (na primer, v iOS, nekaterih pametnih televizorjih in igralnih konzolah). Ko je JIT onemogočen, se zmogljivost izvajanja JavaScript-a zmanjša za 40% v testu Speedometer 2.0 in za 80% v testu Web Tooling Benchmark, vendar je pri simulaciji dela z YouTube-om zaznano zmanjšanje zmogljivosti le za 6%. Hkrati se poraba pomnilnika zmanjša zanemarljivo, le za 1.7%;
  • V V8 je bila predstavljena tudi večja količina novih optimizacij. Na primer, izvajanje klicev funkcij, kjer se število dejansko predanih parametrov ne ujema s številom argumentov, navedenim pri definiciji funkcije, je bilo pospešeno za 60%. Pospešen je dostop do lastnosti DOM z uporabo funkcije get, kar je pozitivno vplivalo na zmogljivost ogrodja Angular. Pospešeno je delovanje parsanja JavaScript-a: optimizacija kodiranja UTF-8 je omogočila povečanje zmogljivosti parserja v načinu streaming (razčlenitev med nalaganjem) za 8%, medtem ko je izključitev odvečnih operacij deduplikacije prinesla še 10.5% povečanje;
  • Izvedeno je bilo delo na zmanjšanju porabe pomnilnika JavaScript motorja.
    Dodano je kod za brisanje bytecode keša, koji zauzima otprilike 15% ukupne veličine hrpe. U sakupljač otpada dodata je faza za uklanjanje iz keša retko kompajliranog bytecodea za korišćene funkcije ili funkcije koje se pozivaju samo prilikom inicijalizacije. Odluka o čišćenju donosi se na osnovu novih brojila, uzimajući u obzir poslednje vreme pristupa bytecodeu. Ovo poboljšanje omogućilo je smanjenje korišćenja memorije za 5–15% bez negativnog uticaja na performanse. Dodatno, u bytecode kompajleru je isključena generacija unapred neiskorišćenog koda, na primer, onog koji se nalazi posle return ili break (ako na njega nema Jump-prelaza);

    Izdaja Chrome 74
  • Za WebAssembly je bila uvedena podrška za niti i atomarne operacije (API WebAssembly Threads i WebAssembly Atomics);
  • Za posebnu isporuku skripti dodana je podrška za zaglavlje «#!», koje definiše interpretator za izvršavanje. Na primer, u skladu s drugim skriptnim jezicima, JavaScript fajl može izgledati otprilike ovako:

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

  • U CSS-u je dodat novi media upit «prefers-reduced-motion«, koji omogućava sajtu da odredi stanje podešavanja u operativnom sistemu vezano za isključivanje animiranih efekata. Pomoću ovog upita vlasnik sajta lahko može saznati da je korisnik isključio animirane efekte i takođe onemogućiti razne animacione mogućnosti na sajtu, na primer, ukloniti efekat trešnje dugmadi koje se koriste za privlačenje pažnje;
  • Pored mogućnosti koja je uvedena u Chrome 72 za određivanje javnih polja implementirana je podrška za označavanje polja kao privatnih, nakon čega će pristup njihovim vrednostima biti otvoren samo unutar klase. Da biste označili polje kao privatno, treba ispred imena polja navesti znak «#». Kao i u slučaju javnih polja, privatna svojstva ne zahtevaju eksplicitno korišćenje konstruktora.
  • HTTP zaglavlje Feature-Policy, koje omogućava upravljanje ponašanjem API-ja i aktivacijom određenih mogućnosti (na primer, može se uključiti sinhroni rad XMLHttpRequest-a ili isključiti Geolocation API), dopunjeno je JavaScript API-jem za kontrolu aktivnosti tih ili onih mogućnosti. Programerima su ponuđena dva nova metoda document.featurePolicy i frame.featurePolicy, koji nude tri funkcije:
    allowedFeatures() za dobivanje popisa dopuštenih funkcija za trenutno domen, allowsFeature() za selektivnu provjeru uključivanja određenih mogućnosti i getAllowlistForFeature() za prikaz popisa domena za koje je određena mogućnost dopuštena na trenutnoj stranici;
  • Dodana je eksperimentalna podrška za način («chrome://flags#enable-text-fragment-anchor»), Scroll-To-Textomogućujući oblikovanje linkova na određene riječi ili fraze bez izričitog navođenja oznaka u dokumentu pomoću taga «a name» ili svojstva «id». Za prijenos linka koristi se poseban parametar «#targetText=», u kojem se može navesti tekst za prijelaz. Dopušteno je navođenje maske koja uključuje fraze koje označavaju početak i kraj fragmenta, koristeći zarez kao njihov razdjelnik (na primjer, «example.com#targetText=startwords, endwords»);
  • U AudioContext konstruktor je dodana opcija sampleRate, koja omogućuje postavljanje frekvencije uzorkovanja za zvučne operacije putem Web Audio API-ja;
  • Dodana je bila podpora za razred Intl.Locale, koja pruža metode za analizu i obradu lokalnih postavki jezika, regije i tipografije, kao i za čitanje i pisanje Unicode ekstenzijskih oznaka i za pohranu korisničkih lokalnih postavki u serijaliziranom formatu;
  • Mehanizem Signed HTTP Exchanges (SXG) proširen alatima za obveščanje distributere sadržaja o greškama pri učitavanju potpisanog sadržaja, poput problema s verifikacijom certifikata. Obrada grešaka vrši se putem API ekstenzija Network Error Logging. Podsjetimo, SXG omogućava omogućava vlasnicima jedne web stranice autorizaciju postavljanja određenih stranica na drugoj web stranici putem digitalnog potpisa, nakon čega će, kada se pristupi tim stranicama na drugoj web stranici, preglednik korisniku prikazati URL izvorne web stranice, bez obzira na to što je stranica učitana s drugog hosta;
  • U klasu TextEncoder dodana je metoda encodeInto(), koja omogućuje zapisivanje kodirane 문자열 direktno u prethodno dodijeljeni buffer. Metoda encodeInto() je visoko performansna alternativa metodi encode(), koja zahtijeva vršenje operacije dodjele buffera pri svakoj upiti.
  • U Service workeru je zagotovljena bufferizacija poziva client.postMessage() do spremnosti dokumenta. Poruke poslane putem client.postMessage() bit će zadržane do faze generiranja DOMContentLoaded događaja, postavljanja onmessage ili pozivanja startMessages();
  • V skladu z zahtevami specifikacije CSS prehodov dodano dogodki transitionrun, transitioncancel, transitionstart in transitionend, ki se generirajo, ko je CSS-prehod v čakalni vrsti, preklican, začet ali končan.
  • Pri uporabi overrideMimeType() ali nepravilen MIME tip kodiranja znakov za XMLHttpRequest, se sedaj izvaja povrnitev na UTF-8 namesto Latin-1;
  • Lastnost „allow-downloads-without-user-activation“, ki je omogočila samodejno prenašanje datotek med obdelavo iframe, je razglašena za zastarelo in bo odstranjena v eni od naslednjih izdaj. V prihodnje bo zagon prenosa datotek brez izrecnega dejanja uporabnika prepovedan, saj se je aktivno uporabljal za zlorabe, vsiljevanje prenosov in vstavljanje delov zlonamerne programske opreme na uporabnikov računalnik. Za začetek prenosa bo obvezen uporabnikov klik na isti strani. Sprva je bilo načrtovano odstraniti lastnost v Chrome 74, vendar je bilo to odstranjeno odloženo do Chrome 76.
  • Za platformo Windows je na voljo opcijska temna tema uporabniškega vmesnika (prejšnje izdaje so temno temo pripravile za macOS). Ker je temna tema skoraj identična oblikovanju v incognito načinu, je za poudarjanje zasebnega delovanja namesto ikone uporabniškega profila dodan poseben indikator;
  • Za poslovne uporabnike je bila dodana možnost Chrome Browser Cloud Management za upravljanje nastavitev brskalnikov uporabnikov prek konzole Google Admin;

    Izdaja Chrome 74

Poleg novih funkcionalnosti in odpravljanja napak je v novi različici odpravljeno 39 ranljivostiŠtevilne od ranljivosti so bile ugotovljene z uporabo avtomatiziranega testiranja orodij AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer in AFL. Kritičnih težav, ki omogočajo obhod vseh ravni zaščite brskalnika in izvajanje kode v sistemu zunaj sandbox okolja, ni bilo zaznanih. V okviru programa za nagrajevanje za odkrivanje ranljivosti je podjetje Google v trenutni izdaji podelilo 19 nagrad v skupni višini 26.837 dolarjev (štiri nagrade po 3.000 dolarjev, štiri nagrade po 2.000 dolarjev, ena nagrada po 1.337 dolarjev, štiri nagrade po 1.000 dolarjev, tri nagrade po 500 dolarjev). Višina 4 nagrad še ni določena.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster