A Google vállalat webböngésző kiadása . Egyszerre stabil kiadás egy nyílt projekt alapja , amely a Chrome alapjául szolgál. A Chrome böngésző a Google logóinak használatával, a leállás esetén küldött értesítési rendszerével, a Flash modul kérés szerinti betöltésével, a védett videóanyagok (DRM) lejátszásához szükséges modulokkal, az automatikus frissítések telepítési rendszerével és a keresés során történő átvitelével A Chrome 77 következő kiadása szeptember 10-re van tervezve.
:
- Alapértelmezés szerint a harmadik fél sütijének átadását védő mód, amely esetén a Set-Cookie fejléces attribútumának hiányában alapértelmezett érték "SameSite=Lax", ami korlátozza a sütik küldését harmadik fél által biztosított webhelyekről (de a webhelyek továbbra is törölhetik a korlátozást, ha a sütik beállításakor kifejezetten "SameSite=None" értéket adnak meg). Eddig a böngésző minden kérésnél átadta a sütiket, amelyeket a webhelyre beállítottak, még akkor is, ha a böngésző egy másik webhelyről indult, és a kérés közvetve történt például egy kép betöltésével vagy iframe-en keresztül. Az 'Lax' módban a sütik átadása csak a keresztoldali al-kérések esetében blokkolódik, mint például kép kérés vagy iframe-en keresztüli tartalom betöltése, amelyeket gyakran használnak CSRF-támadások szervezésére és a felhasználó webhelyek közötti mozgásának nyomon követésére.
- A Flash-tartalom alapértelmezett lejátszása leállt. A Chrome 87 kiadásáig, amely 2020 decemberére várható, a Flash támogatása a beállításokban (Haladó > Adatvédelem és biztonság > Webhelybeállítások) visszaállítható, miután kifejezetten megerősítette a Flash-tartalom lejátszását minden webhely esetében (a megerősítést a böngésző újraindításáig megjegyzik). A Flash támogatásának biztosításához szükséges kód teljes eltávolítása összhangban van az Adobe által 2020 évre bejelentett Flash technológia támogatásának megszüntetési tervével.
- A vállalatok számára a Google Drive tárolóban fájlok keresése hozzáadódott a címsorhoz.
- Megkezdődött a Chrome-ban az elfogadhatatlan hirdetések, amelyek zavarják a tartalom észlelését, és nem felelnek meg a hirdetések javítására vonatkozó Koalíció által kidolgozott kritériumoknak.
- Megvalósult egy adaptív mód, amely lehetővé teszi az új oldalra való váltást, ahol a jelenlegi tartalom törlése és a fehér háttér megjelenítése nem azonnal, hanem egy kis késleltetéssel történik. Gyorsan betöltődő oldalak esetén a törlés csak villogást okoz, és nem nyújt hasznos információt a felhasználónak az új oldal betöltésének kezdetéről. Az új verzióban, ha az oldal gyorsan megnyílik és a késleltetés is minimális, akkor az új oldal zökkenőmentesen váltja az előzőt (például ez kényelmes, ha hasonló dizájnnal és színvilággal rendelkező más oldalakra térünk át). Ha az oldal megjelenítéséhez a felhasználónak észlelhető időre van szüksége, akkor a képernyőt először törölni fogják;
- Szigorúbb kritériumokat vezettek be a felhasználói aktivitás meghatározására az oldalon. A Chrome csak a felhasználó által végzett műveletek után engedélyezi a felugró értesítések megjelenítését és a zavaró videó/-audiótartalom lejátszását. Az új verzióban az Escape billentyű lenyomása, a linkekre való mutatás és a képernyő érintése már nem számít aktiváló interakciónak (kifejezett kattintásra, szövegbevitelre vagy görgetésre van szükség);
- a «prefers-color-scheme» médiaelv, amely lehetővé teszi a webhelyek számára, hogy meghatározzák a böngészőben alkalmazott sötét téma használatát, és automatikusan bekapcsolják a sötét megjelenést a megtekintendő webhelyhez;
- A Linux-i verziókban a sötét téma aktiválásakor most a címsor is sötét színnel jelenik meg;
- a FileSystem API-val kapcsolatos manipulációk révén az incognito módban történő oldalnyitás meghatározásának lehetőségét, amelyet korábban egyes kiadványok használtak a díjmentes hozzáférést megkerülni próbáló felhasználók megelőzése érdekében. Korábban az incognito módban a böngésző blokkolta a FileSystem API elérését, hogy megakadályozza az adatok közötti tárolását az ülések között, lehetővé téve a JavaScript számára, hogy ellenőrizze az adatok tárolásának lehetőségét a FileSystem API-n keresztül, és a hibákból következtetni lehessen az incognito mód aktivitására. Most a FileSystem API elérése nem blokkolódik, azonban a tartalom törlésre kerül az ülés befejezése után;
- új felhívások a
API Payment Request és Payment Handler. A PaymentRequestEvent objektumban megjelent egy új changePaymentMethod() metódus, míg a PaymentRequest objektumban egy új paymentmethodchange eseménykezelő került hozzáadásra, amely lehetővé teszi a fizetéseket kezelő platformoknak vagy webalkalmazásoknak, hogy reagáljanak a felhasználó által választott fizetési módszer megváltoztatására. Az új verzióban a kapcsolódó fizetésekhez használt API-k tesztelése is egyszerűsödött az önaláírt tanúsítványok használatával. A fejlesztés során a tanúsítványok érvényesítési hibáinak figyelmen kívül hagyására új parancssori opció került bevezetésre: "—ignore-certificate-errors"; - A címsorban a könyvjelzőkhöz való hozzáadás gombja mellett, a Desktop Progressive Web Apps (PWA) üzemmódot futtató webalkalmazások esetében, parancsikon az alkalmazás rendszerbe való telepítéséhez, hogy önálló programként működjön;
- Mobil eszközök számára lehetőség nyílt arra, hogy vezéreljék a mini-panel megjelenítését, amely a webalkalmazás kezdőképernyőre való felvételére vonatkozik. A PWA-alkalmazások (Progressive Web App) esetében a mini-panel alapértelmezés szerint automatikusan megjelenik a weboldal első megnyitásakor. A fejlesztők mostantól lemondhatnak a panel megjelenítéséről, és saját telepítési felkérést valósíthatnak meg, amelyhez eseménykezelőt állíthatnak be
beforeinstallprompt és annak preventDefault(); meghívásához köthető; - Növelték az ellenőrzési gyakoriságot az Android környezetben telepített PWA-alkalmazások (Progressive Web App) esetében. A WebAPK-k mostantól napi egyszer ellenőrizhetők, nem háromnaponta, mint korábban. Ha a manifestben egyetlen kulcsfontosságú tulajdonság változását észlelik a vizsgálat során, a böngésző letölti és telepíti az új WebAPK-t;
- API bevezették a képek programozott olvasásának és írásának lehetőségét a vágólapon a navigator.clipboard.read() és navigator.clipboard.write() módszerek használatával;
- Megvalósult a HTTP-fejlécek csoportjának támogatása (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site és Sec-Fetch-User), amelyek lehetővé teszik, hogy további metainformációkat küldjenek a kérelem természetéről (keresztülhívás, img címke használatával történő kérés stb.), hogy a szerveren védelmi intézkedéseket lehessen hozni bizonyos típusú támadásokkal szemben (például valószínűtlen, hogy egy pénzátutalási feldolgozó hivatkozás img címkén keresztül lenne megadva, ezért az ilyen kéréseket blokkolni lehet anélkül, hogy az alkalmazásnak átadnák);
- Hozzáadva: , amely kezdeményezi a űrlapadatok programozott elküldését, hasonlóan a küldés gombjára való kattintáshoz. A funkció alkalmazható a saját űrlapküldő gombok fejlesztésekor, ahol a form.submit() hívás nem elegendő, mivel az nem vált ki interaktív paraméterellenőrzést, eseménygenerálást a 'submit' eseményre és nem továbbítja a gombhoz kapcsolt űrlapadatokat;
- Az IndexedDB-hez hozzáadva lett a , amely lehetővé teszi az IDBTransaction objektummal kapcsolatos tranzakciók rögzítését anélkül, hogy megvárnánk az eseménykezelők befejezését az összes kapcsolódó kérésben. A commit() használata növeli a tárolóra irányuló olvasási és írási kérések áteresztőképességét, és lehetővé teszi a tranzakciók végrehajtásának kifejezett ellenőrzését;
- Az Intl.DateTimeFormat funkcióban, mint például a formatToParts() és resolveOptions() hozzáadva lettek az , amelyek lehetővé teszik a helyi stílusok megkérését a dátum és idő megjelenítésére;
- A BigInt.prototype.toLocaleString() metódus módosult a számok lokálés formázásához, míg az Intl.NumberFormat.prototype.format() metódus és a formatToParts() funkció módosítva lett a BigInt típusú bemeneti értékek támogatására;
- Engedélyezett az API használata minden Web Worker típusban, ami a MediaStream optimalizált paramétereinek kiválasztására használható a worker-ből;
- Hozzáadva a módszert , ami csak a már végrehajtott vagy elutasított ígéreteket adja vissza, figyelembe véve a teljesítésre váró ígéreteket;
- Eltávolítva a '—disable-infobars' opció, ami korábban a Chrome felületén a felugró figyelmeztetések eltüntetésére használható volt (a biztonsággal kapcsolatos figyelmeztetések elrejtésére javasolt a CommandLineFlagSecurityWarningsEnabled szabály);
- A blob kezeléséhez készült felület metódusai a text(), arrayBuffer() és stream() meghatározott típusú adatok olvasásához;
- Hozzáadva a 'white-space: break-spaces' CSS tulajdonság, amely meghatározza, hogy bármely olyan szóközszekvenciát, ami a sorok túlcsordulásához vezet, meg kell szakítani;
- Megkezdődött a zászlók tisztítása a chrome://flags oldalon, például, a 'ping' attribútum letiltására szolgáló zászló, ami lehetővé teszi a webhelytulajdonosok számára, hogy követhessék a linkekre való kattintásokat az oldalakról. Amikor egy linken való átkattintás történik, ha a 'a href' tagben a 'ping=URL' attribútum található, a böngészőben most nem lehet letiltani a POST kérés küldését az adott URL-hez a kattintásról szóló információkkal. A ping blokkolásának értelme elveszik, mivel ez az attribútum a HTML5 specifikációkban, és számos megkerülési módszer létezik ugyanazon művelet végrehajtására (például átjárón keresztüli továbbítás vagy a JavaScript kezelőivel való kattintások elfogása);
- Eltávolítva a jelző a , amelyben a különböző hosztok oldalai mindig eltérő folyamatok memóriájában helyezkednek el, mindegyikéhez a saját sandboxja vonatkozik.
- A V8 motorban jelentősen megnövelték a JSON formátumának bejárásának és elemzésének teljesítményét. Népszerű weboldalak esetén a JSON.parse végrehajtásának sebessége akár 2,7-szeres növekedést mutat. Jelentősen felgyorsult az unicode karakterláncok átalakítása is, például a String#localeCompare, String#normalize, valamint néhány Intl API hívásának működési sebessége szinte megduplázódott. Az optimalizálás a fagyott tömbökkel végzett műveletek során is szembetűnő, például a frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) és fn.apply(this, […frozen]) műveletek esetében.

Az új verzió újításai és hibajavításai mellett . Sok sebezhetőséget automatizált tesztelési eszközökkel fedeztek fel, , , , és . Kritikus problémákat, amelyek lehetővé tennék a böngésző összes védelmi szintjének megkerülését és kód végrehajtását a rendszerben a sandbox környezeten kívül, nem találtak. A sebezhetőségek felfedezéséért folyó pénzdíjas program keretében a Google a jelenlegi kiadásra 16 díjat összesen 23 500 dollár értékben fizetett ki (egy díj $10 000, egy díj $6 000, két díj $3 000 és három díj $500). 9 díj mértéke még nem került meghatározásra.
Forrás: opennet.ru

