Chrome 74. kiadás

Google bemutatott webböngésző kiadás Chrome 74... Egyidejűleg elérhető ingyenes projekt stabil kiadása Króm, amely a Chrome alapja. Chrome böngésző különböző a Google logók használata, kérésre Flash-modul letöltése, összeomlás esetén értesítést küldő rendszer megléte, védett videotartalom lejátszására szolgáló modulok, frissítések automatikus telepítésére és keresés közbeni átvitelére szolgáló rendszer RLZ paraméterek. A Chrome 75 következő kiadása június 4-én jelenik meg.

A főbb változások в króm 74:

  • Amikor az onUnload esemény bekövetkezik, amely az oldal bezárásakor kerül meghívásra, most Tilos előugró ablakok megjelenítése (a window.open() hívás le van tiltva), amely megvédi a felhasználókat attól, hogy hirdetési oldalakat kényszerítsenek a kétes oldalak bezárása után;
  • A JavaScript motorban végrehajtva új rezsim jelent meg JIT-nélküli („—jitless” jelző), amely lehetővé teszi a JavaScript futtatását JIT használata nélkül (csak az értelmezőt használjuk), és anélkül, hogy a kódvégrehajtás során futtatható memóriát lefoglalnánk. A JIT letiltása hasznos lehet a biztonság javítása érdekében, amikor potenciálisan veszélyes webalkalmazásokkal dolgozik, valamint olyan platformokra épít, amelyek tiltják a JIT használatát (például iOS, egyes okostévék és játékkonzolok. Ha a JIT le van tiltva, a JavaScript végrehajtása a Speedometer 40 tesztben 2.0%-kal, a Web Tooling Benchmark tesztben 80%-kal csökken a teljesítmény, de a YouTube-bal végzett munka szimulációja során csak 6%-kal csökkent a teljesítmény, miközben a memóriafogyasztás enyhén, mindössze 1.7%-kal csökkent;
  • A V8 új optimalizációk nagy részét is kínálja. Például 60%-kal felgyorsult az olyan függvényhívások végrehajtása, amelyekben a ténylegesen átadott paraméterek száma nem egyezik meg a függvény definiálásakor megadott argumentumok számával. A DOM tulajdonságokhoz való hozzáférés a get függvény használatával felgyorsult, ami pozitív hatással van az Angular keretrendszer teljesítményére. A JavaScript-elemzés felgyorsult: az UTF-8 dekóder optimalizálása lehetővé tette az elemző teljesítményének 8%-os növelését streaming módban (betöltés közbeni elemzés), a felesleges deduplikációs műveletek kiküszöbölése pedig további 10.5%-os növekedést eredményezett;
  • Dolgoztunk a JavaScript-motor memóriafogyasztásának csökkentésén.
    Kód hozzáadva a bájtkód-gyorsítótár törléséhez, amely a teljes kupacméret körülbelül 15%-át foglalja el. A szemétgyűjtőhöz egy szakaszt adtunk, amely kiüríti a ritkán lefordított bájtkódot a gyorsítótárból a használt vagy csak inicializáláskor meghívott függvények számára. A tisztítási döntés az új számlálók alapján történik, amelyek figyelembe veszik a bájtkód legutóbbi elérését. Ez a változás 5–15%-kal csökkentette a memóriafogyasztást anélkül, hogy negatívan befolyásolná a teljesítményt. Ezenkívül a bájtkód-fordító kizárja a nyilvánvalóan nem használt kód generálását, például, amely a visszatérést vagy a szünetet követi (ha nincs rá Jump átmenet);

    Chrome 74. kiadás

  • WebAssembly számára végrehajtva szálak és atomi műveletek támogatása (API WebAssembly Threads és WebAssembly Atomics);
  • A szkriptek külön kézbesítéséhez hozzáadták a „#!” fejlécet, amely meghatározza a futtatandó értelmezőt. Például, hasonlóan más szkriptnyelvekhez, egy JavaScript-fájl így nézhet ki:

    #!/usr/bin/env csomópont
    console.log(42);

  • Új médialekérdezés került a CSS-be "előnyben részesíti a csökkentett mozgást“, amely lehetővé teszi a webhely számára, hogy meghatározza az operációs rendszerben az animált effektusok letiltásával kapcsolatos beállítások állapotát. A javasolt kérés felhasználásával a webhely tulajdonosa képes megtudja, hogy a felhasználó letiltotta az animációs effektusokat, és letiltotta a webhely különböző animációs funkcióit is, például távolítsa el a figyelem felkeltésére használt gombok remegő hatását;
  • A Chrome 72-ben bevezetett nyilvános mezők meghatározásának lehetősége mellett támogatás megvalósult A mezők privátként való megjelölése, amely után az értékekhez való hozzáférés csak az osztályon belül lesz nyitva. Ha egy mezőt privátként szeretne megjelölni, adjon hozzá egy „#” jelet a mező neve elé. A nyilvános mezőkhöz hasonlóan a magántulajdonok sem igénylik a konstruktor kifejezett használatát.
  • Bekerült a Feature-Policy HTTP fejléc, amely lehetővé teszi az API viselkedésének szabályozását és bizonyos funkciók engedélyezését (például engedélyezheti az XMLHttpRequest szinkron üzemmódját vagy letilthatja a Geolocation API-t). JavaScript API bizonyos lehetőségek tevékenységének ellenőrzésére. A fejlesztők számára két új módszer létezik: document.featurePolicy és frame.featurePolicy, amelyek három funkciót kínálnak:
    Az allowFeatures() az aktuális tartományhoz engedélyezett szolgáltatások listájának lekéréséhez, a enableFeature() funkció szelektíven ellenőrizheti, hogy bizonyos szolgáltatások engedélyezve vannak-e, a getAllowlistForFeature() pedig azoknak a tartományoknak a listáját adja vissza, amelyekhez egy adott szolgáltatás engedélyezett az aktuális oldalon;

  • Kísérleti („chrome://flags#enable-text-fragment-anchor”) támogatás hozzáadva a módhoz Görgetés a szövegig, amely lehetővé teszi az egyes szavakra vagy kifejezésekre mutató hivatkozások létrehozását anélkül, hogy kifejezetten megadná a címkéket a dokumentumban az „a name” címke vagy az „id” tulajdonság használatával. Hivatkozás küldéséhez egy speciális „#targetText=” paraméter kerül felkínálásra, amelyben megadhatja az átmenet szövegét. Megengedett olyan maszk megadása, amely a töredék elejét és végét jelző kifejezéseket tartalmaz, vesszővel elválasztóként (például „example.com#targetText=start%20words, end%20words”);
  • Egy opció hozzáadva az AudioContext konstruktorhoz mintavételi ráta, amely lehetővé teszi a hangműveletek mintavételi gyakoriságának beállítását a Web Audio API-n keresztül;
  • Hozzáadott osztálytámogatás Intl.Locale, amely módszereket biztosít a területi beállítás által beállított nyelvi, régió- és stílusparaméterek elemzéséhez és feldolgozásához, valamint Unicode kiterjesztésű címkék olvasásához és írásához, a felhasználói területi beállítások soros formátumba mentéséhez;
  • Механизм Aláírt HTTP Exchange-ek (SXG) bővített eszközökkel tájékoztatást tartalomterjesztők az aláírt tartalom letöltésének hibáiról, például a tanúsítvány ellenőrzésével kapcsolatos problémákról. A hibakezelés API-bővítményeken keresztül történik Hálózati hibanaplózás. Emlékezzünk vissza arra az SXG-re lehetővé teszi az egyik oldal tulajdonosa digitális aláírással engedélyezi bizonyos oldalak elhelyezését egy másik oldalon, majd ha ezekre az oldalakra egy másik oldalon lépnek be, akkor a böngésző annak ellenére megmutatja a felhasználónak az eredeti oldal URL-jét. hogy az oldal egy másik gazdagépről lett betöltve;
  • Egy metódus került a TextEncoder osztályba encodeInto(), amely lehetővé teszi, hogy egy kódolt karakterláncot közvetlenül egy előre lefoglalt pufferbe írjon. Az encodeInto() metódus az encode() metódus nagyteljesítményű alternatívája, amelyhez minden hozzáféréskor el kell végezni egy pufferkiosztási műveletet.
  • A szervizmunkásban biztosított puffereli a client.postMessage() hívást, amíg a dokumentum el nem készül. A client.postMessage()-n keresztül küldött üzenetek a DOMContentLoaded esemény előhívásáig, az onmessage beállításáig vagy a startMessages() meghívásáig megmaradnak;
  • A CSS Transitions specifikációjának megfelelően tette hozzá A CSS-átmenet várakozási sorba állításakor, törlésekor, végrehajtásának megkezdésekor vagy befejezésekor generált transferrun, transfercancel, transferstart és transferend események.
  • Ha helytelen karakterkódolást ad meg az overrideMimeType() vagy MIME-típussal egy XMLHttpRequest-hez, akkor a Latin-8 helyett UTF-1-ra esik vissza;
  • Az „allow-downloads-with-user-activation” tulajdonság, amelyen keresztül lehetőség volt a fájlok automatikus letöltésére iframe-ek feldolgozása során, elavult, és egy későbbi kiadásban eltávolítjuk. A jövőben tilos lesz a fájlletöltések kezdeményezése kifejezett felhasználói beavatkozás nélkül, mivel azt aktívan használták visszaélésre, letöltésre kényszerítve és rosszindulatú programok részeinek beillesztésére a felhasználó számítógépére. A letöltés elindításához a felhasználónak ugyanarra az oldalra kell kattintania. Az ingatlant eredetileg a Chrome 74-ben tervezték eltávolítani, de az eltávolítás megtörtént elhalasztották Chrome 76-ig.
  • A felület kialakításához opcionális sötét témát kínálnak a Windows platformhoz (az előző kiadásban sötét témát készítettek a macOS számára). Mivel a sötét dizájn szinte teljesen megegyezik az inkognitó módban megjelenő dizájnnal, a felhasználói profil ikonja helyett egy speciális jelző került be a privát üzemmód kiemelésére;
  • Lehetőséget adtunk a vállalati felhasználók számára Chrome böngésző felhőkezelés a felhasználói böngésző beállításainak kezelése a Google Felügyeleti konzolon keresztül;

    Chrome 74. kiadás

Az újítások és hibajavítások mellett az új verzió kiküszöböli 39 sebezhetőség. A sebezhetőségek nagy részét automatizált tesztelőeszközök eredményeként azonosították Címfertőtlenítő, MemorySanitizer, Az áramlási integritás szabályozása, LibFuzzer и AFL. Nem azonosítottak olyan kritikus problémát, amely lehetővé tenné a böngészővédelem minden szintjének megkerülését, és kód futtatását a rendszeren a sandbox környezeten kívül. A jelenlegi kiadás sebezhetőségeinek felfedezéséért pénzbeli jutalmat fizető program részeként a Google 19 díjat fizetett ki 26837 3000 dollár értékben (négy 2000 dolláros, négy 1337 dolláros, egy 1000 dolláros, négy 500 dolláros, három 4 dolláros díjat). A XNUMX jutalom nagysága még nincs meghatározva.

Forrás: opennet.ru

Hozzászólás