A Chrome 74 kiadása

A Google vállalat bemutatta webböngésző kiadása Chrome 74. Egyszerre elérhető stabil kiadás egy nyílt projekt alapja Chromium, amely a Chrome alapjául szolgál. A Chrome böngésző különbözik a Google logók használatával, a Flash modul kérésre történő betöltésének lehetőségével, a rendszerrel, amely értesítéseket küld hibás működés esetén, a védett videótartalom lejátszására szolgáló modulokkal, az automatikus frissítések telepítési rendszerével és a keresés során történő átadásával RLZ-paraméterek. A következő Chrome 75 megjelenése június 4-re van tervezve.

Fő változások be. Chrome 74:

  • Az onUnload esemény bekövetkezésekor, amely a böngészőablak bezárásakor történik, most tiltva van felugró ablakokat fognak megjeleníteni (a window.open() hívás blokkolva van), hogy megvédjék a felhasználókat a gyanús webhelyek bezárása utáni kötelező reklámoldalak megnyitásától;
  • A JavaScript motorban megvalósítva új mód jelent meg JIT-mentes (a "--jitless" flag), amely lehetővé teszi a JavaScript futtatását JIT alkalmazása nélkül (csak az interpreter használatával) és anélkül, hogy végrehajtható memóriát jelölnének ki a kód futása során. A JIT letiltása növelheti a biztonságot potenciálisan veszélyes webalkalmazások használatakor, valamint biztosítja a buildet olyan platformokon, amelyek nem engedélyezik a JIT használatát (például iOS, bizonyos Smart TV-k és játékkonzolok esetében). A JIT letiltása 40%-kal csökkenti a JavaScript futási teljesítményét a Speedometer 2.0 tesztben, és 80%-kal a Web Tooling Benchmark tesztben, de a YouTube használatának szimulációja során a teljesítmény csökkenése mindössze 6%-nak bizonyult. Eközben a memóriafogyasztás csekély mértékben, mindössze 1,7%-kal csökkent.
  • A V8 esetében nagy mennyiségű új optimalizálást is javasoltak. Például 60%-kal felgyorsultak azok a függvényhívások, amelyekben a ténylegesen átadott paraméterek száma nem egyezik meg a függvény definíciójakor megadott argumentumok számával. A DOM tulajdonságokhoz való hozzáférés felgyorsult a get funkció segítségével, ami pozitívan hatott az Angular keretrendszer teljesítményére. A JavaScript parsolásának munkafolyamata is felgyorsult: az UTF-8 dekódoló optimalizálása 8%-os teljesítménynövekedést eredményezett a streaming (betöltés közben történő elemzés) üzemmódban, míg a felesleges deduplikációs műveletek eltávolítása további 10,5%-os növekedést hozott.
  • A JavaScript motor memóriafogyasztásának csökkentésén is dolgoztak.
    Hozzáadva egy bytecode-cache törlő kód, amely a heap méretének körülbelül 15%-át tölti ki. A szemétgyűjtőhöz hozzáadva egy lépés a ritkán lefordított bytecode cache-ből való eltávolítására a használt funkciók vagy az inicializáláskor csak hívott funkciók esetén. A törlésről döntést az új számlálók alapján hoznak, amelyek figyelembe veszik a bytecode utolsó elérési idejét. Az adott módosítás lehetővé tette a memóriafogyasztás csökkentését 5–15%-kal anélkül, hogy negatív hatással lett volna a teljesítményre. Továbbá, a bytecode fordítóban kizárták a nyilvánvalóan nem használt kód generálását, például azt, amely a return vagy break után következik (ha nincs rá Jump-ugrás);

    A Chrome 74 kiadása
  • WebAssembly számára megvalósítva támogatás szálak és atomikus műveletek számára (WebAssembly Threads API és WebAssembly Atomics);
  • A szkriptek elszigetelt szállításához hozzáadva a „#!” fejléc támogatása, amely meghatározza az indítót a végrehajtáshoz. Például, más szkriptnyelvekkel analógiában, egy JavaScript fájl a következőképpen nézhet ki:

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

  • A CSS-hez hozzáadva egy új media-utasítás „prefers-reduced-motion„, amely lehetővé teszi a weboldal számára, hogy meghatározza a felhasználói operációs rendszer beállításait, amelyek a mozgásos hatások kikapcsolásával kapcsolatosak. A javasolt kérés segítségével a weboldal tulajdonosa képes tudni fogja, hogy a felhasználó kikapcsolta a mozgásos hatásokat, és a weboldalon különböző animációs lehetőségeket is letilthat, például eltávolíthatja a gombok remegésének hatását, amelyeket figyelemfelkeltésre használnak;
  • A Chrome 72-ben megjelent új lehetőség a nyilvános mezők meghatározására támogatás került bevezetésre a mezők privátként való megjelölésére, melynek következtében az értékeikhez való hozzáférés csak a klassz belsejéből lesz elérhető. A mező privátként való megjelöléséhez a mező neve elé a „#” jelet kell előírni. A nyilvános mezők esetében a privát tulajdonságoknak sincs szükségük explicit konstruktor használatára.
  • A Feature-Policy HTTP-fejléc, amely lehetővé teszi az API viselkedésének és bizonyos funkciók engedélyezésének kezelését (például engedélyezhető a XMLHttpRequest szinkron működése vagy kikapcsolható a Geolocation API), kiegészült JavaScript API-val amelyek ellenőrzik a különböző lehetőségek aktivitását. A fejlesztők számára két új metódust ajánlanak: document.featurePolicy és frame.featurePolicy, amelyek három funkciót kínálnak:
    allowedFeatures() az aktuális domainhez engedélyezett funkciók listájának lekérésére, allowsFeature() a konkrét lehetőségek bekapcsolásának ellenőrzésére, és getAllowlistForFeature() a megadott lehetőséghez engedélyezett domainek listájának megjelenítésére szolgál; az aktuális oldalon.
  • Hozzáadva egy kísérleti („chrome://flags#enable-text-fragment-anchor”) támogatású mód. Scroll-To-Text, lehetővé téve a hivatkozások létrehozását egyes szavakra vagy kifejezésekre, anélkül hogy a dokumentumban kifejezetten címkéket használnánk az "a name" címkével vagy az "id" tulajdonsággal. A hivatkozás átadásához egy speciális paramétert javasolnak, "#targetText=", ahol meg lehet adni a következő szöveget. Engedélyezett a maszk megadása, amely kifejezéseket tartalmaz, amelyek a fragmentum kezdetére és végére mutatnak, vessző használatával elválasztva őket (például "example.com#targetText=startwords, endwords");
  • Az AudioContext konstruktorhoz hozzáadva egy opció sampleRate, amely lehetővé teszi a Web Audio API-n keresztüli hangműveletekhez használt mintavételi frekvencia beállítását;
  • Támogatás került a Intl.Locale, amely módszereket biztosít a nyelvi, regionális és betűtípus-paraméterek elemzésére és feldolgozására, valamint az Unicode kiterjesztési címkék olvasására és írására, az előre beállított helyi beállítások soros formátumban való megőrzésére;
  • Mechanizmus Signed HTTP Exchanges (SXG) bővítve lett az értesítésére aláírt tartalom letöltési hibáival foglalkozó tartalomszolgáltatók számára. A hibák kezelése API bővítmények révén történik. Network Error Logging. Emlékeztetünk, hogy az SXG MMM-DD-YYYY lehetővé teszi egy weboldal tulajdonosának, hogy digitális aláírás segítségével engedélyezze bizonyos oldalak elhelyezését egy másik weboldalon, amely után, ha a második weboldalon ezekre az oldalakra hivatkoznak, a böngésző megjeleníti a felhasználónak az eredeti weboldal URL-jét, annak ellenére, hogy az oldal egy másik hostból lett betöltve;
  • A TextEncoder osztályhoz hozzáadva egy encodeInto(), amely lehetővé teszi a kódolt szöveg közvetlen írását egy előre lefoglalt puffertárba. Az encodeInto() módszer nagy teljesítményű alternatívája az encode() módszernek, amely minden hívásnál pufferteljesítményt igényel.
  • A Service worker biztosítva van a client.postMessage() hívás pufferelését a dokumentum készenlétéig biztosítja. A client.postMessage() révén küldött üzenetek megmaradnak a DOMContentLoaded esemény generálásának, az onmessage esemény beállításának vagy a startMessages(); hívásának színpadáig.
  • A CSS Transitions specifikáció követelményeivel összhangban hozzáadva a transitionrun, transitioncancel, transitionstart és transitionend események, amelyek akkor jönnek létre, amikor a CSS-átmenetet sorba állítják, megszüntetik, elkezdik vagy befejezik a végrehajtást.
  • Amikor az overrideMimeType()-on keresztül vagy az XMLHttpRequest kérés számára helytelen MIME-típusú karakterkódolást adunk meg, mostantól UTF-8-ra való visszaállás történik, a Latin-1 helyett;
  • A „allow-downloads-without-user-activation” tulajdonság elavultnak van nyilvánítva, és a következő kiadások egyikében eltávolításra kerül, amely lehetővé tette a fájlok automatikus letöltését iframe feldolgozása közben. A jövőben a fájlok felhasználói beavatkozás nélküli letöltésének kezdeményezése tilos lesz, mivel ezt aktívan visszaélésekre, letöltések kényszerítésére és kártékony programok részeinek helyettesítésére használták a felhasználó számítógépén. A fájlok letöltésének kezdeményezéséhez kötelező lesz, hogy a felhasználó kattintson ugyanazon az oldalon. Eredetileg a tulajdonságot a Chrome 74-ben tervezték eltávolítani, de az eltávolítás is postponed a Chrome 76-ot megelőzően történt.
  • Windows platformra egy választható sötét téma került bevezetésre (a múltbeli kiadásban a sötét téma a macOS-hez készült). Mivel a sötét téma szinte az inkognitó mód megjelenésével azonos, a magánmód kiemelésére egy speciális jelző került bevezetésre a felhasználói profil ikon helyett;
  • A vállalati felhasználók számára lehetőség nyílt a Chrome Browser Cloud Management a felhasználói böngészőbeállítások Google Admin konzolon keresztüli kezelésére;

    A Chrome 74 kiadása

Az új verzió újításai és hibajavításai mellett 39 sérülékenység. Sok sebezhetőséget automatizált tesztelési eszközökkel fedeztek fel, AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer és AFL. Kritikus problémák, amelyek lehetővé teszik az összes böngészővédelmi szint megkerülését és a kód végrehajtását a rendszeren kívül a sandbox-környezetben, nem kerültek felfedezésre. A sérülékenységek felfedezésért járó díjazási program keretében a Google 19 jutalmat fizetett ki a jelenlegi megjelenéshez összesen 26,837 dollár értékben (négy 3000 dolláros, négy 2000 dolláros, egy 1337 dolláros, négy 1000 dolláros és három 500 dolláros jutalom). A 4 jutalom értékét még nem határozták meg.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster