A Google kiadta a Chrome 147-os böngészőjét. Ezzel egy időben elérhető a Chrome alapját képező ingyenes Chromium projekt stabil kiadása. A Chrome böngésző abban különbözik a Chromiumtól, hogy Google logókat használ, rendelkezik egy rendszerrel az összeomlás esetén történő értesítések küldésére, modulokkal rendelkezik másolásvédett videótartalom (DRM) lejátszására, automatikus frissítési telepítőrendszerrel rendelkezik, mindig engedélyezi a Sandbox izolációt, kulcsokat biztosít a Google API-nak, és RLZ paramétereket továbbít kereséskor. Azok számára, akiknek több időre van szükségük a frissítéshez, létezik egy különálló, kiterjesztett stabil ág, amely 8 hétig támogatott. A következő kiadás, a Chrome 148, május 5-re várható.
Főbb változások a Chrome 147-ben (1, 2, 3, 4):
- Hozzáadtunk egy függőleges fülmegjelenítési módot, amely a felső vízszintes sávot a fülgombokkal egy függőleges fülekkel ellátott oldalsávra cserélte. A függőleges fülek kibontott (ikon + részleges leírás) vagy összecsukott (csak ikon) módban jeleníthetők meg. Az oldalsó fül fölé mutatva az egérmutatót a tartalmának miniatűrje jelenik meg. A fülcsoportok kezelése egyszerűsödött. A „Fülek függőleges megjelenítése” opció hozzáadódott a helyi menühöz, amely a fül sorára jobb gombbal kattintva jelenik meg. Ha ez az opció alapértelmezés szerint nem jelenik meg, akkor a „chrome://flags/#vertical-tabs” beállítással engedélyezhető.
- Az olvasási módot áttervezték, így csak a releváns szöveg jelenik meg az oldalon, elrejtve az összes kapcsolódó vezérlőt, bannert, menüt, navigációs sávot és az oldal egyéb, nem tartalommal kapcsolatos részét. Az új verzióban, a Firefoxhoz hasonlóan, a releváns tartalom a teljes látható területen jelenik meg, nem pedig az eredeti oldal melletti keskeny oldalsávban. Ha az új mód alapértelmezés szerint nincs engedélyezve, akkor a "chrome://flags/#read-anything-immersive-reading-mode" beállítással engedélyezhető.
- Hozzáadtunk egy gombot a „Súgó” menühöz, amellyel panaszt lehet benyújtani csalás vagy adathalászat céljából létrehozott weboldalak blokkolásához. Ez a gomb akkor jelenik meg, ha a „Biztonságos böngészés” mód engedélyezve van.
- Kiterjesztett védelem a helyi rendszerhozzáférés ellen nyilvános webhelyekkel való interakció során. Hozzáférés webhelyekről a következőre: IP-címek A helyi hálózat (intranet vagy belső címek) vagy a loopback interfész (127.0.0.0/8) felhasználói megerősítést igényel. A védelem mostantól nemcsak a HTTP/HTTPS, fetch() kérések és iframe beszúrások útján történő erőforrás-betöltési kísérletekre terjed ki, hanem a WebSockets és WebTransport kapcsolatokra, valamint a WindowClient.navigate() metóduson keresztül kezdeményezett lehívási kérésekre is. A támadók a belső erőforrás-hozzáférést használják ki közvetett azonosításra, és CSRF-támadásokat hajtanak végre útválasztók, hozzáférési pontok, nyomtatók, vállalati webes felületek és más olyan eszközök és szolgáltatások ellen, amelyek csak a helyi hálózatról fogadnak kéréseket.
- Az XML elemzési funkciót a libxml2-ről egy új, biztonsági szempontokat szem előtt tartva Rustban írt könyvtárba migráltuk. Ez a változás csak az XML-re vonatkozik; ahogy korábban bejelentettük, az XSLT támogatás hamarosan megszűnik.
- Mostantól nemcsak a teljes oldalra, hanem az egyes HTML elemekre is használható a startViewTransition() metódus.
- Hozzáadtuk a contrast-color() CSS függvényt. A megadott szín ellentétes színét adja vissza (fehér esetén feketét, fekete esetén pedig fehéret). Ez a függvény használható egy adott szövegszín háttérszínének egyeztetésére, és fordítva.
- Hozzáadtuk a „border-shape” CSS tulajdonságot, amely lehetővé teszi nem téglalap alakú szegélyek létrehozását az elemek körül, például kör vagy sokszögű szegélyek használatával. A „border-shape” CSS tulajdonság ugyanazokat az alakzattípusokat fogadja el, mint a „clip-path” tulajdonság, de az utóbbival ellentétben érzékeli a kontúrt, dekódolja azt, és levágja a kontúron túlnyúló tartalmat.
- Hozzáadva a CSSPseudoElement felület, amely lehetővé teszi a JavaScript CSS pszeudoelemeivel való munkát.
- A link elem mostantól támogatja a „rel=modulepreload” attribútum használatát nemcsak a szkriptek, hanem a CSS stílusokkal rendelkező modulok előzetes betöltéséhez is ( ) és JSON adatok ( ).
- A szegélyek és körvonalak szélességének kiszámítási viselkedése a border-width, outline-width és column-rule-width CSS tulajdonságokban megváltozott, egységesítve azt a Firefox és a WebKit alapú böngészőkkel. Korábban ezekben a tulajdonságokban a szélesség nullára állt vissza, függetlenül az értéküktől, ha a border-style, outline-style vagy column-rule-style tulajdonságok „none” vagy „hidden” értékre voltak állítva. Most az order-width, outline-width és column-rule-width értékek mindig megfelelnek a fejlesztő által definiált értékeknek, függetlenül a „*-style” tulajdonságok tartalmától.
- Hozzáadtuk a Math.sumPrecise() metódust a tömbelemek és más felsorolható objektumok összegének kiszámításához, nagyobb pontossággal, mint a hurok normál összegzésénél (kiküszöbölve a pontossági veszteségeket az eredmények közötti tárolás során).
- Hozzáadtuk a Request.isReloadNavigation attribútumot, hogy észlelje, ha egy oldal újratöltődött, például a „Frissítés” gombra kattintás vagy a location.reload() és history.go(0) metódusok meghívása után.
- A közvetett azonosítás pontosságának csökkentése érdekében megváltozott a Device Memory API által visszaadott memóriaméret kerekítésének logikája, amely információt nyújt a RAM méretéről. Ez az információ hasznos lehet a korlátozott RAM-mal rendelkező eszközökön betöltődő webalkalmazások könnyűsúlyú verzióinak létrehozásához, vagy a speciális funkciók aktiválásához, amikor nagy mennyiségű memória áll rendelkezésre. A platformhoz készült buildekben Android A memória mérete mostantól 1-re, 2-re, 4-re és 8-ra van kerekítve, más platformok esetében pedig 2-re, 4-re, 8-ra, 16-ra és 32-re.
- Izolált webalkalmazások (IWA) esetén a Web Printing API implementálva van, amely metódusokat biztosít a nyomtatók elérhetőségének meghatározására, a dokumentumok nyomtatásra küldésére és a nyomtatási sor kezelésére. Az API-ban használt attribútumnevek és szemantika megfelelnek az Internet Printing Protocol-nak (IPP).
- Az „Origin trials” mód a WebNN API-t valósítja meg, amely lehetővé teszi az operációs rendszer és a kapcsolódó hardverképességek által biztosított gépi tanulási szolgáltatások használatát.
- Fejlesztések történtek a webfejlesztői eszközökön. A beépített mesterséges intelligencia asszisztens mostantól automatikusan kiválasztja a kontextusokat. A weboldal teljesítményének különböző mobileszközökön történő tesztelésére használt „Eszközmód” panelt modernizálták. A Hálózat panel mostantól automatikusan dekódolja a tömörített tartalmat a Content-Encoding: gzip vagy deflate fejléccel küldött kérések esetén. A reguláris kifejezések mostantól használhatók a CSS stílusok szűrésére.
Az új funkciók és hibajavítások mellett az új verzió 60 sebezhetőséget kezel. A sebezhetőségek közül sokat automatizált teszteléssel azonosítottak AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer és AFL segítségével. Két problémához (puffer túlcsordulás és egész szám túlcsordulás a WebML-ben) kritikus súlyossági szintet rendeltek, ami azt jelenti, hogy megkerülhették a böngésző védelmének összes rétegét, és a sandbox környezeten kívül is futtathatták a kódot. A jelenlegi kiadás sebezhetőségi jutalomprogramjának részeként a Google 60 jutalmat hozott létre, és összesen 118 000 dollárt osztott ki (két jutalom 43 000 dollár, két jutalom 11 000 dollár, valamint egy-egy jutalom 4000, 3000, 2000 és 1000 dollár). Az 52 jutalom összegét még nem határozták meg.
Forrás: opennet.ru
