A Google bemutatta a Chrome 94 webböngésző kiadását. Ezzel egyidejűleg elérhető a Chromium szabad projekt stabil kiadása, amely a Chrome alapjául szolgál. A Chrome böngészőt a Google logóinak használata, a rendszer, amely értesítéseket küld az összeomlásokról, a védett videó tartalom (DRM) lejátszására szolgáló modulok, az automatikus frissítések telepítése, valamint a keresés során RLZ paraméterek továbbítása jellemzi. A következő Chrome 95 kiadásának időpontja október 19.
A Chrome 94 megjelenésével a fejlesztés egy új kiadási ciklusra váltott. A jelentős új kiadások mostantól négyhetente fognak megjelenni a hathetes ütemezés helyett, így gyorsabban elérhetők lesznek az új lehetőségek a felhasználók számára. Fontos, hogy a kiadási folyamat optimalizálása és a tesztelési rendszer javítása lehetővé teszi a gyakoribb kiadások kialakítását anélkül, hogy a minőség csorbát szenvedne. A vállalatok számára, akiknek több időre van szükségük a frissítéshez, nyolchetente külön lesz elérhető egy Extended Stable kiadás, amely lehetővé teszi az új funkcionális kiadásokra való váltást nem négyhetente, hanem nyolchetente.
A Chrome 94 főbb változásai:
- Bevezetésre került az HTTPS-First mód, amely hasonlít a Firefoxban korábban megjelent HTTPS Only módra. Ha ez a mód aktív a beállításokban, akkor amikor egy nem titkosított HTTP forrást próbálnak megnyitni, a böngésző először a weboldalt HTTPS-en fogja megpróbálni elérni, és ha ez nem sikerül, a felhasználónak figyelmeztetést mutatnak a HTTPS támogatás hiányáról, és javasolják, hogy az oldalt titkosítás nélkül nyissa meg. A jövőben a Google fontolgatja az HTTPS-First automatikus aktiválását minden felhasználónál, bizonyos webplatform funkciók hozzáférésének korlátozását HTTP-n nyitott oldalak számára, és további figyelmeztetések hozzáadását, amelyek tájékoztatják a felhasználókat a titkosítás nélküli weboldalak látogatásából fakadó veszélyekről. A mód aktiválása a „Adatvédelem és biztonság” > „Biztonság” > „Továbbiak” beállítások között történik.

