Lëshimi i Chrome 74

Kompania Google paraqiti lëshimin e shfletuesit web Chrome 74. Në të njëjtën kohë disponibel ndër-vara i stabil i projektit të lirë Chromium, që shërben si baza për Chrome. Shfletuesi Chrome dallon përdorimi i logotipëve Google, mundësia e ngarkimit të modulit Flash në kërkesë, ekzistenca e një sistemi njoftimi në rast dështimi, module për riprodhimin e përmbajtjes video të mbrojtur, një sistem automatik për instalimin e përditësimeve dhe transmetimin gjatë kërkimit parametrave RLZ. Çelja e ardhshme e Chrome 75 është caktuar për 4 qershor.

Ndryshimet kryesore Chrome 74:

  • Kur ndodh ngjarja onUnload, e cila shkaktohet gjatë mbylljes së faqes, tani ndalohen do të shfaqë dritare pop-up (shkaktohet bllokimi i thirrjes window.open()), duke siguruar mbrojtje për përdoruesit nga hapja e detyruar e faqeve reklamë pas mbylljes së faqeve të dyshimta;
  • Në motorin JavaScript është realizuar ka një modë të re JIT-less (flamuri "—jitless"), që jep mundësinë për të ekzekutuar JavaScript pa përdorimin e JIT (përdoret vetëm interpreti) dhe pa alokimin e memories ekzekutive gjatë ekzekutimit të kodit. Çaktivizimi i JIT mund të jetë i dobishëm për rritjen e sigurisë gjatë punës me aplikacione web potencialisht të rrezikshme, si dhe për sigurimin e ndërtimit në platforma që ndalojnë përdorimin e JIT (p.sh., në iOS, në disa Smart TV dhe konsola lojërash). Kur JIT është i çaktivizuar, performanca e ekzekutimit të JavaScript zvogëlohet me 40% në testin Speedometer 2.0 dhe me 80% në testin Web Tooling Benchmark, por gjatë simulimit të punës me YouTube është vënë re një rënie të performancës vetëm me 6%. Konsumi i memories në këtë rast zvogëlohet pak, me vetëm 1.7%;
  • Në V8 gjithashtu janë propozuar një sasi e madhe optimizimesh të reja. Për shembull, është rritur me 60% ekzekutimi i thirrjeve të funksioneve, në të cilat numri i parametrave të kaluara në fakt nuk përputhet me numrin e argumenteve të specifikuar gjatë përcaktimit të funksionit. Përdorimi i funksionit get ka përshpejtuar qasjen në pronësitë DOM, e cila ka ndikuar pozitivisht në performancën e kornizës Angular. Punimi i analizës së JavaScript është përshpejtuar: optimizimi i dekoduesit UTF-8 ka rritur performancën e parserit në modalitetin streaming (analizë gjatë ngarkimit) me 8%, ndërsa përjashtimi i operacioneve të tepërta të deduplication ka dhanë një rritje tjetër prej 10.5%;
  • është punuar për të reduktuar konsumimin e memories së motorit JavaScript.
    është shtuar një kod për pastrimin e cache-it të kodit të byte, i cili zë rreth 15% të të gjithë madhësisë së kupës. Në mbledhësin e plehrave është shtuar një fazë për dëbimin nga cache-i të kodit të byte të kompiluar rrallë për funksionet e përdorura ose funksionet që thirren vetëm gjatë inicializimit. Vendimi për pastrimin merret në bazë të numëruesve të rinj, të cilët marrin parasysh kohën e fundit të qasjes në kodin e byte. Ky ndryshim ka mundësuar uljen e konsumit të memories me 5–15% pa pasur ndikim negativ në performancë. Për më tepër, në kompilarin e kodit të byte është përjashtuar gjenerimi i kodit që me siguri nuk do të përdoret, për shembull, ai që ndjek pas return ose break (nëse nuk ka kalim Jump);

    Lëshimi i Chrome 74
  • Për WebAssembly është realizuar përkrahja e rrjedhave dhe operacioneve atomike (API WebAssembly Threads dhe WebAssembly Atomics);
  • Për shpërndarjen e veçantë të skripteve është shtuar mbështetje për titullin "#!", i cili përcakton interpretorin për ekzekutimin. Për shembull, në përputhje me gjuhët e tjera skritpor, skedari JavaScript mund të duket kështu:

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

  • Në CSS është shtuar një kërkesë të re media "prefers-reduced-motion", e cila lejon që faqja të përcaktojë gjendjen e konfigurimeve në sistemin operativ, të lidhura me çaktivizimin e efekteve të animuar. Me ndihmën e kësaj kërkese, pronari i faqes mund mund të kuptojë se përdoruesi ka çaktivizuar efektet animate dhe gjithashtu të çaktivizojë mundësitë e ndryshme animuese në faqen e internetit, për shembull, të heqë efektin e dridhjes së butonave, të përdorur për të tërhequr vëmendjen;
  • Në përveçim të mundësisë së shfaqur në Chrome 72 për përcaktimin e fushave publike është realizuar mbështetje e shënimit të fushave si private, pas të cilit qasja në vlerat e tyre do të jetë e hapur vetëm brenda klasës. Për të shënuar një fushë si private, duhet të vendoset simboli "#" para emrit të fushës. Si në rastin e fushave publike, pronësitë private nuk kërkojnë përdorimin e qartë të konstruktorit.
  • Titulli HTTP Feature-Policy, që lejon menaxhimin e sjelljes së API-ve dhe aktivizimin e mundësive të caktuara (p.sh., është e mundur të aktivizoni modin e punës sinkron në XMLHttpRequest ose të çaktivizoni Geolocation API), është plotësuar JavaScript API për kontrollin e aktivizimit të mundësive të caktuara. Për zhvilluesit janë propozuar dy metoda të reja document.featurePolicy dhe frame.featurePolicy, që ofrojnë tre funksione:
    allowedFeatures() për të marrë një listë të funksioneve të lejuara për domain aktual, allowsFeature() për verifikimin selektiv të aktivizimit të mundësive të caktuara dhe getAllowlistForFeature() për daljen e listës së domainëve për të cilët në faqen aktuale lejohet mundësia e caktuar;
  • Është shtuar mbështetje eksperimentale ("chrome://flags#enable-text-fragment-anchor") për modalitetin Scroll-To-Text, позволяющего формировать ссылки на отдельные слова или фразы, без явного указания в документе меток при помощи тега «a name» или свойства «id». Для передачи ссылки предлагается специальный параметр «#targetText=», в котором можно указать текст для перехода. Допускается указание маски, включающей фразы, указывающие на начало и конец фрагмента с использованием запятой в качестве их разделителя (например, «example.com#targetText=start%20words, end%20words»);
  • Në konstruktorin AudioContext është shtuar një mundësi sampleRate, e cila lejon të vendosni frekuencën e mostrimit për operacionet me zë përmes Web Audio API;
  • Është shtuar mbështetje për klasën Intl.Locale, e cila ofron metoda për analizimin dhe përpunimin e parametrave të caktuar nga regjioni, gjuhës dhe shkrimit, si dhe për të lexuar dhe shkruar etiketat e zgjerimit Unicode, duke ruajtur cilësimet e përdoruesit për regjionin në një format të serializuar;
  • Mekanizmi Marrëveshjet e Nënshkruara HTTP (SXG) është zgjeruar me mjete për informimi distributorët e përmbajtjes për gabimet e ngarkimit të përmbajtjes së nënshkruar, siç janë problemet me verifikimin e certifikatave. Trajtimi i gabimeve kryhet përmes zgjerimeve të API-së Network Error Logging. Kujtojmë se SXG lejon lejon pronarin e një site-i, përmes një firme digjitale, të autorizojë vendosjen e disa faqeve në një tjetër site, pas së cilës, kur përdoruesit ndajnë këto faqe në sitin e dytë, shfletuesi do t'i tregojë atyre URL-në e site-it origjinal, pavarësisht se faqja është ngarkuar nga një host tjetër;
  • Në klasën TextEncoder është shtuar metoda encodeInto(), e cila lejon të shkruani një varg të koduar direkt në një tampon të paraprakisht të ndarë. Metoda encodeInto() është një alternativë me performancë të lartë ndaj metodës encode(), e cila kërkon kryerjen e një operacioni ndarjeje të tamponit me çdo thirrje.
  • Në shërbimin worker është siguruar është ruajtur thirrja client.postMessage() deri në momentin kur dokumenti është gati. Mesazhet e dërguara përmes client.postMessage() do të mbahen deri në fazën e gjenerimit të ngjarjes DOMContentLoaded, vendosjes së onmessage ose thirrjes startMessages();
  • Në përputhje me kërkesat e specifikimit CSS Transitions shtuar ngjarjet transitionrun, transitioncancel, transitionstart dhe transitionend, të cilat gjenerohen kur një CSS-transition është vendosur në radhë, anulohet, fillon ose përfundon.
  • Kur tregoni përmes overrideMimeType() ose MIME-tipin e papërshtatshëm të kodimit të simboleve për kërkesën XMLHttpRequest, tani kryhet kthimi në UTF-8 në vend të Latin-1;
  • Është shpallur i vjetruar dhe do të hiqet në një nga lëshimet e ardhshme pronësia "allow-downloads-without-user-activation", përmes së cilës ishte e mundur të organizohej shkarkimi automatik i skedarëve gjatë përpunimit në iframe. Në të ardhmen, iniciimi i shkarkimeve të skedarëve pa veprimin e shprehur të përdoruesit do të ndalohet, pasi është përdorur aktivisht për abuzime, ngarkimin e skedarëve dhe inkorporimin e pjesëve të kodit të dëmshëm në kompjuterin e përdoruesit. Për të filluar shkarkimin do të kërkohet një klikim i përdoruesit në të njëjtën faqe. Fillimisht, pronësia ishte planifikuar të hiqej në Chrome 74, por heqja u është shtyrë shty nga Chrome 76.
  • Për platformën Windows është propozuar një temë e errët opsionale të ndërfaqes (në lëshimin e mëparshëm tema e errët ishte përgatitur për macOS). Duke qenë se tema e errët është pothuajse identike me dizajnin në modin inkognito, për të dalluar modin privat të punës është shtuar një tregues i veçantë në vend të ikonës së profilit të përdoruesit;
  • Për përdoruesit e korporatave është shtuar mundësia Chrome Browser Cloud Management për të menaxhuar cilësimet e shfletuesve të përdoruesve përmes konsolës Google Admin;

    Lëshimi i Chrome 74

Përveç novacioneve dhe rregullimit të gabimeve, në versionin e ri janë eliminuar 39 vulnerabilitete. Shumë nga vulnerabilitetet janë identifikuar përmes testimit automatizuar me mjete AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Nuk janë zbuluar probleme kritike, të cilat mund të kalojnë të gjitha nivelet e mbrojtjes së shfletuesit dhe të ekzekutojnë kodin në sistem jashtë sandbox-it. Në kuadër të programit të shpërblimit për identifikimin e vulnerabiliteteve për lëshimin aktual, kompania Google ka shpërblyer 19 çmime me një total prej 26837 dollarësh (katër çmime $3000, katër çmime $2000, një çmim $1337, katër çmime $1000, tre çmime $500). Shuma e 4 shpërblimeve ende nuk është përcaktuar.

Burimi: opennet.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster