Toleo la Chrome 74

Google imewasilishwa kutolewa kwa kivinjari Chrome 74... Wakati huo huo inapatikana kutolewa thabiti kwa mradi wa bure Chromium, ambayo ni msingi wa Chrome. Kivinjari cha Chrome mbalimbali utumiaji wa nembo za Google, uwezo wa kupakua moduli ya Flash juu ya ombi, uwepo wa mfumo wa kutuma arifa ikiwa kuna ajali, moduli za kucheza yaliyomo kwenye video iliyolindwa, mfumo wa kusasisha kiotomatiki sasisho na usambazaji wakati wa utaftaji. Vigezo vya RLZ. Toleo lijalo la Chrome 75 limepangwa kufanyika tarehe 4 Juni.

kuu mabadiliko Π² Chrome 74:

  • Wakati tukio la Kupakua linatokea, ambalo linaitwa wakati ukurasa umefungwa, sasa halali onyesha madirisha ibukizi (simu ya window.open() imezuiwa), ambayo italinda watumiaji dhidi ya kulazimishwa kufungua kurasa za matangazo baada ya kufunga tovuti zenye shaka;
  • Katika injini ya JavaScript kutekelezwa serikali mpya imeonekana JIT-chini (β€œ-jitless” bendera), ambayo hufanya iwezekane kutekeleza JavaScript bila kutumia JIT (mkalimani pekee ndiye anayetumiwa) na bila kutenga kumbukumbu inayoweza kutekelezwa wakati wa utekelezaji wa msimbo. Kuzima JIT kunaweza kusaidia kuboresha usalama unapofanya kazi na programu za wavuti zinazoweza kuwa hatari, na vile vile kuhakikisha miundo kwenye mifumo inayokataza matumizi ya JIT (kwa mfano, iOS, baadhi ya TV mahiri na vidhibiti vya mchezo. JIT inapozimwa, utekelezaji wa JavaScript. utendaji hupungua kwa 40% katika mtihani wa Speedometer 2.0 na 80% katika mtihani wa Benchmark ya Vifaa vya Wavuti, lakini wakati wa kuiga kazi na YouTube, kulikuwa na upungufu wa 6% tu katika utendaji, wakati matumizi ya kumbukumbu yalipungua kidogo, kwa 1.7% tu;
  • V8 pia hutoa sehemu kubwa ya uboreshaji mpya. Kwa mfano, utekelezaji wa simu za chaguo za kukokotoa ambapo idadi ya vigezo vilivyopitishwa hailingani na idadi ya hoja zilizobainishwa wakati wa kufafanua chaguo za kukokotoa imeongezwa kasi kwa 60%. Ufikiaji wa mali za DOM kwa kutumia kitendakazi cha kupata umeharakishwa, ambayo ina athari chanya katika utendakazi wa mfumo wa Angular. Uchanganuzi wa JavaScript umeharakishwa: uboreshaji wa avkodare ya UTF-8 ulifanya iwezekane kuongeza utendaji wa kichanganuzi katika modi ya utiririshaji (uchanganuzi unapopakia) kwa 8%, na kuondoa utendakazi usio wa lazima wa utenganishaji ulitoa ongezeko la 10.5% nyingine;
  • Kazi imefanywa ili kupunguza matumizi ya kumbukumbu ya injini ya JavaScript.
    Msimbo umeongezwa ili kufuta akiba ya bytecode, ambayo inachukua takriban 15% ya jumla ya saizi ya lundo. Hatua imeongezwa kwa kikusanya takataka ili kuondoa bytecode iliyokusanywa mara kwa mara kutoka kwa akiba ya vitendakazi vinavyotumika au vitendakazi ambavyo huitwa tu baada ya kuanzishwa. Uamuzi wa kusafisha unafanywa kwa kuzingatia vihesabu vipya vinavyozingatia mara ya mwisho bytecode ilipatikana. Mabadiliko haya yalipunguza matumizi ya kumbukumbu kwa 5-15% bila kuathiri vibaya utendakazi. Zaidi ya hayo, mkusanyaji wa bytecode haujumuishi kizazi cha msimbo ambao haujatumiwa, kwa mfano, unaofuata kurudi au kuvunja (ikiwa hakuna mpito wa Rukia kwake);

    Toleo la Chrome 74

  • Kwa WebAssembly kutekelezwa msaada kwa nyuzi na shughuli za atomiki ( API WebAssembly Threads na WebAssembly Atomics);
  • Kwa uwasilishaji tofauti wa hati, usaidizi wa kichwa cha "#!" umeongezwa, ambao huamua mfasiri aendeshe. Kwa mfano, sawa na lugha zingine za uandishi, faili ya JavaScript inaweza kuonekana kama hii:

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

  • Hoja mpya ya media imeongezwa kwa CSS "hupendelea-mwendo-kupunguzwa", kuruhusu tovuti kubainisha hali ya mipangilio katika mfumo wa uendeshaji inayohusiana na kuzima athari za uhuishaji. Kwa kutumia ombi lililopendekezwa, mmiliki wa tovuti Unaweza gundua kwamba mtumiaji amezima athari za uhuishaji na pia afya ya vipengele mbalimbali vya uhuishaji kwenye tovuti, kwa mfano, ondoa athari ya kutetemeka ya vifungo vinavyotumiwa kuvutia;
  • Mbali na uwezo wa kufafanua sehemu za umma zilizoletwa katika Chrome 72 msaada kutekelezwa Kuashiria sehemu kama za faragha, baada ya hapo ufikiaji wa maadili yao utafunguliwa ndani ya darasa pekee. Ili kuweka sehemu alama kuwa ya faragha, ongeza alama ya "#" kabla ya jina la sehemu. Kama ilivyo kwa nyanja za umma, mali za kibinafsi hazihitaji matumizi ya wazi ya mjenzi.
  • Kichwa cha HTTP cha Sera ya Kipengele, ambacho hukuruhusu kudhibiti tabia ya API na kuwezesha vipengee fulani (kwa mfano, unaweza kuwezesha hali ya utendakazi iliyosawazishwa ya XMLHttpRequest au kuzima API ya Geolocation), kimeongezwa. JavaScript API kudhibiti shughuli za fursa fulani. Kwa wasanidi programu, kuna mbinu mbili mpya document.featurePolicy na frame.featurePolicy, zinazotoa vipengele vitatu:
    permitFeatures() ili kupata orodha ya vipengele vinavyoruhusiwa kwa kikoa cha sasa, inaruhusuFeature() kuangalia kwa kuchagua ikiwa vipengele mahususi vimewezeshwa, na getAllowlistForFeature() kurudisha orodha ya vikoa ambavyo kipengele kilichobainishwa kinaruhusiwa kwenye ukurasa wa sasa;

  • Usaidizi wa majaribio ulioongezwa ("chrome://flags#enable-text-fragment-anchor") kwa modi. Sogeza-Kwa-Maandishi, ambayo hukuruhusu kuunda viungo vya maneno au vifungu vya maneno mahususi, bila kubainisha lebo kwenye hati kwa kutumia lebo ya "jina" au sifa ya "id". Ili kutuma kiungo, parameter maalum "#targetText=" hutolewa, ambayo unaweza kutaja maandishi kwa ajili ya mpito. Inaruhusiwa kubainisha kinyago kinachojumuisha vishazi vinavyoonyesha mwanzo na mwisho wa kipande kwa kutumia koma kama kitenganishi chao (kwa mfano, "example.com#targetText=start%20words, end%20words");
  • Chaguo limeongezwa kwa kijenzi cha AudioContext sampuliRate, ambayo inakuwezesha kuweka kiwango cha sampuli kwa shughuli za sauti kupitia API ya Sauti ya Wavuti;
  • Usaidizi wa darasa ulioongezwa Intl.Locale, ambayo hutoa mbinu za uchanganuzi na usindikaji wa lugha, eneo, na vigezo vya mtindo vilivyowekwa na eneo, na pia kwa kusoma na kuandika tagi za ugani za Unicode, kuhifadhi mipangilio ya eneo la mtumiaji katika umbizo la serial;
  • Mfumo Mabadilishano ya HTTP yaliyosainiwa (SXG) iliyopanuliwa kwa zana za kuarifu wasambazaji wa maudhui kuhusu makosa katika kupakua maudhui yaliyotiwa saini, kama vile matatizo ya uthibitishaji wa cheti. Ushughulikiaji wa hitilafu unafanywa kupitia viendelezi vya API Hitilafu ya Kuingia kwa Mtandao. Kumbuka kwamba SXG inaruhusu mmiliki wa tovuti moja, kwa kutumia saini ya dijiti, anaidhinisha uwekaji wa kurasa fulani kwenye tovuti nyingine, baada ya hapo, ikiwa kurasa hizi zinapatikana kwenye tovuti ya pili, kivinjari kitamwonyesha mtumiaji URL ya tovuti asilia, licha ya ukweli. kwamba ukurasa ulipakiwa kutoka kwa mwenyeji tofauti;
  • Mbinu imeongezwa kwa darasa la TextEncoder encodeInto(), ambayo hukuruhusu kuandika kamba iliyosimbwa moja kwa moja kwenye bafa iliyotengwa mapema. Mbinu ya encodeInto() ni njia mbadala ya utendakazi wa hali ya juu kwa njia ya encode(), ambayo inahitaji operesheni ya ugawaji wa bafa kufanywa kila inapofikiwa.
  • Katika mfanyakazi wa huduma salama kuakibisha mteja.postMessage() simu hadi hati iko tayari. Ujumbe unaotumwa kupitia client.postMessage() utafanyika hadi tukio la DOMContentLoaded litakapotolewa, ujumbe wa onmessage umewekwa, au startMessages() uitwe;
  • Kama inavyotakiwa na vipimo vya Mpito vya CSS aliongeza endesha, mpito kughairi, mwanzo wa mpito, na matukio ya mwisho ya mpito yanayozalishwa wakati mpito wa CSS umewekwa kwenye foleni, kughairiwa, kuanza, au kukamilika kutekelezwa.
  • Wakati wa kubainisha usimbaji wa herufi usio sahihi kupitia overrideMimeType() au aina ya MIME kwa XMLHttpRequest, sasa inarudi kwa UTF-8 badala ya Kilatini-1;
  • Kipengele cha "ruhusu-upakuaji-bila-kuwezesha-mtumiaji", ambacho kiliwezekana kupakua faili kiotomatiki wakati wa kuchakata iframe, kimeacha kutumika na kitaondolewa katika toleo la baadaye. Katika siku zijazo, kuanzisha upakuaji wa faili bila hatua ya wazi ya mtumiaji kutapigwa marufuku, kwani imekuwa ikitumika vibaya, kulazimisha upakuaji na kuingiza sehemu za programu hasidi kwenye kompyuta ya mtumiaji. Mtumiaji kubofya kwenye ukurasa huo huo atahitajika ili kuanza upakuaji. Mali hiyo hapo awali ilipangwa kuondolewa katika Chrome 74, lakini kuondolewa kulikuwa kuahirishwa hadi Chrome 76.
  • Mandhari ya giza ya hiari ya muundo wa kiolesura hutolewa kwa jukwaa la Windows (katika toleo la awali, mandhari ya giza yalitayarishwa kwa ajili ya macOS). Kwa kuwa muundo wa giza unakaribia kufanana na muundo katika hali fiche, kiashiria maalum kimeongezwa badala ya ikoni ya wasifu wa mtumiaji ili kuangazia hali ya uendeshaji ya kibinafsi;
  • Fursa imeongezwa kwa watumiaji wa shirika Udhibiti wa Wingu wa Kivinjari cha Chrome kudhibiti mipangilio ya kivinjari cha mtumiaji kupitia dashibodi ya Msimamizi wa Google;

    Toleo la Chrome 74

Mbali na ubunifu na marekebisho ya hitilafu, toleo jipya huondolewa 39 udhaifu. Udhaifu mwingi ulitambuliwa kama matokeo ya zana za majaribio ya kiotomatiki AnwaniSanitizer, KumbukumbuSanitizer, Dhibiti Uadilifu wa Mtiririko, LibFuzzer ΠΈ AFL. Hakuna matatizo muhimu ambayo yangemruhusu mtu kupita viwango vyote vya ulinzi wa kivinjari na kutekeleza msimbo kwenye mfumo nje ya mazingira ya sandbox. Kama sehemu ya mpango wa kulipa zawadi za pesa taslimu kwa kugundua udhaifu kwa toleo la sasa, Google ililipa tuzo 19 za kiasi cha $26837 (tuzo nne za $3000, tuzo nne za $2000, tuzo moja ya $1337, tuzo nne za $1000, tuzo tatu za $500). Ukubwa wa zawadi 4 bado haujabainishwa.

Chanzo: opennet.ru

Kuongeza maoni