Vydanie Chrome 74

Google представила vydanie webového prehliadača Chrome 74... Súčasne k dispozícii stabilné vydanie bezplatného projektu Chróm, ktorý slúži ako základ prehliadača Chrome. Prehliadač Chrome odlišný používanie log Google, možnosť stiahnuť si Flash modul na požiadanie, prítomnosť systému na odosielanie upozornení v prípade havárie, moduly na prehrávanie chráneného video obsahu, systém na automatickú inštaláciu aktualizácií a prenos počas vyhľadávania parametre RLZ. Ďalšie vydanie prehliadača Chrome 75 je naplánované na 4. júna.

Hlavné zmeny в chróm 74:

  • Keď nastane udalosť onUnload, ktorá sa volá pri zatvorení stránky, teraz je zakázané zobrazovanie vyskakovacích okien (volanie window.open() je zablokované), ktoré ochráni používateľov pred núteným otváraním reklamných stránok po zatvorení pochybných stránok;
  • V nástroji JavaScript implementovaná sa objavil nový režim JIT-menej (príznak „—jitless“), ktorý umožňuje spúšťať JavaScript bez použitia JIT (používa sa iba interpret) a bez prideľovania spustiteľnej pamäte počas vykonávania kódu. Vypnutie JIT môže byť užitočné na zlepšenie bezpečnosti pri práci s potenciálne nebezpečnými webovými aplikáciami, ako aj na zabezpečenie verzií na platformách, ktoré zakazujú používanie JIT (napríklad iOS, niektoré inteligentné televízory a herné konzoly. Keď je JIT vypnutý, spúšťanie JavaScriptu výkon klesá o 40% v teste Speedometer 2.0 a 80% v teste Web Tooling Benchmark, no pri simulácii práce s YouTube došlo len k 6% poklesu výkonu, pričom spotreba pamäte mierne klesla, len o 1.7%;
  • V8 ponúka aj veľkú porciu nových optimalizácií. Napríklad vykonávanie volaní funkcií, pri ktorých počet skutočne odovzdaných parametrov nezodpovedá počtu argumentov zadaných pri definovaní funkcie, sa zrýchlilo o 60 %. Prístup k vlastnostiam DOM pomocou funkcie get bol zrýchlený, čo má pozitívny vplyv na výkon frameworku Angular. Analýza JavaScriptu sa zrýchlila: optimalizácia dekodéra UTF-8 umožnila zvýšiť výkon syntaktického analyzátora v režime streamovania (analýza pri načítaní) o 8 % a odstránenie nepotrebných operácií deduplikácie viedlo k zvýšeniu o ďalších 10.5 %;
  • Bola vykonaná práca na znížení spotreby pamäte stroja JavaScript.
    Pridaný kód na vymazanie vyrovnávacej pamäte bajtového kódu, ktorá zaberá približne 15 % z celkovej veľkosti haldy. Do zberača odpadkov bola pridaná fáza na odstránenie zriedkavo zostaveného bajtového kódu z vyrovnávacej pamäte pre funkcie, ktoré sa používajú, alebo funkcie, ktoré sa volajú iba pri inicializácii. Rozhodnutie o vyčistení sa robí na základe nových počítadiel, ktoré berú do úvahy posledný prístup k bajtovému kódu. Táto zmena znížila spotrebu pamäte o 5 – 15 % bez negatívneho vplyvu na výkon. Okrem toho kompilátor bajtkódu vylučuje generovanie zjavne nepoužitého kódu, napríklad, ktorý nasleduje po návrate alebo prerušení (ak naň neexistuje prechod cez skok);

    Vydanie Chrome 74

  • Pre WebAssembly implementovaná podpora vlákien a atomických operácií (API WebAssembly Threads a WebAssembly Atomics);
  • Pre samostatné doručovanie skriptov bola pridaná podpora pre hlavičku „#!“, ktorá určuje spustenie tlmočníka. Napríklad, podobne ako iné skriptovacie jazyky, súbor JavaScript môže vyzerať asi takto:

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

  • Do CSS bol pridaný nový mediálny dopyt “preferuje-redukovaný-pohyb“, čo umožňuje stránke určiť stav nastavení v operačnom systéme súvisiacich so zakázaním animovaných efektov. Pomocou navrhovanej žiadosti vlastník lokality plechovka zistiť, že používateľ zakázal animované efekty a tiež zakázal rôzne funkcie animácie na stránke, napríklad odstrániť efekt trasenia tlačidiel používaných na upútanie pozornosti;
  • Okrem možnosti definovať verejné polia zavedenej v Chrome 72 implementovaná podpora Označenie polí ako súkromných, po ktorých bude prístup k ich hodnotám otvorený iba v rámci triedy. Ak chcete pole označiť ako súkromné, pridajte pred názov poľa znak „#“. Rovnako ako pri verejných poliach, súkromné ​​vlastnosti nevyžadujú explicitné použitie konštruktora.
  • Bola pridaná hlavička Feature-Policy HTTP, ktorá vám umožňuje ovládať správanie API a povoliť určité funkcie (napríklad môžete povoliť režim synchrónnej prevádzky XMLHttpRequest alebo zakázať Geolocation API). JavaScript API kontrolovať činnosť určitých príležitostí. Pre vývojárov existujú dve nové metódy document.featurePolicy a frame.featurePolicy, ktoré ponúkajú tri funkcie:
    allowFeatures() na získanie zoznamu funkcií povolených pre aktuálnu doménu, allowFeature() na selektívnu kontrolu, či sú povolené špecifické funkcie, a getAllowlistForFeature() na vrátenie zoznamu domén, pre ktoré je na aktuálnej stránke povolená určitá funkcia;

  • Pridaná experimentálna (“chrome://flags#enable-text-fragment-anchor”) podpora pre režim Scroll-To-Text, ktorý vám umožňuje vytvárať odkazy na jednotlivé slová alebo frázy bez toho, aby ste v dokumente explicitne špecifikovali štítky pomocou značky „a name“ alebo vlastnosti „id“. Na odoslanie odkazu sa ponúka špeciálny parameter „#targetText=“, v ktorom môžete zadať text pre prechod. Je povolené zadať masku, ktorá obsahuje frázy označujúce začiatok a koniec fragmentu pomocou čiarky ako ich oddeľovača (napríklad „example.com#targetText=začiatok%20slov, koniec%20slov“);
  • Do konštruktora AudioContext bola pridaná možnosť sampleRate, ktorý vám umožňuje nastaviť vzorkovaciu frekvenciu pre zvukové operácie prostredníctvom rozhrania Web Audio API;
  • Pridaná podpora triedy Intl.Locale, ktorý poskytuje metódy na analýzu a spracovanie parametrov jazyka, regiónu a štýlu nastavených v lokálnom nastavení, ako aj na čítanie a zápis značiek rozšírenia Unicode, pričom ukladá nastavenia používateľského miestneho nastavenia v serializovanom formáte;
  • mechanizmus Podpísané výmeny HTTP (SXG) rozšírený o nástroje pre informovanie distribútorov obsahu o chybách pri sťahovaní podpísaného obsahu, ako sú problémy s overením certifikátu. Spracovanie chýb sa vykonáva prostredníctvom rozšírení API Zapisovanie chýb siete. Pripomeňme si, že SXG umožňuje vlastník jednej stránky pomocou digitálneho podpisu povolí umiestnenie určitých stránok na inú stránku, po ktorej, ak sú tieto stránky prístupné na druhej stránke, prehliadač zobrazí používateľovi URL pôvodnej stránky, napriek tomu že stránka bola načítaná z iného hostiteľa;
  • Do triedy TextEncoder bola pridaná metóda encodeInto(), ktorý vám umožňuje zapísať kódovaný reťazec priamo do vopred pridelenej vyrovnávacej pamäte. Metóda encodeInto() je vysoko výkonná alternatíva k metóde encode(), ktorá vyžaduje vykonanie operácie prideľovania vyrovnávacej pamäte pri každom prístupe k nej.
  • In Servisný pracovník zabezpečené ukladanie volania client.postMessage() do vyrovnávacej pamäte, kým nebude dokument pripravený. Správy odoslané cez client.postMessage() budú zadržané, kým sa nevyvolá udalosť DOMContentLoaded, nenastaví sa onmessage alebo kým sa nezavolá startMessages();
  • Ako to vyžaduje špecifikácia CSS Transitions pridané Udalosti transitionrun, transitioncancel, transitionstart a transitionend generované, keď je prechod CSS zaradený do frontu, zrušený, spustí sa alebo dokončí vykonávanie.
  • Pri zadávaní nesprávneho kódovania znakov pomocou overrideMimeType() alebo typu MIME pre požiadavku XMLHttpRequest sa teraz vráti späť na UTF-8 namiesto Latin-1;
  • Vlastnosť „allow-downloads-without-user-activation“, prostredníctvom ktorej bolo možné automaticky sťahovať súbory pri spracovaní prvkov iframe, bola zastaraná a v budúcom vydaní bude odstránená. V budúcnosti bude iniciovanie sťahovania súborov bez výslovného zásahu používateľa zakázané, pretože sa aktívne používa na zneužívanie, vynucovanie sťahovania a vkladanie častí škodlivého softvéru do počítača používateľa. Na spustenie sťahovania bude potrebné, aby používateľ klikol na rovnakú stránku. Vlastnosť bola pôvodne plánovaná na odstránenie v prehliadači Chrome 74, ale k odstráneniu došlo odložené až po Chrome 76.
  • Pre platformu Windows je ponúkaná voliteľná tmavá téma pre dizajn rozhrania (v predchádzajúcom vydaní bola tmavá téma pripravená pre macOS). Keďže tmavý dizajn je takmer identický s dizajnom v režime inkognito, namiesto ikony užívateľského profilu bol pridaný špeciálny indikátor, ktorý zvýrazní súkromný prevádzkový režim;
  • Bola pridaná príležitosť pre firemných používateľov Cloudová správa prehliadača Chrome spravovať nastavenia používateľského prehliadača prostredníctvom správcovskej konzoly Google;

    Vydanie Chrome 74

Okrem inovácií a opráv chýb nová verzia odstraňuje 39 zraniteľností. Mnohé zo zraniteľností boli identifikované ako výsledok automatizovaného testovania pomocou nástrojov AddressSanitizer, MemorySanitizer, Kontrola integrity toku, LibFuzzer и AFL. Neboli identifikované žiadne kritické problémy, ktoré by umožnili obísť všetky úrovne ochrany prehliadača a spustiť kód v systéme mimo prostredia karantény. V rámci programu vyplácania peňažných odmien za objavenie zraniteľností pre aktuálnu verziu vyplatil Google 19 ocenení v hodnote 26837 3000 USD (štyri ocenenia 2000 1337 USD, štyri ocenenia 1000 500 USD, jedno ocenenie 4 XNUMX USD, štyri ocenenia XNUMX XNUMX USD, tri ocenenia XNUMX USD). Veľkosť XNUMX odmien ešte nebola stanovená.

Zdroj: opennet.ru

Pridať komentár