74 Chrome leidimas

Google pateiktas interneto naršyklės leidimas "Chrome 74... Tuo pačiu metu prieinama stabilus nemokamo projekto išleidimas chromas, kuris yra „Chrome“ pagrindas. Chrome naršyklė kitoks „Google“ logotipų naudojimas, galimybė paprašius atsisiųsti „Flash“ modulį, pranešimų siuntimo sistemos buvimas avarijos atveju, moduliai, skirti paleisti apsaugotą vaizdo turinį, automatinio atnaujinimų diegimo ir perdavimo paieškos metu sistema. RLZ parametrai. Kitas „Chrome 75“ leidimas planuojamas birželio 4 d.

pagrindinis pokyčiai в chromas 74:

  • Kai įvyksta onUnload įvykis, kuris iškviečiamas uždarius puslapį, dabar Draudžiama rodyti iškylančiuosius langus (užblokuotas iškvietimas window.open()), kuris apsaugos vartotojus nuo priverstinio atverti reklaminius puslapius uždarius abejotinas svetaines;
  • „JavaScript“ variklyje įgyvendinta atsirado naujas režimas Be JIT („—Jitless“ vėliavėlė), leidžianti vykdyti „JavaScript“ nenaudojant JIT (naudojamas tik interpretatorius) ir neskiriant vykdomosios atminties vykdant kodą. JIT išjungimas gali būti naudingas siekiant pagerinti saugumą dirbant su potencialiai pavojingomis žiniatinklio programomis, taip pat užtikrinti, kad būtų sukurta platformų, kurios draudžia naudoti JIT (pvz., iOS, kai kurie išmanieji televizoriai ir žaidimų pultai. Kai JIT išjungtas, JavaScript vykdymas) Spidometro 40 teste našumas sumažėja 2.0%, Web Tooling Benchmark teste – 80%, tačiau imituojant darbą su YouTube našumas sumažėjo tik 6%, o atminties sąnaudos sumažėjo nežymiai, tik 1.7%;
  • V8 taip pat siūlo didelę dalį naujų optimizacijų. Pavyzdžiui, funkcijų iškvietimų, kuriuose faktiškai perduodamų parametrų skaičius neatitinka argumentų skaičiaus, nurodyto apibrėžiant funkciją, vykdymas paspartintas 60%. Prieiga prie DOM ypatybių naudojant funkciją gauti buvo pagreitinta, o tai turi teigiamos įtakos kampinės sistemos veikimui. „JavaScript“ analizavimas buvo pagreitintas: UTF-8 dekoderio optimizavimas leido padidinti analizatoriaus našumą srautinio perdavimo režimu (analizuojant jį įkeliant) 8%, o pašalinus nereikalingas dubliavimo pašalinimo operacijas, padidėjo dar 10.5%;
  • Buvo atliktas darbas siekiant sumažinti „JavaScript“ variklio atminties suvartojimą.
    Pridėtas kodas, skirtas išvalyti baitinio kodo talpyklą, kuri užima maždaug 15% viso krūvos dydžio. Prie šiukšlių rinktuvo buvo pridėtas etapas, skirtas iškeldinti iš talpyklos retai sukompiliuojamą baitinį kodą, skirtą funkcijoms, kurios naudojamos arba funkcijoms, kurios iškviečiamos tik inicijuojant. Sprendimas išvalyti priimamas remiantis naujais skaitikliais, kurie atsižvelgia į paskutinį kartą, kai buvo pasiektas baito kodas. Šis pakeitimas sumažino atminties suvartojimą 5–15%, nepakenkiant našumui. Be to, baitinio kodo kompiliatorius neįtraukia akivaizdžiai nenaudojamo kodo generavimo, pavyzdžiui, po grįžimo arba pertraukos (jei nėra perėjimo prie jo).

    74 Chrome leidimas

  • WebAssembly įgyvendinta gijų ir atominių operacijų palaikymas (API WebAssembly Threads ir WebAssembly Atomics);
  • Norint atskirai pristatyti scenarijus, buvo pridėta antraštės „#!“ palaikymas, kuris nustato, kad vertėjas veiks. Pavyzdžiui, panašus į kitas scenarijų kalbas, „JavaScript“ failas gali atrodyti maždaug taip:

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

  • Prie CSS pridėta nauja medijos užklausa "teikia pirmenybę sumažintam judėjimui“, leidžianti svetainei nustatyti operacinės sistemos nustatymų, susijusių su animacinių efektų išjungimu, būseną. Naudojant siūlomą užklausą, svetainės savininkas galima išsiaiškinkite, kad vartotojas išjungė animuotus efektus, taip pat išjunkite įvairias animacijos funkcijas svetainėje, pavyzdžiui, pašalinkite dėmesiui pritraukti naudojamų mygtukų drebėjimo efektą;
  • Be galimybės apibrėžti viešuosius laukus, įdiegtus „Chrome 72“. įgyvendinta parama Laukų žymėjimas kaip privatus, po kurio prieiga prie jų verčių bus atidaryta tik klasėje. Jei norite pažymėti lauką kaip privatų, prieš lauko pavadinimą pridėkite ženklą „#“. Kaip ir viešuosiuose laukuose, privačiose nuosavybėse nereikia aiškiai naudoti konstruktoriaus.
  • Pridėta Feature-Policy HTTP antraštė, leidžianti valdyti API veikimą ir įjungti tam tikras funkcijas (pvz., galite įjungti XMLHttpRequest sinchroninio veikimo režimą arba išjungti geografinės vietos nustatymo API). JavaScript API kontroliuoti tam tikrų galimybių aktyvumą. Kūrėjams yra du nauji metodai document.featurePolicy ir frame.featurePolicy, siūlantys tris funkcijas:
    allowFeatures(), kad gautų dabartiniam domenui leidžiamų funkcijų sąrašą, leidžiaFeature() pasirinktinai patikrinti, ar įjungtos konkrečios funkcijos, ir getAllowlistForFeature(), kad pateiktų domenų, kuriems dabartiniame puslapyje leidžiama nurodyta funkcija, sąrašą;

  • Pridėtas eksperimentinis („chrome://flags#enable-text-fragment-anchor“) režimo palaikymas Slinkimas į tekstą, kuri leidžia formuoti nuorodas į atskirus žodžius ar frazes, aiškiai nenurodant etikečių dokumente naudojant žymą „a name“ arba „id“ ypatybę. Norint išsiųsti nuorodą, siūlomas specialus parametras „#targetText=“, kuriame galite nurodyti perėjimo tekstą. Leidžiama nurodyti kaukę, kurioje yra frazės, nurodančios fragmento pradžią ir pabaigą, naudojant kablelį kaip jų skyriklį (pvz., „example.com#targetText=pradžia%20žodžių, pabaiga%20žodžių“);
  • Prie „AudioContext“ konstruktoriaus pridėta parinktis mėginio rodiklis, kuri leidžia nustatyti garso operacijų atrankos dažnį per Web Audio API;
  • Pridėtas klasės palaikymas Intl.Locale, kuriame pateikiami kalbos, regiono ir stiliaus parametrų, nustatytų pagal lokalę, analizės ir apdorojimo metodai, taip pat Unicode plėtinių žymų skaitymas ir rašymas, vartotojo lokalės nustatymų išsaugojimas serijiniu formatu;
  • Mechanizmas Pasirašyti HTTP mainai (SXG) išplėstas įrankiais, skirtais informuojant turinio platintojai apie klaidas atsisiunčiant pasirašytą turinį, pvz., problemas, susijusias su sertifikato patvirtinimu. Klaidos tvarkomos naudojant API plėtinius Tinklo klaidų registravimas. Prisiminkite, kad SXG leidžia vienos svetainės savininkas, naudodamas skaitmeninį parašą, leidžia tam tikrus puslapius patalpinti kitoje svetainėje, o po to, jei šie puslapiai bus pasiekiami antroje svetainėje, naršyklė parodys vartotojui pradinės svetainės URL adresą, nepaisant to kad puslapis buvo įkeltas iš kito pagrindinio kompiuterio;
  • Metodas buvo įtrauktas į klasę TextEncoder encodeInto(), kuri leidžia įrašyti užkoduotą eilutę tiesiai į iš anksto skirtą buferį. Metodas encodeInto() yra didelio našumo encode() metodo alternatyva, kuriai naudojant kiekvieną kartą reikia atlikti buferio paskirstymo operaciją.
  • Serviso darbuotojoje jeigu buferizuojant client.postMessage() iškvietimą, kol dokumentas bus paruoštas. Pranešimai, išsiųsti per client.postMessage(), bus laikomi tol, kol bus iškeltas DOMContentLoaded įvykis, nustatytas onmessage arba iškviečiamas startMessages();
  • Kaip reikalaujama CSS Transitions specifikacijoje pridėta Transitionrun, Transitioncancel, Transitionstart ir Transitionend įvykiai, generuojami, kai CSS perėjimas yra eilėje, atšaukiamas, pradedamas arba baigiamas vykdyti.
  • Nurodant neteisingą simbolių kodavimą naudojant overrideMimeType() arba MIME tipą XMLHttpRequest, dabar jis grįžta į UTF-8 vietoj Latin-1;
  • Ypatybė „leisti atsisiųsti be vartotojo aktyvinimo“, kurią naudojant buvo galima automatiškai atsisiųsti failus apdorojant „iframe“, nebenaudojama ir bus pašalinta būsimame leidime. Ateityje bus draudžiama inicijuoti failų atsisiuntimą be aiškaus vartotojo veiksmų, nes jis buvo aktyviai naudojamas piktnaudžiavimui, verčiant atsisiųsti ir į vartotojo kompiuterį įterpti dalis kenkėjiškų programų. Norėdami pradėti atsisiuntimą, vartotojas turės spustelėti tą patį puslapį. Iš pradžių buvo planuota, kad nuosavybė bus pašalinta naudojant „Chrome 74“, bet buvo pašalinta atidėtas iki Chrome 76.
  • „Windows“ platformai siūloma pasirinktinai tamsi sąsajos dizaino tema (ankstesniame leidime „MacOS“ buvo paruošta tamsioji tema). Kadangi tamsus dizainas beveik identiškas dizainui inkognito režimu, vietoj vartotojo profilio piktogramos pridėtas specialus indikatorius, paryškinantis privatų darbo režimą;
  • Pridėta galimybė verslo vartotojams „Chrome“ naršyklės debesų valdymas tvarkyti vartotojo naršyklės nustatymus per Google Admin console;

    74 Chrome leidimas

Be naujovių ir klaidų pataisymų, naujoji versija pašalina 39 pažeidžiamumų. Daugelis pažeidžiamumų buvo nustatyti dėl automatinių testavimo įrankių AdresasSanitizer, Atminties dezinfekavimo priemonė, Valdykite srauto vientisumą, LibFuzzer и AFL. Nenustatyta jokių kritinių problemų, kurios leistų apeiti visus naršyklės apsaugos lygius ir vykdyti kodą sistemoje ne smėlio dėžės aplinkoje. Vykdydama programą, skirtą mokėti piniginius atlygius už dabartinio leidimo pažeidžiamumą, „Google“ sumokėjo 19 apdovanojimų už 26837 3000 USD (keturis 2000 1337 USD apdovanojimus, keturis 1000 500 USD apdovanojimus, vieną 4 XNUMX USD apdovanojimą, keturis XNUMX XNUMX USD apdovanojimus, tris XNUMX USD apdovanojimus). XNUMX apdovanojimų dydis dar nenustatytas.

Šaltinis: opennet.ru

Добавить комментарий