Chrome 74. izlaidums

Google uzrādÄ«ts tÄ«mekļa pārlÅ«kprogrammas izlaidums Chrome 74... VienlaicÄ«gi pieejams bezmaksas projekta stabila izlaiÅ”ana Hroms, kas ir pārlÅ«ka Chrome pamatā. Chrome pārlÅ«ks atŔķirÄ«gs Google logotipu izmantoÅ”ana, iespēja lejupielādēt Flash moduli pēc pieprasÄ«juma, sistēmas klātbÅ«tne paziņojumu nosÅ«tÄ«Å”anai avārijas gadÄ«jumā, moduļi aizsargāta video satura atskaņoÅ”anai, sistēma atjauninājumu automātiskai instalÄ“Å”anai un pārraidei meklÄ“Å”anas laikā RLZ parametri. Nākamais Chrome 75 laidiens ir paredzēts 4. jÅ«nijā.

Galvenais izmaiņas Š² hroms 74:

  • Kad notiek notikums onUnload, kas tiek izsaukts, kad lapa tiek aizvērta, tagad Tas ir aizliegts parādÄ«t uznirstoÅ”os logus (tiek bloķēts izsaukums window.open()), kas pasargās lietotājus no spiestiem atvērt reklāmas lapas pēc apÅ”aubāmu vietņu aizvērÅ”anas;
  • JavaScript dzinējā Ä«stenota ir parādÄ«jies jauns režīms JIT mazāk (ā€œā€”jitlessā€ karodziņŔ), kas ļauj izpildÄ«t JavaScript, neizmantojot JIT (tiek izmantots tikai tulks) un nepieŔķirot izpildāmo atmiņu koda izpildes laikā. JIT atspējoÅ”ana var bÅ«t noderÄ«ga, lai uzlabotu droŔību, strādājot ar potenciāli bÄ«stamām tÄ«mekļa lietojumprogrammām, kā arÄ« nodroÅ”inātu bÅ«vējumus uz platformām, kas aizliedz JIT izmantoÅ”anu (piemēram, iOS, daži viedie televizori un spēļu konsoles. Ja JIT ir atspējots, JavaScript izpilde veiktspēja samazinās par 40% Speedometer 2.0 testā un 80% Web Tooling Benchmark testā, bet, simulējot darbu ar YouTube, veiktspējas kritums bija tikai 6%, savukārt atmiņas patēriņŔ samazinājās nedaudz, tikai par 1.7%;
  • V8 piedāvā arÄ« lielu daļu jaunu optimizāciju. Piemēram, funkciju izsaukumu izpilde, kurā faktiski nodoto parametru skaits neatbilst funkcijas definÄ“Å”anas laikā norādÄ«tajam argumentu skaitam, ir paātrināta par 60%. Piekļuve DOM rekvizÄ«tiem, izmantojot funkciju get, ir paātrināta, kas pozitÄ«vi ietekmē Angular ietvara veiktspēju. JavaScript parsÄ“Å”ana ir paātrināta: UTF-8 dekodētāja optimizācija ļāva palielināt parsētāja veiktspēju straumÄ“Å”anas režīmā (parsÄ“Å”ana ielādes laikā) par 8%, un, novērÅ”ot nevajadzÄ«gas dublÄ“Å”anas darbÄ«bas, tika palielināts vēl par 10.5%;
  • Ir veikts darbs, lai samazinātu JavaScript dzinēja atmiņas patēriņu.
    Pievienots kods, lai notÄ«rÄ«tu baitkoda keÅ”atmiņu, kas aizņem aptuveni 15% no kopējā kaudzes lieluma. Atkritumu savācējam ir pievienots posms, lai no keÅ”atmiņas izliktu reti kompilētu baitu kodu funkcijām, kuras tiek izmantotas vai kuras tiek izsauktas tikai inicializācijas laikā. Lēmums par tÄ«rÄ«Å”anu tiek pieņemts, pamatojoties uz jauniem skaitÄ«tājiem, kas ņem vērā pēdējo reizi, kad tika piekļūts baitkodam. Å Ä«s izmaiņas samazināja atmiņas patēriņu par 5ā€“15%, negatÄ«vi neietekmējot veiktspēju. Turklāt baitkoda kompilators izslēdz acÄ«mredzami neizmantota koda Ä£enerÄ“Å”anu, piemēram, pēc atgrieÅ”anās vai pārtraukuma (ja uz to nav pārejas pārejas);

    Chrome 74. izlaidums

  • WebAssembly Ä«stenota atbalsts pavedieniem un atomu operācijām (API WebAssembly Threads un WebAssembly Atomics);
  • AtseviŔķai skriptu piegādei ir pievienots galvenes ā€œ#!ā€ atbalsts, kas nosaka tulka palaiÅ”anu. Piemēram, lÄ«dzÄ«gi citām skriptu valodām JavaScript fails var izskatÄ«ties Ŕādi:

    #!/usr/bin/env mezgls
    konsole.log(42);

  • CSS ir pievienots jauns multivides vaicājums "dod priekÅ”roku-reduced-motionā€œ, ļaujot vietnei noteikt operētājsistēmas iestatÄ«jumu stāvokli, kas saistÄ«ti ar animēto efektu atspējoÅ”anu. Izmantojot ieteikto pieprasÄ«jumu, vietnes Ä«paÅ”nieks var uzziniet, ka lietotājs ir atspējojis animācijas efektus, kā arÄ« atspējo dažādas animācijas iespējas vietnē, piemēram, noņemiet uzmanÄ«bas piesaistÄ«Å”anai izmantoto pogu kratÄ«Å”anas efektu;
  • Papildus iespējai definēt publiskos laukus, kas ieviesti pārlÅ«kā Chrome 72 Ä«stenots atbalsts AtzÄ«mējot laukus kā privātus, pēc tam piekļuve to vērtÄ«bām bÅ«s atvērta tikai klasē. Lai atzÄ«mētu lauku kā privātu, pirms lauka nosaukuma pievienojiet zÄ«mi ā€œ#ā€. Tāpat kā publiskajos laukos, privātajos Ä«paÅ”umos nav nepiecieÅ”ams tieÅ”i izmantot konstruktoru.
  • Ir pievienota Feature-Policy HTTP galvene, kas ļauj kontrolēt API darbÄ«bu un iespējot noteiktas funkcijas (piemēram, varat iespējot XMLHttpRequest sinhronās darbÄ«bas režīmu vai atspējot Ä£eogrāfiskās atraÅ”anās vietas noteikÅ”anas API). JavaScript API kontrolēt noteiktu iespēju darbÄ«bu. Izstrādātājiem ir divas jaunas metodes document.featurePolicy un frame.featurePolicy, kas piedāvā trÄ«s funkcijas:
    allowFeatures(), lai iegÅ«tu paÅ”reizējam domēnam atļauto lÄ«dzekļu sarakstu, atļauja(t) ļauj selektÄ«vi pārbaudÄ«t, vai konkrētas funkcijas ir iespējotas, un getAllowlistForFeature(), lai atgrieztu to domēnu sarakstu, kuriem konkrētajā lapā ir atļauta noteikta funkcija;

  • Pievienots eksperimentāls (ā€œchrome://flags#enable-text-fragment-anchorā€) režīma atbalsts RitināŔana lÄ«dz tekstam, kas ļauj veidot saites uz atseviŔķiem vārdiem vai frāzēm, dokumentā skaidri nenorādot etiÄ·etes, izmantojot tagu ā€œa nameā€ vai rekvizÄ«tu ā€œidā€. Lai nosÅ«tÄ«tu saiti, tiek piedāvāts Ä«paÅ”s parametrs ā€œ#targetText=ā€, kurā var norādÄ«t pārejas tekstu. Ir atļauts norādÄ«t masku, kas ietver frāzes, kas norāda fragmenta sākumu un beigas, izmantojot komatu kā to atdalÄ«tāju (piemēram, ā€œexample.com#targetText=sākums%20vārdi, beigas%20vārdiā€);
  • AudioContext konstruktoram ir pievienota opcija parauga likme, kas ļauj iestatÄ«t iztverÅ”anas ātrumu audio operācijām, izmantojot Web Audio API;
  • Pievienots klases atbalsts Intl.Locale, kas nodroÅ”ina lokalizācijas iestatÄ«to valodas, reÄ£iona un stila parametru parsÄ“Å”anas un apstrādes metodes, kā arÄ« Unicode paplaÅ”inājumu tagu lasÄ«Å”anu un rakstÄ«Å”anu, saglabājot lietotāja lokalizācijas iestatÄ«jumus seriālā formātā;
  • mehānisms ParakstÄ«tas HTTP apmaiņas (SXG) paplaÅ”ināts ar rÄ«kiem informējot satura izplatÄ«tājiem par kļūdām, lejupielādējot parakstÄ«tu saturu, piemēram, problēmas ar sertifikāta verifikāciju. Kļūdu apstrāde tiek veikta, izmantojot API paplaÅ”inājumus TÄ«kla kļūdu reÄ£istrÄ“Å”ana. Atcerieties, ka SXG pieļauj vienas vietnes Ä«paÅ”nieks, izmantojot ciparparakstu, atļauj noteiktu lapu izvietoÅ”anu citā vietnē, pēc tam, ja Ŕīm lapām tiek piekļūts otrā vietnē, pārlÅ«kprogramma lietotājam parādÄ«s sākotnējās vietnes URL, neskatoties uz to. ka lapa tika ielādēta no cita resursdatora;
  • Klasei TextEncoder ir pievienota metode encodeInto(), kas ļauj ierakstÄ«t kodētu virkni tieÅ”i iepriekÅ” pieŔķirtajā buferÄ«. Metode encodeInto() ir augstas veiktspējas alternatÄ«va metodei encode(), kurai ir nepiecieÅ”ama bufera pieŔķirÅ”anas darbÄ«ba, kas jāveic katru reizi, kad tai piekļūst.
  • ApkalpoÅ”anas darbinieks nodroÅ”ināta buferējot klienta.postMessage() izsaukumu, lÄ«dz dokuments ir gatavs. Ziņojumi, kas nosÅ«tÄ«ti, izmantojot client.postMessage(), tiks aizturēti, lÄ«dz tiek aktivizēts notikums DOMContentLoaded, iestatÄ«ts onmessage vai tiek izsaukts startMessages();
  • Saskaņā ar CSS Transitions specifikāciju pievienots Pārejas palaiÅ”anas, pārejas atcelÅ”anas, pārejas sākuma un pārejas beigu notikumi, kas tiek Ä£enerēti, kad CSS pāreja tiek ievietota rindā, tiek atcelta, tiek sākta vai pabeigta.
  • Norādot nepareizu rakstzÄ«mju kodējumu, izmantojot overrideMimeType() vai MIME veidu XMLHttpRequest, tas tagad tiek izmantots UTF-8, nevis Latin-1;
  • RekvizÄ«ts ā€œatļaut lejupielādes bez lietotāja aktivizācijasā€, ar kuru bija iespējams automātiski lejupielādēt failus, apstrādājot iframe, ir novecojis un tiks noņemts nākamajā laidienā. Turpmāk failu lejupielādes uzsākÅ”ana bez skaidras lietotāja darbÄ«bas bÅ«s aizliegta, jo tā ir aktÄ«vi izmantota ļaunprātÄ«gai izmantoÅ”anai, piespiežot lejupielādēt un ievietojot lietotāja datorā ļaunprātÄ«gas programmatÅ«ras gabalus. Lai sāktu lejupielādi, lietotājam bÅ«s jānoklikŔķina uz tās paÅ”as lapas. Sākotnēji Ä«paÅ”umu bija plānots noņemt pārlÅ«kprogrammā Chrome 74, taču tas tika noņemts atlikts lÄ«dz Chrome 76.
  • Windows platformai tiek piedāvāta izvēles tumŔā saskarnes dizaina tēma (iepriekŔējā laidienā MacOS tika sagatavota tumŔā tēma). Tā kā tumÅ”ais dizains ir gandrÄ«z identisks dizainam inkognito režīmā, lietotāja profila ikonas vietā ir pievienots Ä«paÅ”s indikators, lai izceltu privāto darbÄ«bas režīmu;
  • Ir pievienota iespēja korporatÄ«vajiem lietotājiem Chrome pārlÅ«kprogrammas mākoņu pārvaldÄ«ba lai pārvaldÄ«tu lietotāja pārlÅ«kprogrammas iestatÄ«jumus, izmantojot Google Admin console;

    Chrome 74. izlaidums

Papildus jauninājumiem un kļūdu labojumiem jaunā versija novērÅ” 39 ievainojamÄ«bas. Daudzas ievainojamÄ«bas tika identificētas automatizētu testÄ“Å”anas rÄ«ku rezultātā AdreseSanitizer, Atmiņas sanitizer, Kontrolējiet plÅ«smas integritāti, LibFuzzer Šø AFL. Nav konstatētas nekādas kritiskas problēmas, kas ļautu apiet visus pārlÅ«kprogrammas aizsardzÄ«bas lÄ«meņus un izpildÄ«t kodu sistēmā ārpus smilÅ”kastes vides. Kā daļu no programmas, lai izmaksātu naudas atlÄ«dzÄ«bu par paÅ”reizējā laidiena ievainojamÄ«bu atklāŔanu, Google izmaksāja 19 balvas 26837 3000 USD apmērā (četras 2000 USD balvas, četras 1337 USD balvas, viena 1000 USD balva, četras 500 USD balvas, trÄ«s 4 USD balvas). XNUMX balvu lielums vēl nav noteikts.

Avots: opennet.ru

Pievieno komentāru