Spoločnosť Google uvedenie webového prehliadača . Súčasne stabilné vydanie otvoreného projektu , ktoré je základom Chrome. Prehliadač Chrome používanie logotypov Google, možnosť načítania modulu Flash na požiadanie, existencia systému odosielania upozornení v prípade zlyhania, modulov na prehrávanie chráneného video obsahu, systém automatickej inštalácie aktualizácií a prenos pri vyhľadávaní . Ďalšie vydanie Chrome 75 je naplánované na 4. júna.
:
- Pri nastaní udalosti onUnload, ktorá sa vyvoláva pri zatvorení stránky, teraz zobrazovať vyskakovacie okná (blokuje sa volanie window.open()), čo ochráni používateľov pred núteným otváraním reklamných stránok po zatvorení pochybného webu;
- V JavaScriptovom engíne sa objavil nový režim (flag „—jitless“), ktorý umožňuje vykonávať JavaScript bez použitia JIT (používa sa len interpretera) a bez pridelovania vykonávacej pamäte počas vykonávania kódu. Vypnutie JIT môže byť prospešné na zvyšovanie bezpečnosti pri práci s potenciálne nebezpečnými webovými aplikáciami, ako aj na zabezpečenie zostavenia na platformách, ktoré zakazujú používanie JIT (napríklad v iOS, na niektorých Smart TV a herných konzolách). Pri vypnutí JIT sa výkon JavaScriptu zníži o 40 % v teste Speedometer 2.0 a o 80 % v teste Web Tooling Benchmark, avšak pri simulácii práce s YouTube bolo zaznamenané zníženie výkonu iba o 6 %. Spotreba pamäte sa pritom mení len nepatrne, iba o 1.7%;
- V motoru V8 bola taktiež navrhnutá veľká porcia nových optimalizácií. Napríklad, vykonávanie volaní funkcií, kde počet skutočne predaných parametrov nezodpovedá počtu argumentov uvedených pri definícii funkcie, bolo zrýchlené o 60 %. Prístup k vlastnostiam DOM sa urýchlil pomocou funkcie get, čo pozitívne ovplyvnilo výkon frameworku Angular. Zrýchlil sa proces parsovania JavaScriptu: optimalizácia dekóderu UTF-8 umožnila zvýšiť výkon parsera v režime streaming (parsovanie počas načítania) o 8 %, a vylúčenie zbytočných operácií deduplikačného procesoru poskytlo ďalší nárast o 10.5%;
- Bola vykonaná práca na znížení spotreby pamäte JavaScriptového enginu.
Bol pridaný kód na čistenie cache bytekódu, ktorý zaberá približne 15 % z celkovej veľkosti haldy. Do garbage collectoru bola pridaná fáza na vyčistenie z cache zriedka skompilovaného bytekódu pre používané funkcie alebo funkcie, ktoré sa volajú len pri inicializácii. Rozhodnutie o čistení sa prijíma na základe nových čítačiek, ktoré zohľadňujú posledný čas prístupu k bytekódu. Uvedená zmena umožnila znížiť spotrebu pamäte o 5–15 % bez negatívneho vplyvu na výkon. Navyše, v kompilátore bytekódu bola vylúčená generácia evidentne nepoužívaného kódu, napríklad kódu nasledujúceho za return alebo break (ak naň neexistuje Jump-prechod);
- Pre WebAssembly podpora vlákien a atomických operácií (API WebAssembly Threads a WebAssembly Atomics);
- Pre samostatné dodanie skriptov bola pridaná podpora hlavičky „#!“, ktorá určuje interpret pre spustenie. Napríklad, podobne ako v ďalších skriptových jazykoch, môže súbor JavaScript vyzerať približne takto:
#!/usr/bin/env node
console.log(42); - V CSS bol pridaný nový media dotaz „„, ktorý umožňuje stránke určiť stav nastavení v operačnom systéme súvisiacich s vypnutím animovaných efektov. Pomocou navrhnutého dotazu môže vlastník stránky zistiť, že používateľ si vypol animované efekty a tiež vypnúť rôzne animované funkcie na stránke, napríklad odstrániť efekt trasenia tlačidiel používaných na upútanie pozornosti;
- Okrem možnosti, ktorá sa objavila v Chrome 72, stanovujúcej verejné polia, označovania polí za súkromné, po čom bude prístup k ich hodnotám otvorený len v rámci triedy. Na označenie poľa ako súkromného je potrebné uviesť pred názov poľa znak „#“. Rovnako ako pri verejných poliach, súkromné vlastnosti si nevyžadujú explicitné použitie konštruktora.
- HTTP hlavička Feature-Policy, ktorá umožňuje spravovať správanie API a zapínanie určitých funkčností (napríklad je možné zapnúť synchronný režim pre XMLHttpRequest alebo vypnúť Geolocation API), bola doplnená na kontrolu aktivity určitých funkčností. Pre vývojárov boli navrhnuté dva nové metódy document.featurePolicy a frame.featurePolicy, ktoré ponúkajú tri funkcie:
allowedFeatures() na získanie zoznamu povolených funkcií pre aktuálnu doménu, allowsFeature() na selektívnu kontrolu aktivácie konkrétnych možností a getAllowlistForFeature() na zobrazenie zoznamu domén, pre ktoré je na aktuálnej stránke povolená uvedená funkcia; - Pridaná experimentálna podpora režimu ("chrome://flags#enable-text-fragment-anchor"). , čo umožňuje vytvárať odkazy na jednotlivé slová alebo frázy bez explicitného označenia v dokumente pomocou značky „a name“ alebo atribútu „id“. Na prenášanie odkazu sa navrhuje špeciálny parameter „#targetText=“, kde je možné uviesť text pre presun. Umožňuje sa uvádzanie masky, ktorá zahŕňa frázy vyznačujúce začiatok a koniec fragmentu s použitím čiarky ako ich oddeľovača (napríklad „example.com#targetText=startwords, endwords“);
- Do konštruktora AudioContext bola pridaná možnosť , ktorá umožňuje nastaviť požadovanú vzorkovaciu frekvenciu pre operácie so zvukom prostredníctvom Web Audio API;
- Pridaná podpora triedy , ktorý poskytuje metódy na analýzu a spracovanie parametrov jazyka, regiónu a písma uvádzaných lokalizáciou, ako aj na čítanie a zápis tagov rozšírení Unicode a na uloženie používateľských nastavení lokalizácie v serializovanom formáte;
- Mechanizmus (SXG) bol rozšírený prostriedkami pre distribútorov obsahu o chybách pri načítavaní podpísaného obsahu, ako sú problémy s overením certifikátov. Spracovanie chýb sa vykonáva prostredníctvom API rozšírení . Pripomíname, že SXG umožňuje vlastníkovi jedného webu prostredníctvom digitálneho podpisu autorizovať zverejnenie určitých stránok na inom webe, pričom v prípade prístupu k týmto stránkam na druhom webe prehliadač používateľovi ukáže URL pôvodného webu, aj keď stránka bola načítaná z iného hostiteľa;
- Do triedy TextEncoder bol pridaný metód , ktorý umožňuje zapísať zakódovaný reťazec priamo do predtým vyhradeného buffera. Metód encodeInto() je vysoko výkonnou alternatívou metódy encode(), ktorá vyžaduje vykonanie operácie vyhradenia buffera pri každom zavolaní.
- V Service workeri sa vyvolávanie client.postMessage() udrží až do pripravenosti dokumentu. Správy odoslané prostredníctvom client.postMessage() sa budú zadržiavať až do fázy generovania udalosti DOMContentLoaded, nastavenia onmessage alebo zavolania startMessages();
- V súlade s požiadavkou špecifikácie CSS Transitions udalosti transitionrun, transitioncancel, transitionstart a transitionend, generované, keď je CSS-prechod zaradený do fronty, zrušený, začína alebo sa dokončuje.
- Pri určení cez overrideMimeType() alebo MIME-typ neplatného kódovania znakov pre požiadavku XMLHttpRequest, teraz prebieha návrat na UTF-8 namiesto Latin-1;
- Vlastnosť „allow-downloads-without-user-activation“, ktorá umožnila automatické sťahovanie súborov pri spracovaní iframe, bola vyhlásená za zastaranú a bude odstránená v jednej z nasledujúcich verzií. V budúcnosti sa zakáže iniciovanie sťahovania súborov bez jasného konania používateľa, pretože sa aktívne zneužívalo na podvody, vnucovanie sťahovania a vkladanie častí škodlivého softvéru na počítač používateľa. Na začatie sťahovania sa bude vyžadovať kliknutie používateľa na rovnakej stránke. Pôvodne sa plánovalo odstránenie tejto vlastnosti v Chrome 74, ale odstránenie bolo posunuté na Chrome 76.
- Pre platformu Windows bola navrhnutá voliteľná tmavá téma rozhrania (v predchádzajúcej verzii bola tmavá téma pripravená pre macOS). Keďže tmavé rozhranie je takmer identické s dizajnom v inkognito móde, pre zvýraznenie súkromného režimu bola namiesto ikony profilu používateľa pridaná špeciálna indikácia;
- Pre firemných používateľov bola pridaná možnosť na správu nastavení prehliadačov používateľov prostredníctvom konzoly Google Admin;
Okrem noviniek a opravy chýb bola v novej verzii odstránená . Mnohé z zraniteľností boli odhalené prostredníctvom automatizovaného testovania nástrojmi , , , a . Neboli zistené kritické problémy, ktoré by umožnili obísť všetky úrovne ochrany prehliadača a vykonať kód v systéme mimo sandboxového prostredia. V rámci programu na vyplácanie peňažných odmien za odhaľovanie zraniteľností spoločnosť Google vyplatila za aktuálnu verziu 19 odmien v celkovej sume 26,837 dolárov (štyri odmeny vo výške 3000 dolárov, štyri odmeny vo výške 2000 dolárov, jedna odmena vo výške 1337 dolárov, štyri odmeny vo výške 1000 dolárov, tri odmeny vo výške 500 dolárov). Výška 4 odmien zatiaľ nebola určená.
Zdroj: opennet.ru

