Uzņēmums Google web pārlūkprogrammas izlaidums . Tajā pašā laikā stabils brīvs projekta izlaidums , kas kalpo kā Chrome pamatne. Pārlūkprogramma Chrome izmantojot Google logo, iespēju lejupielādēt Flash moduļa pēc pieprasījuma, crash brīdinājumu sistēmu, aizsargātā video satura atskaņošanai nodrošinātus moduļus, automātiskās atjaunināšanas sistēmu un meklēšanas laikā informācijas nosūtīšanu . Nākamais Chrome 75 izlaidums plānots 4. jūnijā.
:
- Notikuma onUnload gadījumā, kas tiek izsaukts, kad lapa tiek aizvērta, tagad izmantot uznirstošās logus (tiek bloķēts window.open() izsaukums), kas palīdzēs aizsargāt lietotājus no piespiedu reklāmas lapu atvēršanas pēc apšaubāmu vietņu apmeklēšanas;
- JavaScript dzinējā ir ienācis jauns režīms (karoga «—jitless»), kas ļauj izpildīt JavaScript bez JIT pielietošanas (tiek izmantots tikai interpreters) un bez izpildāmas atmiņas piešķiršanas koda izpildes laikā. JIT deaktivizācija var būt noderīga drošības uzlabošanai, strādājot ar potenciāli bīstamām tīmekļa lietotnēm, kā arī nodrošināt izpildi platformās, kurās JIT izmantošana ir aizliegta (piemēram, iOS, dažos Smart TV un spēļu konsolēs). JIT atslēgšana samazina JavaScript izpildes veiktspēju par 40% Speedometer 2.0 testā un par 80% Web Tooling Benchmark testā, bet simulējot darbu ar YouTube veiktspējas kritums tika novērots tikai par 6%. Atmiņas patēriņš šajā gadījumā nedaudz samazinās, tikai par 1.7%;
- V8 ir piedāvātas arī ievērojamas jaunas optimizācijas. Piemēram, funkciju izsaukumu izpilde, kur faktiski nodotie parametri neatbilst funkcijas definētiem argumentiem, ir paātrināta par 60%. DOM īpašību piekļuve, izmantojot get funkciju, ir paātrināta, kas pozitīvi ietekmēja Angular ietvara veiktspēju. JavaScript parsēšanas uzlabojums: UTF-8 dekodētāja optimizācija palielināja parsētāja veiktspēju streaming režīmā (parsēšana notiek paša ielādēšanas laikā) par 8%, bet lieko operāciju deduplicēšanas izslēgšana sniedza vēl 10.5% pieaugumu;
- Veikta darbība, lai samazinātu JavaScript dzinēja atmiņas patēriņu.
Pievienots bytekoda keša tīrīšanas kods, kas aizņem apmēram 15% no visas kaudzes lieluma. Atkritumu vākšanā pievienota fāze, lai padzītu no keša reti kompilēto bytekodu noderīgām funkcijām vai funkcijām, kas tiek izsauktas tikai inicializācijas laikā. Lēmums par tīrīšanu tiek pieņemts, pamatojoties uz jaunajiem skaitītājiem, kas ņem vērā pēdējo piekļuvi bytekodam. Minētā izmaiņa ļāva samazināt atmiņas patēriņu par 5–15% bez nelabvēlīgas ietekmes uz veiktspēju. Turklāt bytekoda kompilatorā izslēgta acīmredzamu neizmantota kodu, piemēram, kas seko pēc return vai break (ja tam nav Jump lēciena);
- WebAssembly atbalsts pavedieniem un atomiskām darbībām (WebAssembly Threads API un WebAssembly Atomics);
- Izvērstai skriptu piegādei pievienots atbalsts galvene "#!", kas nosaka interpretatoru palaišanai. Piemēram, pēc analogijas ar citām skriptu valodām, JavaScript failam var izskatīties apmēram tā:
#!/usr/bin/env node
console.log(42); - CSS ir pievienots jauns media vaicājums "", ļaujot vietnei noteikt operētājsistēmas iestatījumu stāvokli, kas saistīts ar animāciju efektu izmantošanas atslēgšanu. Izmantojot piedāvāto pieprasījumu, vietnes īpašnieks uzzināt, ka lietotājs ir atslēdzis animāciju efektus, un arī atslēgt dažādas animācijas iespējas vietnē, piemēram, noņemt pogu trīcēšanas efektu, ko izmanto, lai pievērstu uzmanību;
- Papildus Chrome 72 ieviestajai publisko lauku noteikšanas iespējai privātu lauku marķēšanai, pēc kā piekļuve to vērtībām tiks nodrošināta tikai klasē. Lai marķētu lauku kā privātu, jāpievieno pirms lauka nosaukuma simbols "#". Tāpat kā publiskajiem laukiem privātajām īpašībām nav nepieciešama tieša konstruktoru izmantošana.
- HTTP galvene Feature-Policy, kas ļauj pārvaldīt API uzvedību un noteiktu iespēju ieslēgšanu (piemēram, var ieslēgt sinhrono XMLHttpRequest režīmu vai atslēgt Geolocation API), ir papildināta funkciju kontrolei attiecībā uz konkrētām iespējām. Izstrādātājiem piedāvāti divi jauni dokumenta.featurePolicy un frame.featurePolicy metodes, piedāvājot trīs funkcijas:
allowedFeatures() funkcija, lai iegūtu atļauto funkciju sarakstu pašreizējai domei, allowsFeature() funkcija, lai selektīvi pārbaudītu konkrētu iespēju ieslēgšanu un getAllowlistForFeature() funkcija, lai izvadītu domēnu sarakstu, kuru tai pašreizējā lapā atļauta piedāvātā iespēja; - Pievienota eksperimentāla („chrome://flags#enable-text-fragment-anchor”) atbalsta režīma , kas ļauj izveidot saites uz atsevišķiem vārdiem vai frāzēm, nerādot acīmredzamas marķēšanas atzīmes dokumentā ar tagu «a name» vai īpašību «id». Lai nodotu saiti, tiek piedāvāts īpašs parametrs «#targetText=», kurā var norādīt tekstu pārejai. Ir atļauta maska, kas ietver frāzes, kas norāda fragmenta sākumu un beigas, izmantojot komatu kā to atdalītāju (piemēram, «example.com#targetText=startwords, endwords»);
- AudioContext konstruktorā pievienota iespēja , kas ļauj iestatīt veiktos paraugu ņemšanas ātrumu skaņas apstrādē, izmantojot Web Audio API;
- Pievienota atbalsts klasei , kas nodrošina metodes valodas, reģiona un rakstības parametru analīzei un apstrādei, kā arī Unicode paplašinājumu tagu lasīšanai un rakstīšanai, kā arī lietotāja iestatījumu saglabāšanai lokalizētā formātā;
- Sistēma (SXG) ir paplašināta ar rīkiem, lai satura izplatītājus par parakstīta satura ielādes kļūdām, piemēram, problēmām ar sertifikātu pārbaudi. Kļūdu apstrāde notiek caur API . Atgādinām, ka SXG ļauj vienas vietnes īpašniekam ar digitālo parakstu autorizēt noteiktu lapu izvietošanu citā vietnē, pēc tam, ja lietotājs piekļūst šīm lapām otrajā vietnē, pārlūkprogramma lietotājam rādīs oriģinālās vietnes URL, neskatoties uz to, ka lapa ielādēta no cita resursa;
- Teksta kodēšanas klasē TextEncoder pievienota metode , kas ļauj ierakstīt kodētu virkni tieši iepriekš piešķirtā buferī. encodeInto() metode ir augstas veiktspējas alternatīva encode() metodei, kurai katrā izsaukumā ir nepieciešama bufera piešķiršana.
- Service worker buferēšanas izsaukums client.postMessage() līdz dokumenta gatavībai. Ziņas, kas nosūtītas caur client.postMessage(), tiks turētas līdz DOMContentLoaded notikuma ģenerēšanai, onmessage uzstādīšanai vai startMessages(); izsaukumam.
- saskaņā ar CSS pāreju specifikācijas prasību pāreju notikumi transitionrun, transitioncancel, transitionstart un transitionend, kas tiek ģenerēti, kad CSS pāreja tiek ievietota rindā, tiek atcelta, sākas vai beidzas.
- Norādot nepareizu simbolu kodēšanas MIME tipu pieprasījumam XMLHttpRequest caur overrideMimeType(), tagad tiek veikta atkāpšanās uz UTF-8 vietā Latin-1;
- ir pasludināts par novecojušu un tiks izņemts vienā no nākamajiem laidieniem īpašums „allow-downloads-without-user-activation”, ar kuru varēja organizēt automātisku failu lejupielādi, apstrādājot iframe. Nākotnē failu lejupielāde bez lietotāja skaidras darbības tiks aizliegta, jo tā tika aktīvi izmantota ļaunprātīgam nolūkam, lejupielāžu uzspiešanai un ļaunprogrammatūras daļu ielādēšanai lietotāja datorā. Lai uzsāktu lejupielādi, lietotājam būs jāklikšķina uz tās pašas lapas. Sākotnēji bija plānots šo īpašumu izņemt Chrome 74, taču izņemšana tika līdz Chrome 76.
- Windows platformai tika piedāvāta opciju tumšā tēma. Iepriekšējā laidienā tumšais izskats tika sagatavots macOS. Tā kā tumšais izskats gandrīz pilnībā atbilst inkognito režīma stilam, privātā darba režīma atšķiršanai tiek pievienots īpašs indikators vietā, kur būtu lietotāja profila ikona;
- korporatīvajiem lietotājiem ir pievienota iespēja lai pārvaldītu lietotāju pārlūkprogrammu iestatījumus caur Google Admin konsoli;
Papildus jaunievedumiem un kļūdu labojumiem jaunajā versijā ir novērstas . Daudzas no ievainojamībām tika atklātas automatizēta testēšanas laikā, izmantojot rīkus , , , un . Nav atklātas kritiskas problēmas, kas ļautu apiet visus pārlūkprogrammas aizsardzības līmeņus un izpildīt kodu sistēmā ārpus sandbox vides. Aktuālajam laidienam kompānija Google, īstenojot balvas programmu par atklātām ievainojamībām, ir izmaksājusi 19 balvas, kuru kopējā summa ir 26837 ASV dolāri (četras balvas pa $3000, četras balvas pa $2000, viena balva pa $1337, četras balvas pa $1000, trīs balvas pa $500). 4 balvu apmērs vēl nav noteikts.
Avots: opennet.lv