- HTTP nélküli megnyitású oldalak esetén tilos a helyi URL-ekre (például „http://router.local” és localhost) és belső IP-cím tartományokra (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 stb.) küldeni kéréseket (erőforrások betöltése). Kivételt csak a betöltött oldalakra tettek. szerverek, amelyek belső IP-vel rendelkeznek. Például az a lap, amely a a szerver 1.2.3.4-ről töltődik be, hozzáférhet az 192.168.0.1 vagy 127.0.0.1 IP-vel rendelkező erőforráshoz, míg a 192.168.1.1 szerverről töltődött lap hozzáférhet. A módosítás további szintet vezet be a sebezhetőségek kiaknázása ellen, amelyek a helyi IP-kre irányuló kéréseket kezelik, valamint megvédi a „DNS rebinding” típusú támadásoktól.
- Hozzáadva a „Megosztási Hub” funkció, amely lehetővé teszi a felhasználók számára a jelenlegi oldal hivatkozásának gyors megosztását másokkal. Lehetőség van QR-kód generálására a URL-hoz, az oldal mentésére, a hivatkozás elküldésére egy másik eszközre, amely a felhasználói fiókhoz van csatlakoztatva, valamint a hivatkozás külső oldalakra, például Facebookra, WhatsAppra, Twitterre és VK-ra való továbbítására. A lehetőség jelenleg nem érhető el minden felhasználó számára. A „Megosztás” gomb kényszerített engedélyezéséhez a menüben és az URL-sávban a következő beállításokat lehet használni: „chrome://flags/#sharing-hub-desktop-app-menu” és „chrome://flags/#sharing-hub-desktop-omnibox”.

- A böngésző beállításainak felületei átszerkesztésre kerültek. Minden beállítás szakasz most külön oldalon jelenik meg, nem egy általános oldalon.

- Megvalósítva a kiadott és visszavont tanúsítványok dinamikus frissítésének támogatása (Certificate Transparency), amely mostantól függetlenül frissül a böngésző frissítésétől.
- Hozzáadva a „chrome://whats-new” segédoldal, amely áttekintést nyújt a felhasználók számára látható változásokról az új verzióban. Az oldal automatikusan megjelenik közvetlenül a frissítés után, vagy a „Mi újság” (What’s New) gombon keresztül érhető el a Súgó (Help) menüben. Jelenleg az oldalon említve van a fülek közötti keresés, a profilonkénti szétválasztás lehetősége és a háttérszín megváltoztatása, amelyek nem specifikusak a Chrome 94-re, és a korábbi verziókban jelentek meg. Az oldal megjelenítése egyelőre nem elérhető minden felhasználó számára: az aktiválás kezelésére a következő beállításokat lehet használni: „chrome://flags#chrome-whats-new-ui” és „chrome://flags#chrome-whats-new-in-main-menu-new-badge”.

- A WebSQL API call from content loaded from external sites (such as via iframe) has been declared deprecated. In Chrome 94, a warning will be issued when attempting to access WebSQL from external scripts, but starting with Chrome 97, such calls will be blocked. Support for WebSQL is planned to be completely phased out in the future, regardless of the usage context. The WebSQL handler is based on SQLite code and could be exploited by attackers to exploit vulnerabilities in SQLite.
- For security reasons and to prevent malicious activity, the use of the deprecated MK protocol (URL:MK), once used in Internet Explorer and allowing web applications to extract information from compressed files, has started to be blocked.
- Support for synchronization with older versions of Chrome (Chrome 48 and earlier) has been discontinued.
- The HTTP header Permissions-Policy, designed to enable specific capabilities and manage access to APIs, has added support for the 'display-capture' flag, allowing management of the use of the Screen Capture API on the page (by default, the ability to capture screen content from external iframes is blocked).
- Az Origin Trials módban (kísérleti lehetőségek, amelyek külön aktiválást igényelnek) számos új API került hozzáadásra. Az Origin Trial lehetőséget ad az adott API használatára olyan alkalmazásokból, amelyeket a localhost vagy a 127.0.0.1-től töltöttek be, vagy a regisztráció és a különleges token megszerzése után, amely korlátozott ideig érvényes egy adott webhelyre.
- The WebGPU API has been introduced, replacing the WebGL API and providing means for performing operations on the GPU, such as rendering and computations. Conceptually, WebGPU is similar to Vulkan, Metal, and Direct3D 12 APIs. Conceptually, WebGPU differs from WebGL approximately as much as the Vulkan graphics API differs from OpenGL, but it does not rely on any specific graphics API, functioning as a universal layer that uses the same low-level primitives found in Vulkan, Metal, and Direct3D 12.
WebGPU provides JavaScript applications with low-level control over the organization, processing, and transmission of commands to the GPU, as well as management of related resources, memory, buffers, texture objects, and compiled graphics shaders. This approach allows for higher performance in graphics applications by reducing overhead and improving GPU efficiency. The API also enables the creation of complex 3D projects for the web that perform as well as standalone programs, but are not tied to specific platforms.
- A különálló PWA-alkalmazások lehetőséget kaptak URL-kezelőként való regisztrálásra. Például, a music.example.com alkalmazás regisztrálhatja magát az https://*.music.example.com URL-kezelőként, és minden külső alkalmazásból, például üzenetküldőkből és e-mail kliensekből érkező átirányítás ezen linkekre ezt a PWA-alkalmazást fogja megnyitni, nem pedig egy új böngészőfület.
- Megvalósult az új HTTP válaszkód, a 103 támogatása, amelyet a fejléc előzetes elküldésére lehet használni. A 103-as kód lehetővé teszi, hogy az ügyfél azonnal tájékoztatást kapjon néhány HTTP-fejléc tartalmáról a kérés után, anélkül, hogy a szerver végrehajtaná az összes kapcsolódó műveletet, és elkezdené a tartalom átadását. Így információt közölhetünk a kapcsolódó elemekről, amelyeket előzetesen lehet betölteni az átadott oldalon (például a használt CSS és JavaScript linkjeit lehet megadni). Miután a böngésző megkapta az ilyen források információját, elindítja azok betöltését anélkül, hogy megvárná a fő oldal átadásának befejezését, ezzel csökkentve a kérés összesített feldolgozási idejét.
- The WebGPU API has been introduced, replacing the WebGL API and providing means for performing operations on the GPU, such as rendering and computations. Conceptually, WebGPU is similar to Vulkan, Metal, and Direct3D 12 APIs. Conceptually, WebGPU differs from WebGL approximately as much as the Vulkan graphics API differs from OpenGL, but it does not rely on any specific graphics API, functioning as a universal layer that uses the same low-level primitives found in Vulkan, Metal, and Direct3D 12.
- Hozzáadva a WebCodecs API a multimédiás folyamok alacsony szintű manipulálásához, amely kiegészíti a magas szintű HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder és WebRTC API-kat. Az új API igény szerint hasznos lehet olyan területeken, mint a játékok streamingje, ügyfélen végzett effektusok alkalmazása, folyamok újrakódolása és nem szabványos multimédiás konténerek támogatása. Ahelyett, hogy különböző kodekeket kellene megvalósítani JavaScript vagy WebAssembly segítségével, a WebCodecs API hozzáférést biztosít a böngészőbe beépített, kész, nagy teljesítményű komponensekhez. Különösen a WebCodecs API hang- és videó dekódereket és kódolókat, képkockák alacsony szintű kezelésére szolgáló funkciókat tartalmaz.
- Stabilizálva lett az Insertable Streams API, amely lehetővé teszi a nyers multimédiás folyamok manipulálását, amelyeket a MediaStreamTrack API-n keresztül továbbítanak, mint például a kamera és mikrofon adatai, képernyőfelvétel eredménye vagy a kodek által dekódolt köztes adatok. A nyers képkockák ábrázolására a WebCodec interfészek használatosak, majd egy olyan folyam keletkezik, amely hasonló ahhoz, amit a WebRTC Insertable Streams API generál az RTCPeerConnections alapján. Gyakorlatilag ez az új API lehetővé teszi olyan funkciók megvalósítását, mint például gépi tanulási módszerek alkalmazása az objektumok valós időben történő azonosításához vagy annotálásához, illetve effektusok, például háttérkivágás hozzáadása a kodek átkódolása előtt vagy után.
- Stabilizálták a scheduler.postTask() metódust, amely lehetővé teszi a feladatok (JavaScript callback-hívások) végrehajtásának ütemezésének kezelését különböző prioritási szintekkel. Három prioritási szint érhető el: 1 - prioritásos végrehajtás, még ha a felhasználói műveletek blokkolva is lehetnek; 2 - a felhasználó számára látható változások engedélyezettek; 3 - háttérben történő végrehajtás. A prioritás megváltoztatásához és a feladatok törléséhez a TaskController objektum használható.
- Stabilizálták, és most már a Origin Trials API Idle Detection keretein kívül is elérhető a felhasználói inaktivitás meghatározásához. Az API lehetővé teszi annak megállapítását, amikor a felhasználó nem interakciózik a billentyűzettel/egérrel, a képernyővédő működik, a képernyő zárolva van, vagy a munka egy másik monitoron folyik. Az alkalmazás inaktivitásának értesítése a megadott inaktivitási küszöb elérése után küldött értesítéssel történik.
- Formalizálták a színkezelési folyamatot a CanvasRenderingContext2D és ImageData objektumokban, valamint az sRGB színterek használatát. Lehetővé tették CanvasRenderingContext2D és ImageData objektumok létrehozását olyan színterekben, mint a Display P3, hogy a modern monitorok kiterjesztett lehetőségeit kihasználhassák.
- A VirtualKeyboard API-hoz hozzáadták a virtuális billentyűzet megjelenítésének és elrejtésének kezelésére szolgáló módszereket és tulajdonságokat, valamint a megjelenített virtuális billentyűzet méretének információinak megszerzését.
- A JavaScript osztályokhoz statikus inicializáló blokkok alkalmazásának lehetőségét biztosítják, hogy egyszer végrehajtott kódot csoportosítsanak az osztály feldolgozása során: class C { // A blokk az osztály feldolgozása során fut le static { console.log('C statikus blokkja'); } }
- A CSS flex-bázis és flex tulajdonságokban megvalósították a content, min-content, max-content és fit-content kulcsszavakat a Flexbox fő területének méretének rugalmasabb kezelésére.
- A scrollbar-gutter CSS property has been added to manage screen space reservation for the scrollbar. For instance, when scrolling of content is not required, the output can be expanded to occupy the scrollbar area.
- Hozzáadták a Self Profiling API-t, amely egy profilozó rendszert valósít meg, lehetővé téve a JavaScript végrehajtási idejének mérését a felhasználói oldalon, a JavaScript-kód teljesítményproblémáinak hibakeresése érdekében, anélkül, hogy kézi manipulációkra lenne szükség a webfejlesztők felületén.
- A Flash-bővítmény eltávolítása után úgy döntöttek, hogy üres értékeket adnak vissza a navigator.plugins és a navigator.mimeTypes tulajdonságokban, de kiderült, hogy egyes alkalmazások ezeket arra használták, hogy ellenőrizzék a PDF fájlok megjelenítéséhez szükséges bővítmények meglétét. Mivel a Chrome-nak van beépített PDF-nézője, mostantól a navigator.plugins és a navigator.mimeTypes tulajdonságok egy rögzített listát fognak visszaadni a PDF megtekintéséhez szükséges alap bővítményekről és MIME-típusokról: „PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer és WebKit built-in PDF”.
- Fejlesztések történtek a webfejlesztők számára készült eszközökben. A képernyők szimulálásához hozzáadták a Nest Hub és a Nest Hub Max eszközöket. A hálózati aktivitás vizsgálati interfészhez hozzáadtak egy gombot a szűrők megfordításához (például a „status-code: 404” szűrő beállításakor gyorsan meg lehet nézni az összes többi kérést), valamint lehetőséget nyújtanak a Set-Cookie fejléc eredeti értékeinek megtekintésére (ez lehetővé teszi a hibás értékek azonosítását, amelyeket a normalizálás során eltávolítanak). A webkonzolon belüli oldalsávot elavultnak nyilvánították, és a következő kiadások egyikében eltávolítják. Kísérleti lehetőségként hozzáadták a problémák elrejtését az Issues fülön. A beállítások között lehetőség van az interfész nyelvének kiválasztására.

Az új verzióban az újdonságok és hibajavítások mellett 19 sebezhetőséget is sikerült megszüntetni. A sebezhetőségek jelentős része automatizált tesztelés során derült ki az AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer és AFL eszközökkel. Kritikus problémákat, amelyek lehetővé tennék a böngésző minden védelmi szintjének megkerülését és a 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 járó díjprogram keretében a Google a jelenlegi kiadásért 17 jutalmat összesen 56 500 dollár értékben fizetett ki (egy jutalom 15 000 dollár, két jutalom 10 000 dollár, egy jutalom 7 500 dollár, négy jutalom 3 000 dollár, két jutalom 1 000 dollár). A 7 jutalom összege még nem lett meghatározva.
Forrás: opennet.ru





