Chrome'i väljalase 74

Google esitatakse veebibrauseri väljalase Chrome 74... Samaaegselt saadaval tasuta projekti stabiilne väljalase kroom, mis on Chrome'i aluseks. Chrome'i brauser erinev Google'i logode kasutamine, Flash-mooduli nõudmisel allalaadimise võimalus, krahhi korral teadete saatmise süsteemi olemasolu, kaitstud videosisu esitamise moodulid, süsteem värskenduste automaatseks installimiseks ja edastamiseks otsingu ajal RLZ parameetrid. Chrome 75 järgmine väljalase ilmub 4. juunil.

Kõik muutused в Kroom 74:

  • Kui toimub sündmus onUnload, mis kutsutakse välja lehe sulgemisel, kohe Keelatud on kuvage hüpikaknad (kõne window.open() on blokeeritud), mis kaitseb kasutajaid pärast kahtlaste saitide sulgemist reklaamilehtede avamise eest;
  • JavaScripti mootoris rakendatud on tekkinud uus kord JIT-vähem ("—jitless" lipp), mis võimaldab käivitada JavaScripti ilma JIT-i kasutamata (kasutatakse ainult interpretaatorit) ja koodi täitmise ajal käivitatavat mälu eraldamata. JIT-i keelamine võib olla kasulik turvalisuse parandamiseks potentsiaalselt ohtlike veebirakendustega töötamisel, samuti platvormidele, mis keelavad JIT-i kasutamise (nt iOS, mõned nutitelerid ja mängukonsoolid. Kui JIT on keelatud, JavaScripti käivitamine) jõudlus väheneb Speedometer 40 testis 2.0% ja Web Tooling Benchmarki testis 80%, kuid YouTube'iga tööd simuleerides oli jõudluse langus vaid 6%, samas kui mälukulu vähenes veidi, vaid 1.7%;
  • V8 pakub ka suurt osa uutest optimeerimistest. Näiteks funktsioonikutsete täitmist, mille puhul tegelikult läbitud parameetrite arv ei vasta funktsiooni defineerimisel määratud argumentide arvule, on kiirendatud 60%. Juurdepääs DOM-i atribuutidele, kasutades funktsiooni get, on kiirendatud, millel on positiivne mõju Angular-raamistiku toimimisele. JavaScripti sõelumine on kiirendatud: UTF-8 dekoodri optimeerimine võimaldas parseri jõudlust voogedastusrežiimis (parsimine laadimisel) suurendada 8% ja tarbetute dubleerimise operatsioonide kõrvaldamine andis tõusu veel 10.5%;
  • JavaScripti mootori mälukulu vähendamiseks on tehtud tööd.
    Lisatud kood baitkoodi vahemälu tühjendamiseks, mis võtab umbes 15% kogu kuhja suurusest. Prügikogujale on lisatud etapp, et eemaldada vahemälust harva kompileeritud baitkood kasutatavate funktsioonide või funktsioonide jaoks, mida kutsutakse välja ainult initsialiseerimisel. Puhastamise otsus tehakse uute loendurite põhjal, mis võtavad arvesse viimast korda, kui baitkoodile ligi pääseti. See muudatus vähendas mälutarbimist 5–15% ilma jõudlust negatiivselt mõjutamata. Lisaks välistab baitkoodi kompilaator ilmselgelt kasutamata koodi genereerimise, mis järgneb näiteks tagastamisele või katkestusele (kui sellele pole hüppeüleminekut);

    Chrome'i väljalase 74

  • WebAssembly jaoks rakendatud lõimede ja tuumaoperatsioonide tugi (API WebAssembly Threads ja WebAssembly Atomics);
  • Skriptide eraldi edastamiseks on lisatud päise “#!” tugi, mis määrab tõlgi, mida käivitada. Näiteks võib JavaScripti fail sarnaselt teiste skriptikeeltega välja näha umbes selline:

    #!/usr/bin/env sõlm
    console.log(42);

  • CSS-i on lisatud uus meediapäring "eelistab-vähendatud-liikumist“, võimaldades saidil määrata animeeritud efektide keelamisega seotud operatsioonisüsteemi sätete oleku. Kasutades soovitatud taotlust, saidi omanik võib saate teada, et kasutaja on keelanud animeeritud efektid ja keelanud saidil ka erinevad animatsioonifunktsioonid, näiteks eemaldada tähelepanu äratamiseks kasutatavate nuppude värinaefekt;
  • Lisaks Chrome 72-s kasutusele võetud avalike väljade määratlemise võimalusele toetus rakendatud Väljade privaatseks märkimine, mille järel on juurdepääs nende väärtustele avatud ainult klassi sees. Välja privaatseks märkimiseks lisage välja nime ette märk „#”. Nagu avalike väljade puhul, ei nõua eraomandid konstruktori selgesõnalist kasutamist.
  • Lisatud on Feature-Policy HTTP päis, mis võimaldab teil juhtida API käitumist ja lubada teatud funktsioone (näiteks saate lubada XMLHttpRequesti sünkroonse töörežiimi või keelata geograafilise asukoha API) JavaScript API teatud võimaluste aktiivsuse kontrollimiseks. Arendajate jaoks on kaks uut meetodit document.featurePolicy ja frame.featurePolicy, mis pakuvad kolme funktsiooni:
    allowFeatures() praeguse domeeni jaoks lubatud funktsioonide loendi hankimiseks, võimaldabFeature() valikuliselt kontrollida, kas konkreetsed funktsioonid on lubatud, ja getAllowlistForFeature(), et tagastada domeenide loend, mille jaoks on praegusel lehel määratud funktsioon lubatud;

  • Režiimile on lisatud eksperimentaalne tugi (“chrome://flags#enable-text-fragment-anchor”) Kerimine tekstini, mis võimaldab teil luua linke üksikutele sõnadele või fraasidele, ilma et peaksite dokumendis silte "a name" või atribuuti "id" kasutades selgesõnaliselt määrama. Lingi saatmiseks pakutakse spetsiaalset parameetrit “#targetText=”, milles saab määrata ülemineku teksti. Lubatud on määrata mask, mis sisaldab fraasid, mis näitavad fragmendi algust ja lõppu, kasutades nende eraldajana koma (näiteks “example.com#targetText=start%20words, end%20words”);
  • AudioContexti konstruktorile on lisatud valik proovimäär, mis võimaldab Web Audio API kaudu määrata helitoimingute diskreetimissagedust;
  • Lisatud klassi tugi Intl.Locale, mis pakub meetodeid lokaadiga määratud keele-, piirkonna- ja stiiliparameetrite sõelumiseks ja töötlemiseks, samuti Unicode'i laiendusmärgendite lugemiseks ja kirjutamiseks, salvestades kasutaja lokaadi sätted jadavormingus;
  • Mehhanism Signeeritud HTTP Exchanges (SXG) on laiendatud tööriistadega teavitamine sisu levitajad allkirjastatud sisu allalaadimisel ilmnenud vigade kohta, nagu probleemid sertifikaadi kinnitamisega. Vigade käsitlemine toimub API laienduste kaudu Võrgutõrgete logimine. Tuletage meelde, et SXG võimaldab ühe saidi omanik lubab digitaalallkirja kasutades paigutada teatud lehed teisele saidile, misjärel, kui neile lehtedele pääseb juurde teiselt saidilt, näitab brauser kasutajale vaatamata sellele algse saidi URL-i. et leht laaditi teisest hostist;
  • Klassi TextEncoder on lisatud meetod encodeInto(), mis võimaldab kirjutada kodeeritud stringi otse eelnevalt eraldatud puhvrisse. Meetod encodeInto() on suure jõudlusega alternatiiv encode()-meetodile, mis nõuab puhvri eraldamise toimingut iga kord, kui sellele juurde pääseb.
  • In Service töötaja kindlustatud puhverdades klient.postMessage() kõne seni, kuni dokument on valmis. Klient.postMessage() kaudu saadetud sõnumeid hoitakse kuni DOMContentLoaded sündmuse esilekutsumiseni, onmessage'i seadistamiseni või startMessages() kutsumiseni;
  • Vastavalt CSS-i üleminekute spetsifikatsioonile lisatud üleminekuperioodi, ülemineku tühistamise, ülemineku alguse ja ülemineku sündmused, mis genereeritakse, kui CSS-i üleminek pannakse järjekorda, tühistatakse, käivitatakse või lõpetatakse.
  • Kui määrate XMLHttpRequesti jaoks vale märgikodeeringu overrideMimeType() või MIME-tüübi abil, langeb see nüüd Latin-8 asemel UTF-1-le;
  • Atribuut „allow-downloads-without-user-activation”, mille kaudu oli võimalik iframe'ide töötlemisel faile automaatselt alla laadida, on aegunud ja eemaldatakse tulevases versioonis. Edaspidi on failide allalaadimise algatamine ilma kasutaja selgesõnalise tegevuseta keelatud, kuna seda on aktiivselt kasutatud kuritarvitamiseks, allalaadimiseks ja pahavara osade sisestamiseks kasutaja arvutisse. Allalaadimise alustamiseks peab kasutaja klõpsama samal lehel. Algselt plaaniti vara Chrome 74-s eemaldada, kuid äraviimine oli edasi lükatud kuni Chrome 76.
  • Windowsi platvormi jaoks pakutakse liidese kujunduse valikulist tumedat teemat (eelmises versioonis valmistati macOS-i jaoks ette tume teema). Kuna tume kujundus on peaaegu identne inkognito režiimi kujundusega, on kasutajaprofiili ikooni asemele lisatud spetsiaalne indikaator, mis tõstab esile privaatse töörežiimi;
  • Ettevõttekasutajatele on lisatud võimalus Chrome'i brauseri pilvehaldus kasutaja brauseri seadete haldamiseks Google'i administraatorikonsooli kaudu;

    Chrome'i väljalase 74

Lisaks uuendustele ja veaparandustele kaotab uus versioon 39 haavatavust. Paljud haavatavused tuvastati tööriistadega automatiseeritud testimise tulemusena Aadress Sanitaar, MemorySanitizer, Voo terviklikkuse juhtimine, LibFuzzer и AFL. Pole tuvastatud ühtegi kriitilist probleemi, mis võimaldaks mööda minna brauseri kõigist kaitsetasemetest ja käivitada süsteemis koodi väljaspool liivakastikeskkonda. Osana rahalise preemia maksmise programmi praeguse versiooni haavatavuste avastamise eest maksis Google 19 auhinda summas 26837 3000 dollarit (neli 2000 dollarit, neli 1337 dollarit, üks 1000 dollarit, neli 500 dollarit, kolm 4 dollarit). XNUMX preemia suurust pole veel kindlaks määratud.

Allikas: opennet.ru

Lisa kommentaar