Vydání Chrome 74

Google prezentovány vydání webového prohlížeče Chrome 74... Zároveň k dispozici stabilní vydání bezplatného projektu Chróm, který je základem Chromu. Prohlížeč Chrome jiné použití log Google, možnost stažení Flash modulu na vyžádání, přítomnost systému pro zasílání upozornění v případě havárie, moduly pro přehrávání chráněného video obsahu, systém pro automatickou instalaci aktualizací a přenos během vyhledávání parametry RLZ. Další vydání Chrome 75 je naplánováno na 4. června.

hlavní změny в chróm 74:

  • Když dojde k události onUnload, která je volána při zavření stránky, nyní Je zakázáno zobrazovat vyskakovací okna (volání window.open() je blokováno), které ochrání uživatele před nucením k otevírání reklamních stránek po uzavření pochybných stránek;
  • V enginu JavaScript implementováno se objevil nový režim Bez JIT (příznak „—jitless“), který umožňuje spouštět JavaScript bez použití JIT (používá se pouze interpret) a bez alokace spustitelné paměti během provádění kódu. Deaktivace JIT může být užitečná pro zlepšení zabezpečení při práci s potenciálně nebezpečnými webovými aplikacemi a také pro zajištění sestavení na platformách, které zakazují používání JIT (například iOS, některé chytré televize a herní konzole. Když je JIT deaktivován, spuštění JavaScriptu výkon klesá o 40 % v testu Speedometer 2.0 a 80 % v testu Web Tooling Benchmark, ale při simulaci práce s YouTube došlo pouze k 6% poklesu výkonu, zatímco spotřeba paměti mírně klesla, pouze o 1.7 %;
  • V8 také nabízí velkou porci nových optimalizací. Například provádění volání funkcí, ve kterých počet skutečně předaných parametrů neodpovídá počtu argumentů zadaných při definování funkce, bylo zrychleno o 60 %. Přístup k vlastnostem DOM pomocí funkce get byl zrychlen, což má pozitivní dopad na výkon frameworku Angular. Analýza JavaScriptu byla zrychlena: optimalizace dekodéru UTF-8 umožnila zvýšit výkon analyzátoru v režimu streamování (analýza při načítání) o 8 % a odstranění zbytečných deduplikačních operací přineslo nárůst o dalších 10.5 %;
  • Byly provedeny práce na snížení spotřeby paměti JavaScriptového enginu.
    Přidán kód pro vymazání mezipaměti bajtového kódu, která zabírá přibližně 15 % celkové velikosti haldy. Do garbage collectoru byla přidána fáze, která odstraňuje zřídka zkompilovaný bajtový kód z mezipaměti pro funkce, které se používají, nebo funkce, které jsou volány pouze při inicializaci. Rozhodnutí o vyčištění se provádí na základě nových čítačů, které berou v úvahu poslední přístup k bajtovému kódu. Tato změna snížila spotřebu paměti o 5–15 % bez negativního dopadu na výkon. Navíc kompilátor bajtkódu vylučuje generování zjevně nepoužitého kódu, například, které následuje po návratu nebo přerušení (pokud na něj není přechod přeskokem);

    Vydání Chrome 74

  • Pro WebAssembly implementováno podpora vláken a atomických operací (API WebAssembly Threads a WebAssembly Atomics);
  • Pro samostatné doručování skriptů byla přidána podpora pro hlavičku „#!“, která určuje spuštění interpretru. Například, podobně jako v jiných skriptovacích jazycích, může soubor JavaScriptu vypadat nějak takto:

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

  • Do CSS byl přidán nový mediální dotaz "preferuje-redukovaný-pohyb“, což umožňuje webu určit stav nastavení v operačním systému související s deaktivací animovaných efektů. Pomocí navrhovaného požadavku vlastník webu moci zjistit, že uživatel zakázal animované efekty, a také zakázat různé funkce animace na webu, například odstranit chvění tlačítek používaných k upoutání pozornosti;
  • Kromě možnosti definovat veřejná pole zavedená v Chrome 72 podpora implementována Označení polí jako soukromých, po kterém bude přístup k jejich hodnotám otevřen pouze v rámci třídy. Chcete-li pole označit jako soukromé, přidejte před název pole znak „#“. Stejně jako u veřejných polí nevyžadují soukromé vlastnosti explicitní použití konstruktoru.
  • Byla přidána hlavička Feature-Policy HTTP, která vám umožňuje ovládat chování API a povolit určité funkce (například můžete povolit synchronní provozní režim XMLHttpRequest nebo deaktivovat Geolocation API). JavaScript API kontrolovat aktivitu určitých příležitostí. Pro vývojáře existují dvě nové metody document.featurePolicy a frame.featurePolicy, které nabízejí tři funkce:
    allowFeatures() pro získání seznamu funkcí povolených pro aktuální doménu, allowFeature() pro selektivní kontrolu, zda jsou určité funkce povoleny, a getAllowlistForFeature() pro vrácení seznamu domén, pro které je na aktuální stránce povolena určitá funkce;

  • Přidána experimentální (“chrome://flags#enable-text-fragment-anchor”) podpora pro režim Scroll-To-Text, která vám umožňuje vytvářet odkazy na jednotlivá slova nebo fráze, aniž byste v dokumentu explicitně specifikovali štítky pomocí tagu „a name“ nebo vlastnosti „id“. Pro odeslání odkazu se nabízí speciální parametr “#targetText=”, ve kterém můžete zadat text pro přechod. Je povoleno zadat masku, která obsahuje fráze označující začátek a konec fragmentu pomocí čárky jako jejich oddělovače (například „example.com#targetText=start%20words, end%20words“);
  • Do konstruktoru AudioContext byla přidána možnost vzorkovací frekvence, který umožňuje nastavit vzorkovací frekvenci pro zvukové operace prostřednictvím rozhraní Web Audio API;
  • Přidána podpora třídy Intl.Locale, který poskytuje metody pro analýzu a zpracování parametrů jazyka, oblasti a stylu nastavených národním prostředím, stejně jako pro čtení a zápis značek rozšíření Unicode, ukládání uživatelských nastavení národního prostředí v serializovaném formátu;
  • Механизм Podepsané výměny HTTP (SXG) rozšířena o nástroje pro informování distributoři obsahu o chybách při stahování podepsaného obsahu, jako jsou problémy s ověřením certifikátu. Zpracování chyb se provádí pomocí rozšíření API Protokolování síťových chyb. Připomeňme, že SXG umožňuje vlastník jednoho webu pomocí digitálního podpisu povolí umístění určitých stránek na jiný web, načež, pokud jsou tyto stránky přístupné na druhém webu, prohlížeč uživateli zobrazí adresu URL původního webu, a to navzdory skutečnosti že stránka byla načtena z jiného hostitele;
  • Do třídy TextEncoder byla přidána metoda encodeInto(), který umožňuje zapsat kódovaný řetězec přímo do předem přidělené vyrovnávací paměti. Metoda encodeInto() je vysoce výkonná alternativa k metodě encode(), která vyžaduje provedení operace alokace vyrovnávací paměti při každém přístupu.
  • In Servisní pracovník zajištěno ukládání volání client.postMessage() do vyrovnávací paměti, dokud není dokument připraven. Zprávy odeslané přes client.postMessage() budou zadrženy, dokud nebude vyvolána událost DOMContentLoaded, nebude nastavena onmessage nebo nebude zavolána startMessages();
  • Jak vyžaduje specifikace CSS Transitions přidal Události transitionrun, transitioncancel, transitionstart a transitionend generované, když je přechod CSS zařazen do fronty, zrušen, spuštěn nebo dokončen.
  • Při zadávání nesprávného kódování znaků pomocí overrideMimeType() nebo typu MIME pro XMLHttpRequest se nyní vrátí zpět na UTF-8 namísto Latin-1;
  • Vlastnost „allow-downloads-without-user-activation“, pomocí které bylo možné automaticky stahovat soubory při zpracování prvků iframe, byla zastaralá a v budoucí verzi bude odstraněna. V budoucnu bude zahajování stahování souborů bez výslovného zásahu uživatele zakázáno, protože bylo aktivně využíváno ke zneužití, vynucení stahování a vkládání částí malwaru do počítače uživatele. Ke spuštění stahování bude vyžadováno kliknutí uživatele na stejnou stránku. Vlastnost měla být původně odstraněna v Chrome 74, ale k odstranění došlo odloženo až po Chrome 76.
  • Volitelný tmavý motiv pro návrh rozhraní je nabízen pro platformu Windows (v předchozím vydání byl tmavý motiv připraven pro macOS). Vzhledem k tomu, že tmavý design je téměř totožný s designem v režimu inkognito, byl místo ikony uživatelského profilu přidán speciální indikátor pro zvýraznění soukromého provozního režimu;
  • Byla přidána příležitost pro firemní uživatele Cloudová správa prohlížeče Chrome ke správě nastavení uživatelského prohlížeče prostřednictvím administrátorské konzole Google;

    Vydání Chrome 74

Kromě inovací a oprav chyb nová verze odstraňuje 39 zranitelností. Mnoho zranitelností bylo identifikováno jako výsledek automatizovaných testovacích nástrojů AddressSanitizer, MemorySanitizer, Integrita řízení toku, LibFuzzer и AFL. Nebyly zjištěny žádné kritické problémy, které by umožnily obejít všechny úrovně ochrany prohlížeče a spustit kód v systému mimo prostředí sandboxu. V rámci programu vyplácení peněžních odměn za objevení zranitelností pro aktuální verzi vyplatil Google 19 ocenění ve výši 26837 3000 USD (čtyři ocenění 2000 1337 USD, čtyři ocenění 1000 500 USD, jedno ocenění 4 XNUMX USD, čtyři ocenění XNUMX XNUMX USD, tři ocenění XNUMX USD). Velikost XNUMX odměn zatím nebyla stanovena.

Zdroj: opennet.ru

Přidat komentář