Google webböngésző kiadás ... Egyidejűleg ingyenes projekt stabil kiadása , amely a Chrome alapja. Chrome böngésző 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 . A Chrome 75 következő kiadása június 4-én jelenik meg.
:
- Amikor az onUnload esemény bekövetkezik, amely az oldal bezárásakor kerül meghívásra, most 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 új rezsim jelent meg („—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);
- WebAssembly számára 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 "“, 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 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 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). 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 , 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 , 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 , 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;
- Механизм (SXG) bővített eszközökkel 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 . Emlékezzünk vissza arra az SXG-re 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 , 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 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 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 Chrome 76-ig.
- Platformhoz Windows Bevezettek egy opcionális sötét felülettémát (az előző kiadásban a sötét téma elő volt készítve a macOS). Mivel a sötét téma szinte megegyezik az inkognitómóddal, a felhasználói profil ikonja helyett egy speciális jelzőt adtak hozzá a privát mód kiemelésére;
- Lehetőséget adtunk a vállalati felhasználók számára a felhasználói böngésző beállításainak kezelése a Google Felügyeleti konzolon keresztül;
Az újítások és hibajavítások mellett az új verzió kiküszöböli . A sebezhetőségek nagy részét automatizált tesztelőeszközök eredményeként azonosították , , , и . 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

