Vydání Chrome 95

Google odhalil vydání webového prohlížeče Chrome 95. Zároveň je k dispozici stabilní vydání bezplatného projektu Chromium, který je základem Chromu. Prohlížeč Chrome se vyznačuje použitím log Google, přítomností systému pro zasílání upozornění v případě pádu, moduly pro přehrávání chráněného video obsahu (DRM), systémem automatických aktualizací a přenosem při vyhledávání parametrů RLZ. V souladu s novým 4týdenním vývojovým cyklem je další vydání Chrome 96 naplánováno na 16. listopadu. Pro ty, kteří potřebují více času na aktualizaci, je udržována samostatná větev Extended Stable, po které následuje 8 týdnů, které vygenerovaly aktualizaci pro poslední vydání Chrome 94.

Klíčové změny v Chrome 95:

  • Pro uživatele systémů Linux, Windows, macOS a ChromeOS se nabízí nový postranní panel, který se zobrazuje napravo od obsahu a aktivuje se kliknutím na speciální ikonu v adresním řádku. Panel zobrazuje souhrn se záložkami a seznam četby. Změna není povolena pro všechny uživatele, můžete ji aktivovat pomocí nastavení „chrome://flags/#side-panel“.
    Vydání Chrome 95
  • Implementován výstup explicitní žádosti o oprávnění k ukládání adres zadaných do webových formulářů pro následné použití v systému automatického vyplňování formulářů. Při zjišťování přítomnosti adres ve formulářích se nyní uživateli zobrazí dialog, který umožňuje uložit adresu, upravit, aktualizovat dříve uloženou adresu nebo odmítnout uložení.
  • Odebrán kód pro podporu protokolu FTP. V Chrome 88 byla podpora FTP ve výchozím nastavení zakázána, ale byl ponechán příznak pro její povolení.
  • Byla zrušena podpora pro adresy URL s názvy hostitelů končícími na číslo, které neodpovídají adresám IPv4. Například adresy URL „http://127.1/“, „http://foo.127.1/“ a „http://127.0.0.0.1“ budou nyní považovány za neplatné.
  • Pro WebAssembly je implementována schopnost vytvářet obslužné rutiny výjimek, které mohou zachytit provádění v případě, že při provádění určitého kódu dojde k výjimce. Podporuje jak zachycení výjimek známých modulu WebAssembly, tak výjimek v procesu volání importovaných funkcí. K zachycení výjimek musí být modul WebAssembly sestaven kompilátorem, který si uvědomuje výjimky, jako je Emscripten.

    Je třeba poznamenat, že zpracování výjimek na úrovni WebAssembly může výrazně snížit velikost generovaného kódu ve srovnání se zpracováním výjimek pomocí JavaScriptu. Například sestavení optimalizátoru Binaryen se zpracováním výjimek pomocí JavaScriptu vede ke 43% nárůstu kódu a o 9% při použití WebAssembly. Navíc při použití režimu optimalizace "-O3" se kód se zpracováním výjimek pomocí WebAssembly prakticky neliší výkonem od kódu bez obslužných rutin, zatímco zpracování výjimek pomocí JavaScriptu vede ke 30% zpomalení provádění.

  • Při zpracování jednoho webu je zakázáno sdílet moduly WebAssembly mezi různými doménami (cross-origin).
  • Do režimu Origin Trials bylo přidáno několik nových API (experimentální funkce, které vyžadují samostatnou aktivaci). Origin Trial znamená schopnost pracovat se zadaným API z aplikací stažených z localhost nebo 127.0.0.1, nebo po registraci a obdržení speciálního tokenu, který je platný po omezenou dobu pro konkrétní web.
    • Povoleno ořezávání informací v HTTP hlavičce User-Agent a parametrech JavaScript navigator.userAgent, navigator.appVersion a navigator.platform. Záhlaví obsahuje pouze informace o názvu prohlížeče, hlavní verzi prohlížeče, platformě a typu zařízení (mobil, PC, tablet). Pro další data, jako je přesná verze a data rozšířené platformy, musíte použít rozhraní User Agent Client Hints API. Zahájení omezování uživatelských agentů na spotřebitelských systémech je naplánováno na vydání Chrome 102, které bude zveřejněno za půl roku.
    • Je navržena možnost vytvoření přístupových úchytů (Access Handles) pro File System Access API, což umožňuje webovým aplikacím číst a zapisovat data přímo do souborů a adresářů na zařízení uživatele. Aby se omezil způsob, jakým webové aplikace přistupují k systému souborů, Google plánuje sloučit rozhraní File System Access a Storage Foundation API. Jako přípravná fáze pro takové sloučení je navržena podpora deskriptorů přístupu, která doplňuje metody práce založené na deskriptorech souborů o pokročilé funkce, jako je nastavení zámku zápisu jinými procesy a vytváření samostatných streamů pro zápis a čtení, včetně podpory pro čtení a zápis od pracovníků v synchronním režimu.
  • Secure Payment Confirmation API bylo stabilizováno a ve výchozím nastavení navrženo s implementací nového „platebního“ rozšíření, které poskytuje dodatečné potvrzení o provedené platební operaci. Spoléhající se strana, jako je banka, má možnost vygenerovat pověření PublicKeyCredential, které si může obchodník vyžádat pro dodatečné bezpečné potvrzení platby prostřednictvím rozhraní Payment Request API pomocí platební metody „secure-payment-confirmation“.
  • Zpětná volání nastavená prostřednictvím konstruktoru PerformanceObserver mají nyní předanou vlastnost dropEntriesCount, která vám umožňuje pochopit, kolik metrik výkonu webu bylo zrušeno, protože se nevešly do poskytnuté vyrovnávací paměti.
  • Přibylo rozhraní EyeDropper API, které umožňuje zavolat rozhraní poskytované prohlížečem pro určení barvy libovolných pixelů na obrazovce, což lze využít například v grafických editorech implementovaných jako webové aplikace. const eyeDropper = new EyeDropper(); const result = wait eyeDropper.open(); // výsledek = {sRGBHex: '#160731'}
  • Byla přidána funkce self.reportError(), která umožňuje skriptům tisknout chyby do konzole a emulovat tak výskyt nezachycené výjimky.
  • Přidáno rozhraní URLPattern API pro kontrolu, zda adresa URL odpovídá určitému vzoru, což lze použít například k analýze odkazů a přesměrování požadavků na obslužné rutiny v servisním pracovníkovi. const p = new URLPattern({ protokol: 'https', název hostitele: 'example.com', cesta: '/:složka/*/:název_souboru.jpg', });
  • Bylo rozšířeno API Intl.DisplayNames, jehož prostřednictvím můžete získat lokalizované názvy jazyků, zemí, měn, datových prvků atd. Nová verze přidává nové typy názvů „calendar“ a „dateTimeField“, jejichž prostřednictvím lze zjistit lokalizované názvy kalendáře a pole data a času (například název měsíců). Přidána podpora používání jazykových dialektů pro typ „jazyk“.
  • Přidána podpora pro nové hodnoty parametru timeZoneName v Intl.DateTimeFormat API: "shortGeneric" pro zobrazení identifikátoru krátkého časového pásma (například "PT", "ET"), "longGeneric" - dlouhý (" Pacific Time", "Mountain Time"), "shortOffset" - s krátkým posunem vzhledem k GMT ("GMT+5") a "longOffset" s dlouhým posunem vzhledem k GMT ("GMT+0500").
  • Zastaralé rozhraní API U2F (Cryptotoken), které by mělo být nahrazeno rozhraním Web Authentication API. U2F API bude ve výchozím nastavení ve verzi Chrome 98 zakázáno a ve verzi Chrome 104 zcela odstraněno.
  • Vylepšeny byly nástroje pro webové vývojáře. Panel Styly usnadňuje úpravu vlastností CSS souvisejících s velikostí (výška, odsazení atd.). Karta Problémy poskytuje možnost skrýt jednotlivé problémy. Vylepšené zobrazení vlastností ve webové konzoli, na panelech Zdroje a Vlastnosti (vlastní vlastnosti jsou nyní zobrazeny tučně a jsou zobrazeny v horní části seznamu).
    Vydání Chrome 95

Kromě inovací a oprav chyb bylo v nové verzi opraveno 19 zranitelností. Mnoho zranitelností bylo identifikováno jako výsledek automatizovaných testovacích nástrojů AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Nebyly zjištěny žádné kritické problémy, které by umožňovaly obejít všechny úrovně ochrany prohlížeče a spouštět kód v systému mimo prostředí sandboxu. V rámci programu odměn za zranitelnost pro aktuální verzi společnost Google vyplatila 16 ocenění v hodnotě 74 20000 USD (jedno ocenění 10000 7500 USD, dvě ocenění 6000 5000 USD, jedno ocenění 3000 2000 USD, jedno ocenění 1000 5 USD, tři ocenění XNUMX XNUMX USD a jedno ocenění XNUMX XNUMX USD a XNUMX XNUMX USD). XNUMX $). Výše XNUMX odměn zatím nebyla stanovena.

Zdroj: opennet.ru

Přidat komentář