Izdaja Chrome 74

Google predstavljeno izdaja spletnega brskalnika Chrome 74... Hkrati na voljo stabilna izdaja brezplačnega projekta krom, ki je osnova Chroma. Brskalnik Chrome drugačna uporaba Googlovih logotipov, možnost prenosa modula Flash na zahtevo, prisotnost sistema za pošiljanje obvestil v primeru zrušitve, moduli za predvajanje zaščitene video vsebine, sistem za samodejno nameščanje posodobitev in prenos med iskanjem parametri RLZ. Naslednja izdaja Chroma 75 je predvidena za 4. junij.

Glavni Spremembe в Krom 74:

  • Ko se zgodi dogodek onUnload, ki se kliče, ko je stran zaprta, zdaj Je prepovedano prikaz pojavnih oken (klic window.open() je blokiran), kar bo uporabnike zaščitilo pred prisilnim odpiranjem oglaševalskih strani po zaprtju dvomljivih mest;
  • V mehanizmu JavaScript izvajati pojavil se je nov režim JIT-manj (zastavica »—jitless«), ki omogoča izvajanje JavaScripta brez uporabe JIT (uporablja se samo tolmač) in brez dodeljevanja izvršljivega pomnilnika med izvajanjem kode. Onemogočanje JIT je lahko koristno za izboljšanje varnosti pri delu s potencialno nevarnimi spletnimi aplikacijami, pa tudi za zagotavljanje gradenj na platformah, ki prepovedujejo uporabo JIT (na primer iOS, nekateri pametni televizorji in igralne konzole. Ko je JIT onemogočen, izvajanje JavaScripta zmogljivost se zmanjša za 40 % pri testu Speedometer 2.0 in za 80 % pri testu Web Tooling Benchmark, pri simulaciji dela z YouTubom pa je prišlo do zmanjšanja zmogljivosti le za 6 %, medtem ko se je poraba pomnilnika nekoliko zmanjšala, le za 1.7 %;
  • V8 ponuja tudi velik del novih optimizacij. Na primer, izvajanje funkcijskih klicev, pri katerih število dejansko posredovanih parametrov ne ustreza številu argumentov, navedenih pri definiranju funkcije, je bilo pospešeno za 60 %. Dostop do lastnosti DOM z uporabo funkcije get je bil pospešen, kar pozitivno vpliva na delovanje ogrodja Angular. Razčlenjevanje JavaScripta je bilo pospešeno: optimizacija dekodirnika UTF-8 je omogočila povečanje zmogljivosti razčlenjevalnika v pretočnem načinu (razčlenjevanje med nalaganjem) za 8 %, odprava nepotrebnih operacij deduplikacije pa je povečala še za 10.5 %;
  • Opravljeno je bilo delo za zmanjšanje porabe pomnilnika motorja JavaScript.
    Dodana koda za brisanje predpomnilnika bajtne kode, ki zavzema približno 15 % celotne velikosti kopice. Zbiralniku smeti je bila dodana stopnja za izločitev redko prevedene bajtne kode iz predpomnilnika za funkcije, ki se uporabljajo, ali funkcije, ki so priklicane samo ob inicializaciji. Odločitev o čiščenju je sprejeta na podlagi novih števcev, ki upoštevajo zadnji čas dostopa do bajtne kode. Ta sprememba je zmanjšala porabo pomnilnika za 5–15 % brez negativnega vpliva na zmogljivost. Poleg tega prevajalnik bajtne kode izključuje generiranje očitno neuporabljene kode, na primer, ki sledi vrnitvi ali prekinitvi (če ni skoka nanjo);

    Izdaja Chrome 74

  • Za WebAssembly izvajati podpora za niti in atomske operacije (API WebAssembly Threads in WebAssembly Atomics);
  • Za ločeno dostavo skriptov je bila dodana podpora za glavo »#!«, ki določa tolmača, ki naj se izvaja. Na primer, podobno kot pri drugih skriptnih jezikih je lahko datoteka JavaScript videti nekako takole:

    #!/usr/bin/env vozlišče
    console.log(42);

  • V CSS je bila dodana nova medijska poizvedba "raje-zmanjšano-gibanje«, kar spletnemu mestu omogoča določitev stanja nastavitev v operacijskem sistemu, povezanih z onemogočanjem animiranih učinkov. Z uporabo predlagane zahteve lastnik mesta lahko ugotoviti, da je uporabnik onemogočil animirane učinke in tudi onemogočiti različne funkcije animacije na spletnem mestu, na primer odstraniti učinek tresenja gumbov, ki se uporabljajo za privabljanje pozornosti;
  • Poleg zmožnosti definiranja javnih polj, uvedenih v Chromu 72 podpora izvedena Označevanje polj kot zasebnih, po katerem bo dostop do njihovih vrednosti odprt samo znotraj razreda. Če želite označiti polje kot zasebno, pred ime polja dodajte znak »#«. Tako kot pri javnih poljih zasebne lastnosti ne zahtevajo eksplicitne uporabe konstruktorja.
  • Dodana je bila glava HTTP Feature-Policy, ki vam omogoča nadzor nad delovanjem API-ja in omogočanje določenih funkcij (lahko na primer omogočite način sinhronega delovanja XMLHttpRequest ali onemogočite Geolocation API). JavaScript API nadzorovati dejavnost določenih priložnosti. Za razvijalce sta na voljo dve novi metodi document.featurePolicy in frame.featurePolicy, ki ponujata tri funkcije:
    allowedFeatures() za pridobitev seznama funkcij, dovoljenih za trenutno domeno, enableFeature() za selektivno preverjanje, ali so določene funkcije omogočene, in getAllowlistForFeature() za vrnitev seznama domen, za katere je navedena funkcija dovoljena na trenutni strani;

  • Dodana eksperimentalna (»chrome://flags#enable-text-fragment-anchor«) podpora za način Scroll-To-Text, ki omogoča oblikovanje povezav do posameznih besed ali besednih zvez, ne da bi izrecno določili oznake v dokumentu z uporabo oznake »a name« ali lastnosti »id«. Za pošiljanje povezave je na voljo poseben parameter “#targetText=”, v katerem lahko določite besedilo za prehod. Dovoljeno je določiti masko, ki vključuje besedne zveze, ki označujejo začetek in konec fragmenta z uporabo vejice kot ločila (na primer »example.com#targetText=start%20words, end%20words«);
  • Konstruktorju AudioContext je bila dodana možnost sampleRate, ki vam omogoča nastavitev stopnje vzorčenja za zvočne operacije prek vmesnika Web Audio API;
  • Dodana podpora za razred Intl.Locale, ki zagotavlja metode za razčlenjevanje in obdelavo jezikovnih, regijskih in slogovnih parametrov, ki jih nastavi področna nastavitev, kot tudi za branje in pisanje razširitvenih oznak Unicode, shranjevanje uporabniških področnih nastavitev v serializiranem formatu;
  • Mehanizem Podpisane izmenjave HTTP (SXG) razširjen z orodji za obveščanje distributerjem vsebin o napakah pri prenosu podpisane vsebine, kot so težave s preverjanjem potrdila. Obravnava napak poteka prek razširitev API-ja Beleženje omrežnih napak. Spomnimo se tega SXG omogoča lastnik enega spletnega mesta z digitalnim podpisom dovoli postavitev določenih strani na drugo spletno mesto, nato pa v primeru dostopa do teh strani na drugem spletnem mestu brskalnik uporabniku prikaže URL prvotnega spletnega mesta, kljub temu, da da je bila stran naložena z drugega gostitelja;
  • V razred TextEncoder je bila dodana metoda encodeInto(), ki vam omogoča pisanje kodiranega niza neposredno v vnaprej dodeljen medpomnilnik. Metoda encodeInto() je visoko zmogljiva alternativa metodi encode(), ki zahteva, da se ob vsakem dostopu do nje izvede operacija dodelitve medpomnilnika.
  • V strežbi delavec zavarovano medpomnjenje klica client.postMessage(), dokler dokument ni pripravljen. Sporočila, poslana prek client.postMessage(), bodo zadržana, dokler ni sprožen dogodek DOMContentLoaded, nastavljen onmessage ali poklican startMessages();
  • Kot zahteva specifikacija CSS Transitions dodano prehodni zagon, prehodni preklic, prehodni začetek in prehodni konec, ustvarjeni, ko je prehod CSS v čakalni vrsti, preklican, se začne ali konča z izvajanjem.
  • Pri podajanju nepravilnega kodiranja znakov prek overrideMimeType() ali vrste MIME za XMLHttpRequest se zdaj vrne na UTF-8 namesto na Latin-1;
  • Lastnost »allow-downloads-without-user-activation«, prek katere je bilo mogoče samodejno prenašati datoteke pri obdelavi okvirjev iframes, je bila opuščena in bo odstranjena v prihodnji izdaji. V prihodnje bo sprožitev prenosov datotek brez izrecnega dejanja uporabnika prepovedana, saj se je aktivno uporabljala za zlorabe, vsiljevanje prenosov in vstavljanje delov zlonamerne programske opreme v uporabnikov računalnik. Za začetek prenosa bo potreben klik uporabnika na isti strani. Lastnost je bila prvotno načrtovana za odstranitev v Chromu 74, vendar je bila odstranitev odloženo do Chroma 76.
  • Za platformo Windows je na voljo izbirna temna tema za oblikovanje vmesnika (v prejšnji izdaji je bila temna tema pripravljena za macOS). Ker je temna zasnova skoraj enaka zasnovi v načinu brez beleženja zgodovine, je namesto ikone uporabniškega profila dodan poseben indikator, ki poudarja zasebni način delovanja;
  • Dodana je bila priložnost za poslovne uporabnike Upravljanje oblaka brskalnika Chrome za upravljanje nastavitev uporabniškega brskalnika prek Google Admin console;

    Izdaja Chrome 74

Poleg novosti in popravkov napak nova različica odpravlja 39 ranljivosti. Številne ranljivosti so bile ugotovljene kot rezultat avtomatiziranih orodij za testiranje AddressSanitizer, Memory Sanitizer, Integriteta toka nadzora, LibFuzzer и AFL. Ugotovljene niso bile nobene kritične težave, ki bi omogočale obhod vseh ravni zaščite brskalnika in izvajanje kode v sistemu zunaj okolja peskovnika. V okviru programa izplačevanja denarnih nagrad za odkrite ranljivosti za trenutno izdajo je Google izplačal 19 nagrad v vrednosti 26837 $ (štiri nagrade po 3000 $, štiri nagrade po 2000 $, ena nagrada po 1337 $, štiri nagrade po 1000 $, tri nagrade po 500 $). Velikost 4 nagrad še ni določena.

Vir: opennet.ru

Dodaj komentar