Uvolnění Chrome 76

Společnost Google představila vydání webového prohlížeče Chrome 76. Současně je dostupná stabilní vydání otevřeného projektu Chromium, který tvoří základ Chrome. Prohlížeč Chrome se liší používáním logotypů Google, systémem zasílání upozornění v případě havárie, možností načítání modulu Flash na vyžádání, moduly pro reprodukci chráněného videoobsahu (DRM), systémem automatické instalace aktualizací a přenosem při vyhledávání parametry RLZ. Další vydání Chromu 77 je naplánováno na 10. září.

Hlavní změny v Chrome 76:

  • Aktivováno ve výchozím nastavení režim ochrany před sledováním cookies třetích stran, který v případě absence atributu SameSite v hlavičce Set-Cookie automaticky nastavuje hodnotu „SameSite=Lax“, omezující odesílání cookies pro vložení z externích webů (ale weby stále mohou toto omezení zrušit tím, že při nastavení cookies výslovně nastaví hodnotu SameSite=None). Doposud prohlížeč odesílal cookies na každou žádost na web, pro který jsou cookies nastaveny, i když byl původně otevřen jiný web a požadavek byl proveden nepřímým způsobem, například načítáním obrázku nebo prostřednictvím iframe. V režimu ‘Lax’ je odesílání cookies blokováno pouze pro mezivybavení, jako jsou požadavky na obrázky nebo načítání obsahu přes iframe, které se často používají k organizaci CSRF útoků a sledování pohybu uživatele mezi weby.
  • Přehrávání Flash obsahu bylo ve výchozím nastavení zastaveno. Do vydání Chromu 87, očekávaného v prosinci 2020, bude možné obnovit podporu Flash v nastavení (Pokročilé > Ochrana soukromí a zabezpečení > Nastavení webu) s následným výslovným potvrzením akce přehrávání Flash obsahu pro každý web (potvrzení se zapamatuje do restartování prohlížeče). Kompletní odstranění kódu pro zajištění podpory Flash je synchronizováno s dříve oznámeným plánem společnosti Adobe na ukončení podpory technologie Flash v roce 2020;
  • Pro podniky byla do adresního řádku přidána možnost vyhledávání souborů ve službě Google Drive;

    Uvolnění Chrome 76
  • Začala masové blokování v Chromu nevhodné reklamy, které narušují vnímání obsahu a neodpovídají kritériím stanoveným Koalicí pro zlepšení reklamy;
  • Byl zaveden adaptivní režim přepínání na novou stránku, při kterém se vyčištění aktuálního obsahu a zobrazení bílé obrazovky neprovádí okamžitě, ale s malým zpožděním. U rychle se načítajících stránek má vyčištění za následek pouze blikání a nenese žádnou užitečnou zátěž, která by měla informovat uživatele o zahájení načítání nové stránky. V nové verzi, pokud se stránka načítá rychle a spadá do malého zpoždění, se nová stránka zobrazí na místě, bezproblémově nahrazující předchozí (například to je pohodlné při přechodu na jiné stránky stejného webu, které mají podobný design a barevné schéma). Pokud je pro zobrazení stránky potřeba nějaký znatelný čas pro uživatele, bude jako dříve obrazovka předem vyčištěna;
  • Byly zpřísněny kritéria pro určení aktivity uživatele na stránce. Chrome nyní povoluje zobrazování vyskakovacích upozornění a přehrávání obtěžujícího video/audio obsahu až po akci uživatele na stránce. V nové verzi již stisknutí klávesy Escape, najetí kurzoru na odkaz a dotyk na obrazovce nejsou považovány za aktivující interakci se stránkou (vyžaduje se jasné kliknutí, zadání textu nebo posouvání);
  • Přidáno mediální dotaz „prefers-color-scheme“, který umožňuje webům určit použití tmavého motivu v prohlížeči a automaticky zapnout tmavý režim pro prohlížený web.
  • Při aktivaci tmavého motivu v sestaveních pro Linux se nyní tmavou barvou zobrazuje i adresní řádek;
  • Blokováno možnost určovat otevření stránky v inkognito režimu prostřednictvím manipulací s FileSystem API, které dříve používala některá vydání k vnucování placeného předplatného v případě anonymního otevírání stránek bez zapamatování souborů cookie (aby uživatelé nemohli používat soukromý režim k obcházení mechanismu poskytování bezplatného zkušebního přístupu). Dříve při práci v inkognito režimu prohlížeč blokoval přístup k FileSystem API, aby se předešlo usazování dat mezi relacemi, což umožňovalo z JavaScriptu zkontrolovat možnost ukládání dat přes FileSystem API a v případě selhání usoudit o aktivitě inkognito režimu. Nyní není přístup k FileSystem API blokován a obsah je vyčištěn po ukončení relace;
  • Byly přidány nové výzvy v
    API Payment Request a Payment Handler. V objektu PaymentRequestEvent došlo k novému metodě changePaymentMethod(), a v objektu PaymentRequest byl přidán nový zpracovatel události paymentmethodchange, který umožňuje platební platformě nebo webové aplikaci reagovat na změnu metody platby uživatelem. V nové verzi byly také zjednodušeny testování aplikací souvisejících s platbami pomocí vlastních certifikátů. Pro ignorování chyb ověření certifikátů během vývoje byla přidána nová volba příkazového řádku „—ignore-certificate-errors“;
  • Vedle tlačítka pro přidání do záložek v adresním řádku pro webové aplikace fungující v režimu Desktop Progressive Web Apps (PWA), přidán zástupce pro instalaci webové aplikace v systému, aby fungoval jako samostatný program;
    Uvolnění Chrome 76
  • Pro mobilní zařízení byla poskytnuta možnost řízení zobrazení mini panelu s výzvou k přidání aplikace na domovskou obrazovku. Pro aplikace PWA (Progressive Web App) se mini panel automaticky zobrazuje při prvním otevření stránky. Vývojář se nyní může rozhodnout tento panel nezobrazit a implementovat vlastní výzvu k instalaci, pro kterou může nastavit zpracovatele události
    beforeinstallprompt a vázat na něj volání preventDefault();
    Uvolnění Chrome 76
  • Byla zvýšena frekvence kontroly aktualizací pro nainstalované aplikace PWA (Progressive Web App) na platformě Android. Aktualizace WebAPK nyní probíhají jednou denně, nikoli jednou za tři dny, jak tomu bylo dříve. Pokud při této kontrole dojde k jakékoli změně alespoň jedné klíčové vlastnosti v manifestu, prohlížeč stáhne a nainstaluje nový WebAPK;
  • V API Asynchronní schránka byla přidána možnost programového čtení a zápisu obrazů do schránky pomocí metod navigator.clipboard.read() a navigator.clipboard.write();
  • Byla zavedena podpora skupiny HTTP hlaviček Fetch Metadata (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site a Sec-Fetch-User), které umožňují odesílat další metadata o povaze žádosti (mezi doménové požadavky, požadavek přes tag img atd.) pro přijetí opatření na serveru k ochraně před některými typy útoků (například je nepravděpodobné, že by odkaz na zpracovatele pro převod peněz byl určen přes tag img, proto takové požadavky lze blokovat bez předání aplikaci);
  • Byla přidána funkce form.requestSubmit(), která spouští programové odeslání formulářových dat, obdobně jako kliknutí na tlačítko odeslání. Funkci lze použít při vývoji vlastních tlačítek pro odeslání formuláře, pro která není volání form.submit() dostatečné, protože nevede k interaktivnímu ověření parametrů, generování události ‘submit’ a předání připojených dat k tlačítku pro odeslání;
  • Byla přidána funkce commit(), která umožňuje potvrzovat transakce související s objektem IDBTransaction, aniž by byla čekána na dokončení zpracovatelů událostí ve všech souvisejících požadavcích. Použití commit() zvyšuje propustnost zápisových a čtecích požadavků v úložišti a umožňuje explicitní řízení ukončení transakce;
  • V funkcích Intl.DateTimeFormat, jako jsou formatToParts() a resolveOptions(), byly přidány možnosti dateStyle a timeStyle, které umožňují vyžádat si specifické místní styly pro zobrazení dat a času;
  • Metoda BigInt.prototype.toLocaleString() byla změněna tak, aby formátovala čísla s ohledem na lokalizaci, a metoda Intl.NumberFormat.prototype.format() a funkce formatToParts() byly upraveny pro podporu vstupních hodnot typu BigInt;
  • Bylo povoleno používat API Media Capabilities ve všech typech Web Workerů, což může být využito k výběru optimálních parametrů při vytváření MediaStreamu z workeru;
  • Byla přidána metoda Promise.allSettled(), který vrací pouze již splněné nebo odmítnuté promise, nezohledňuje promise čekající na splnění;
  • Možnost ‘—disable-infobars’ byla odstraněna, která dříve mohla být použita k skrytí vyskakovacích upozornění v rozhraní Chrome (pro skrytí souvisejících bezpečnostních upozornění bylo navrženo pravidlo CommandLineFlagSecurityWarningsEnabled);
  • V rozhraní pro práci s blobmi byly přidány byly přidány metody text(), arrayBuffer() a stream() pro čtení určitých typů dat;
  • Bylo přidáno CSS vlastnost ‘white-space: break-spaces’, která určuje, že jakákoli posloupnost mezer vedoucí k přetečení řádku by měla být rozdělena;
  • Byla zahájena práce na vyčištění flagů v chrome://flags, například, byl odstraněn flag pro zakázání atributu ‘ping’, který umožňuje vlastníkům webových stránek sledovat přechody po odkazech z jejich stránek. V případě přechodu po odkazu, pokud je v tagu ‘a href’ atribut ‘ping=URL’, nelze v prohlížeči nyní zakázat odeslání dalšího POST požadavku na uvedený URL v atributu s informacemi o uskutečněném přechodu. Smysl blokování ping se ztrácí, protože tento atribut určený ve specifikacích HTML5 a existuje několik obcházejících metod, jak dosáhnout stejného výsledku (například přesměrování přes transitní odkaz nebo zachytávání kliknutí pomocí JavaScriptových handlerů);
  • Byla odstraněna značka pro deaktivaci režimu přísné izolace stránek, při kterém jsou stránky různých hostitelů vždy umístěny v paměti různých procesů, v každém z nichž je aplikován vlastní sandbox.
  • V enginu V8 byla výrazně zvýšena výkonnost skenování a parsování formátu JSON. Pro populární webové stránky byl zaznamenán zrychlený výkon JSON.parse až 2,7 krát. Výrazně se urychlila konverze Unicode řetězců, například rychlost volání String#localeCompare, String#normalize, stejně jako některých API Intl, vzrostla téměř dvojnásobně. Také byla zásadně optimalizována výkonnost operací se zmrazenými poli při použití operací, jako jsou frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) a fn.apply(this, […frozen]).

    Uvolnění Chrome 76

Kromě novinek a oprav chyb v nové verzi bylo odstraněno 43 zranitelnosti. Mnoho zranitelností bylo odhaleno v důsledku automatizovaného testování nástroji AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Kritické problémy, které umožňují obejít všechny úrovně ochrany prohlížeče a spustit kód v systému mimo sandboxové prostředí, nebyly zjištěny. V rámci programu na vyplácení peněžních odměn za nalezení zranitelností pro tuto verzi společnost Google vyplatila 16 odměn v celkové výši 23 500 dolarů (jedna odměna 10 000 $, jedna odměna 6 000 $, dvě odměny 3 000 $ a tři odměny 500 $). Výše 9 odměn zatím není určena.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster