Spoločnosť Google predstavila vydanie webového prehliadača Chrome 89. Zároveň je k dispozícii stabilná verzia voľného projektu Chromium, ktorý slúži ako základ pre Chrome. Prehliadač Chrome sa vyznačuje používaním loga Google, prítomnosťou systému zasielania oznámení v prípade zlyhania, modulmi na prehrávanie chráneného videobsahu (DRM), systémom automatickej inštalácie aktualizácií a prenášaním RLZ parametrov pri vyhľadávaní. Ďalšie vydanie Chrome 90 je naplánované na 13. apríla.
Hlavné zmeny v Chrome 89:
- Verzia Chrome pre Android bude teraz spúšťaná iba na zariadeniach certifikovaných v Play Protect. V virtuálnych strojoch a emulátoroch Chrome pre Android sa môže používať, ak je emulované povolené zariadenie alebo emulátor je vyvinutý spoločnosťou Google. Certifikovanosť zariadenia je možné skontrolovať v aplikácii Google Play v sekcii nastavení (na stránke nastavení je na spodnej časti uvedený stav „Play Protect certification“). Pre necertifikované zariadenia, napríklad pri používaní neoficiálnych firmvérov, sa používateľom odporúča zaregistrovať svoje zariadenia na spustenie Chrome.
- Pre malý percentuálny podiel používateľov je povolené automatické otváranie webových stránok cez HTTPS pri zadávaní názvov hostiteľov do adresného riadku. Napríklad pri zadaní hostiteľa example.com bude predvolene otvorená stránka https://example.com, a ak pri otvorení nastanú problémy, dôjde k návratu k http://example.com. Na správu predvoleného používania „https://“ bola navrhnutá konfigurácia „chrome://flags#omnibox-default-typed-navigations-to-https“.
- Je zapnutá podpora profilov, ktorá umožňuje rôznym používateľom zdieľať svoje účty pri práci v jednom prehliadači. Napríklad pomocou profilov môžete usporiadať prístup členom rodiny alebo rozdeliť relácie pre pracovné a osobné záujmy. Používateľ si môže vytvoriť nový profil Chrome a nastaviť jeho aktiváciu pri prihlásení sa do určitého účtu Google, čo umožňuje rôznym používateľom zdieľať záložky, nastavenia a históriu prehliadania. Pri pokuse o prihlásenie do účtu, ktorý je priradený k inému profilu, bude používateľ vyzvaný, aby prešiel na tento profil. Ak má používateľ priradené viaceré profily, dostane možnosť vybrať si požadovaný profil. Je možné priradiť rôzne farebné schémy pre vizuálne rozlíšenie používateľov.

- Je zapnuté zobrazenie náhľadov obsahu pri prechode kurzorom nad kartami na hornej lište. Predtým bol náhľad obsahu kariet predvolený vypnutý a vyžadoval zmenu nastavenia „chrome://flags/#tab-hover-cards“.

- Pre časť používateľov je zapnutá funkcia „Zoznam čítania“ (Reading List, „chrome://flags#read-later“), pri aktivácii ktorej sa po kliknutí na hviezdičku v adresnom riadku okrem tlačidla „Pridať záložku“ objaví aj druhé tlačidlo „Pridať do zoznamu čítania“, a v pravom rohu panela záložiek sa objaví menu „Zoznam čítania“, v ktorom sú uvedené všetky predtým pridané stránky. Pri otvorení stránky zo zoznamu je označená ako prečítaná. Stránky v zozname môžu byť taktiež manuálne označené ako prečítané a neprečítané alebo odstránené zo zoznamu.

- Pre používateľov prihlásených do účtu Google je bez zapnutia Chrome Sync poskytnutý prístup k metódam platieb a heslám uloženým v účte Google. Možnosť je zapnutá pre časť používateľov a postupne sa rozšíri na ostatných.
- Je zapnutá podpora rýchleho vyhľadávania kariet, ktorá predtým vyžadovala aktiváciu prostredníctvom vlajky „chrome://flags/#enable-tab-search“. Používateľ môže prezerať zoznam všetkých otvorených kariet a rýchlo filtrovať požadovanú kartu, bez ohľadu na to, či sa nachádza v aktuálnom alebo inom okne.

- Spracovanie vstupu jednotlivých slov v adresnom riadku bolo pre všetkých používateľov zastavené ako pokus o otvorenie interných stránok. Predtým, ak používateľ zadal jedno slovo do adresného riadku, prehliadač najprv skúšal v DNS zistiť prítomnosť hostiteľa s týmto menom, domnievajúc sa, že používateľ sa pokúša otvoriť subdoménu, a až potom smeroval žiadosť vyhľadávaču. Takto vlastník DNS servera uvedeného v nastaveniach používateľa získaval informácie o vyhľadávacích dopytoch zložených z jedného slova, čo sa považovalo za porušenie súkromia. Pre podniky používajúce internetové hostiteľské služby bez subdomény (napríklad „https://helpdesk/“) bola poskytnutá možnosť vrátiť sa k predchádzajúcemu správaniu.
- Zavedená možnosť zafixovať verziu doplnku alebo aplikácie. Napríklad, na použitie len overených doplnkov v rámci podniku môže administrátor pomocou novej politiky ExtensionSettings nastaviť Chrome na používanie vlastnej URL adresy na sťahovanie aktualizácií, namiesto URL adresy uvedenej v manifeste doplnku.
- Na systémoch x86 je teraz povinná podpora inštrukcií SSE3 procesorom pre fungovanie prehliadača, ktoré procesory Intel podporujú od roku 2003 a AMD od roku 2005.
- Pridané ďalšie API, zamerané na poskytnutie funkčnosti, ktorá by mohla nahradiť externé cookies používané na sledovanie pohybu používateľa medzi stránkami v kóde reklamných sietí, widgetov sociálnych médií a systémov webovej analýzy. Navrhnuté na testovanie sú tieto API:
- Trust Token na rozdelenie používateľov bez použitia medziwebových identifikátorov.
- First party sets - umožňuje príbuzným doménam vyhlásiť sa za primárne, aby prehliadač mohol zohľadniť toto spojenie pri medziwebových žiadostiach.
- Schemeful Same-Site na rozšírenie pojmu same-site na rôzne schémy URL, t.j. http://website.example a https://website.example budú spracované ako jedna stránka pri medziwebových požiadavkách.
- Floc na určenie kategórie záujmov používateľa bez individuálnej identifikácie a bez spojenia s históriou navštevovania konkrétnych stránok.
- Conversion Measurement na hodnotenie aktivity používateľa po prechode na reklamu.
- Client Hints prehliadača na nahradenie User-Agent a selektívne poskytovanie údajov o konkrétnych parametroch prehliadača a systému (verzia, platforma atď.).
- Pridané API Serial, ktoré umožňuje webovým stránkam čítať a zapisovať údaje cez sériový port. Ako dôvod vzniku takéhoto API sa uvádza možnosť vytvárať webové aplikácie pre priamu manipuláciu s takými zariadeniami ako sú mikrokontroléry a 3D tlačiarne. Na získanie prístupu k periférnemu zariadeniu je potrebné explicitné potvrdenie oprávnení používateľom.
- Pridané API WebHID pre nízkoúrovňový prístup k HID zariadeniam (Human Interface Device, klávesnice, myši, herné ovládače, dotykové panely), ktoré umožňuje implementovať logiku práce s HID zariadením na JavaScripte na usporiadanie práce s raritnými HID zariadeniami bez špecifických ovládačov v systéme. Nové API je predovšetkým zamerané na poskytovanie podpory herných ovládačov.
- Pridané API Web NFC, ktoré umožňuje webovým aplikáciám čítať a zapisovať NFC tagy. Medzi príklady využitia nového API vo webových aplikáciách patrí poskytovanie informácií o múzejných exponátoch, vykonávanie inventarizácie, získavanie údajov z odznakov účastníkov konferencií atď. Odosielanie a skenovanie tagov sa vykonáva pomocou objektov NDEFWriter a NDEFReader.
- API Web Share (objekt navigator.share) bol rozšírený nad rámec mobilných zariadení a teraz je dostupný používateľom desktopových prehliadačov (zatiaľ len pre Windows a Chrome OS). API Web Share poskytuje prostriedky na zdieľanie informácií na sociálnych sieťach, napríklad umožňuje vygenerovať unified button pre publikovanie na sociálnych sieťach, ktoré používateľ navštevuje, alebo zorganizovať odosielanie údajov iným aplikáciám.
- Vo verziách pre Android a v komponente WebView bola pridaná podpora pre dekódovanie formátu obrázkov AVIF (AV1 Image Format), v ktorom sú využité technológie intraframe kompresie z video kódovacieho formátu AV1 (v desktopových verziách bola podpora AVIF zahrnutá už v Chrome 85). Kontajner na šírenie stlačených údajov v AVIF je úplne analogický HEIF. AVIF podporuje obrazové dáta v HDR (High Dynamic Range) a širokolestnom farebnom priestore, ako aj v štandardnom dynamickom rozsahu (SDR).
- Pridaný nový Reporting API na získavanie informácií o porušení pravidiel bezpečného používania na stránke privilegovaných operácií, určených prostredníctvom hlavičky COOP (Cross-Origin-Opener-Policy), ktorý tiež umožňuje prepnúť COOP do režimu ladenia, fungujúceho bez blokovania porušení pravidiel.
- Pridaná funkcia performance.measureUserAgentSpecificMemory(), ktorá určuje veľkosť pamäte spotrebovanej pri spracovaní stránky.
- Na splnenie požiadaviek webového štandardu sú všetky URL "data:" teraz spracovávané ako potenciálne dôveryhodné, t.j. sú súčasťou zabezpečeného kontextu.
- V API Streams bola pridaná podpora pre bytestreamy (Byte Streams), ktoré sú špeciálne optimalizované na efektívny prenos ľubovoľných súborov bajtov a minimalizujú počet operácií kopírovania s údajmi. Výstup prúdu môže byť zapísaný do takých primitív ako reťazce alebo ArrayBuffer.
- V SVG prvkoch bola implementovaná podpora plnej syntaxe vlastnosti "filter", čo umožňuje súčasne aplikovať na SVG a non-SVG prvky také funkcie filtrácie, ako blur(), sepia() a grayscale().
- V CSS bol implementovaný pseudo-element "::target-text", ktorý možno použiť na zvýraznenie fragmentu, na ktorý sa prechádzalo textom (scroll-to-text), iným štýlom ako používa prehliadač pri zvýraznení nájdeného.
- Pridané CSS vlastnosti na riadenie zaoblenia rohov: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius.
- Pridané CSS vlastnosť forced-colors na určenie, či prehliadač na stránke používa obmedzenú farebnú paletu určenú používateľom.
- Pridané CSS vlastnosť forced-color-adjust na deaktiváciu núteného obmedzenia farieb pre jednotlivé prvky, pričom im zostáva plná kontrola nad farbami cez CSS.
- V JavaScripte je povolené použitie kľúčového slova await na najvyššej úrovni v moduloch, čo umožňuje mäkšie začlenenie asynchrónnych volaní do procesu načítania modulov a vyhnúť sa obaleniu do "async function". Napríklad, namiesto (async function() { await Promise.resolve(console.log('test')); }()); teraz môžete napísať await Promise.resolve(console.log('test'));
- V JavaScript motoru V8 bol zrýchlený volanie funkcií, v situáciách, keď počet predaných argumentov sa nezhoduje s definovanými parametrami funkcie. Pri odlišnosti počtu argumentov v režime bez JIT sa výkon zvýšil o 11.2%, a pri použití JIT TurboFan o 40%.
- Bola vykonaná veľká porcia drobných zlepšení v nástrojoch pre webových vývojárov.
Okrem nových funkcií a opravy chýb v novej verzii bolo odstránených 47 zraniteľností. Mnohé z týchto zraniteľností boli odhalené v rámci automatizovaného testovania nástrojmi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer a AFL. Neboli zistené kritické problémy, ktoré by umožnili obísť všetky úrovne ochrany prehliadača a vykonať kód v systéme mimo prostredia sandbox. Zároveň sa uvádza, že jedna z opravených zraniteľností (CVE-2021-21166), ktorá súvisí s dĺžkou života objektov v zvukovom subsystéme, má charakter 0-day problému a pred opravou bola použitá v jednom z exploitov. V rámci programu vyplácania finančných odmien za objavené zraniteľnosti pre aktuálnu verziu spoločnosť Google vyplatila 33 odmien v celkovej výške 61 000 dolárov (dve odmeny po 10 000 dolárov, dve odmeny po 7 500 dolárov, tri odmeny po 5 000 dolárov, dve odmeny po 3 000 dolárov, štyri po 1 000 dolárov a dve odmeny po 500 dolárov). Veľkosť 18 odmien zatiaľ nebola určená.
Zdroj: opennet.ru




