Google esitleb versiooni veebibrauserist Chrome 94. Samal ajal on saadaval stabiilne vaba projekti Chromium väljaanne, mis on Chrome'i alus. Brauser Chrome eristub Google'i logode kasutamise, süsteemi olemasolu tõttu, mis saadab teateid krahhi korral, kaitstud videoinfosisu (DRM) esitamise moodulite, automaatsete uuenduste installimise süsteemi ja RLZ-parameetrite edastamisega otsingute kaudu. Järgmine Chrome 95 väljaanne on planeeritud 19. oktoobriks.
Alates Chrome 94 väljaandest on arendus viidud uude versioonide ettevalmistamise tsüklisse. Uusi märkimisväärseid väljaandeid hakatakse nüüd avaldama iga 4 nädala järel, mitte iga 6 nädala järel, mis võimaldab kiirendada uute funktsioonide jõudmist kasutajateni. Täheldatakse, et väljalaskeprotsessi optimeerimine ja testimissüsteemi täiustamine võimaldavad väljalaseid sagedamini välja anda ilma kvaliteeti kahjustamata. Ettevõtetele ja neile, kellele on vaja rohkem aega uuendamiseks, avaldatakse iga 8 nädala järel eraldi väljaanne Extended Stable, mis võimaldab liikuda uutele funktsionaalsetele väljaannetele mitte iga 4 nädala, vaid iga 8 nädala tagant.
Chrome 94 peamised muudatused:
- Lisatud on režiim HTTPS-First, mis meenutab varem ilmunud Firefoxi režiimi HTTPS Only. Kui režiim on seadistustes aktiveeritud ja proovite avada ressursi, mis ei ole krüpteeritud HTTPS kaudu, püüab brauser esmalt külastada saiti HTTPS kaudu ja kui katse ebaõnnestub, kuvatakse kasutajale hoiatusteade, et HTTPS-i ei toetata, ning pakutakse avada sait krüpteerimata. Tulevikus kaalub Google HTTPS-First režiimi vaikimisi aktiveerimist kõigile kasutajatele, piirates mõningate veebiplatvormi võimaluste juurdepääsu HTTP kaudu avatud lehtedele, ja täiendavate hoiatuste lisamist, mis teavitavad kasutajaid krüpteerimata saitide külastamisega seotud ohtudest. Režiim aktiveeritakse jaotises Seaded „Privaatsus ja turvalisus” > „Turvalisus” > „Täpsemad”.

- HTTPS-ita avatud lehtede puhul on keelatud saata päringuid (ressursi allalaadimine) kohalikele URL-idele (nt „http://router.local” ja localhost) ning sisemistele aadressivahemikele (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 jne). Erand on tehtud ainult lehtedele, mis on laaditud koos serverid, millel on sisemised IP-d. Näiteks leht, mis on laaditud сервера 1.2.3.4, saab ligi ressursile, mis on paigutatud IP aadressile 192.168.0.1 või IP 127.0.0.1, kuid mis on laaditud serverist 192.168.1.1 - saab. Muudatus toob sisse täiendava kaitse kihi, et vältida haavatavuste ärakasutamist lokaalsetelt IP-delt tulevatesse päringute töötlejatesse ning kaitsta ka DNS rebinding rünnakute eest.
- On lisatud funktsioon „Sharing Hub”, mis võimaldab hõlpsasti jagada teiste kasutajatega lingi praegusele lehele. Pakutakse võimalust genereerida QR-kood URL-iga, lehte salvestada, saata link teisele seadmele, mis on seotud kasutaja kontoga, ja edastada link kolmandatele saitidele, nagu Facebook, WhatsApp, Twitter ja VK. See võimalus ei ole hetkel saadaval kõigile kasutajatele. Nupu „Share” sundimiseks menüüs ja aadressiribal saab kasutada seadeid „chrome://flags/#sharing-hub-desktop-app-menu” ja „chrome://flags/#sharing-hub-desktop-omnibox”.

- On toimunud ümberstruktureerimine brauseri seadete liideses. Iga seadete sektsioon kuvatakse nüüd eraldi lehel, mitte ühel ühislehel.

- On rakendatud toetust sertifikaatide läbipaistvuse (Certificate Transparency) dünaamiliseks värskendamiseks, mis nüüd värskendatakse ilma brauseri värskendamisega seotud.
- On lisatud teenuseleht „chrome://whats-new”, kus on ülevaade kasutajale nähtavatest muudatustest uues versioonis. Leht kuvatakse automaatselt kohe pärast värskendust või on saadaval menüüs „Mis on uut” (What’s New) abimenüüs (Help). Praegu on lehe peal mainitud vahekaartide otsingut, profiilide jagamise võimalust ja taustavärvi muutmise funktsiooni, mis ei ole spetsiifilised Chrome 94-le ja ilmusid varasemates väljaannetes. Lehe kuvamine on siiski mitte kõigile kasutajatele aktiveeritud: aktiveerimise haldamiseks saab kasutada seadistusi „chrome://flags#chrome-whats-new-ui” ja „chrome://flags#chrome-whats-new-in-main-menu-new-badge”.

- WebSQL API, mida laaditakse kolmandate osapoolte saitidelt (nt iframe kaudu), on kuulutatud aegunuks. Chrome 94 versioonis kuvatakse hoiatus, kui proovida WebSQL-i juurde pääseda kolmandate osapoolte skriptide kaudu, kuid alates Chrome 97 versioonist blokeeritakse sellised päringud. Tulevikus plaanitakse WebSQL-i toetust järk-järgult täielikult lõpetada sõltumata kasutamiskontekstist. WebSQL-i töötleja põhineb SQLite-koodil ja seda on kurjasti kuritarvitatud SQLite haavatavuste ära kasutamiseks.
- Turvakaalutlustel ja pahatahtliku tegevuse vältimiseks on alustatud aegunud MK-protokolli (URL:MK) kasutamise blokeerimist, mida kunagi rakendati Internet Explorers ja mis lubas veebirakendustel teavet tihendatud failidest välja võtta.
- Toetuse lõpetamine vanade Chrome'i versioonide (Chrome 48 ja vanemad) sünkroonimisele.
- HTTP-pealkirja Permissions-Policy, mis on mõeldud teatud funktsioonide lubamiseks ja API-dele juurdepääsu haldamiseks, on lisatud toimetuse 'display-capture' tugi, mis võimaldab hallata API Screen Capture kasutamist lehe peal (vaikimisi on ekraanisisu salvestamine välistest iframe’idest blokeeritud).
- Origin Trials režiimis (katsefunktsioonid, mis nõuavad eraldi aktiveerimist) on lisatud mitu uut API-d. Origin Trial võimaldab töötada määratud API-ga rakendustes, mis on laaditud localhost'i või 127.0.0.1-i, või pärast registreerimist ja spetsiaalse tokeni saamist, mis kehtib piiratud aja jooksul konkreetse saidi jaoks.
- Tutvustatakse WebGPU API-d, mis vahetab välja WebGL API ja pakub vahendeid GPU operatsioonide, näiteks renderdamise ja arvutuste teostamiseks. Kontseptsiooniliselt on WebGPU sarnane Vulkan, Metal ja Direct3D 12 API-dega. WebGPU eristub WebGL-ist umbes sama palju kui Vulkan graafika API eristub OpenGL-ist, kuid see ei põhine konkreetsel graafika API-l, vaid on universaalne kiht, mis kasutab samu madala taseme primitiive, mis on saadaval Vulkanis, Metalis ja Direct3D 12-s.
WebGPU pakub JavaScripti rakendustele madala taseme kontrolli GPU korralduse, töötlemise ja käskude edastamise üle, samuti võimaldab see hallata seotud ressursse, mälu, puhversid, tekstuuride objekte ja kompileeritud graafilisi shader'eid. Selline lähenemine võimaldab saavutada kõrgemat graafiliste rakenduste jõudlust, vähendades ülekande kulusid ja suurendades GPU kasutamise efektiivsust. API võimaldab luua keerulisi 3D-projekte veebis, mis toimivad sama hästi kui iseseisvad rakendused, kuid ei ole seotud konkreetsete platvormidega.
- Iseseisvates PWA rakendustes on toodud võimalus registreerida end URL-i töötlejatena. Näiteks võib rakendus music.example.com registreerida ennast URL-i töötlejana https://*.music.example.com ning kõik välisrakendustest pärit ülekanded nende linkide kaudu, näiteks vestlusprogrammides ja e-posti klientides, avavad selle PWA rakenduse, mitte uut vahekaarti brauseris.
- Uuendatud on HTTP vastuskoodi 103 toetamine, mida saab kasutada pealkirjade varaseks edastamiseks. Kood 103 võimaldab kliendile teatada teatud HTTP pealkirjade sisust kohe pärast päringut, ootamata, kuni server täidab kõik seotud päringuga seotud toimingud ja hakkab sisu edastama. Samamoodi saab edastada vihjeid seonduvate lehe elementide kohta, mis võivad olla eelnevalt laaditud (näiteks võivad olla toodud lingid lehe kasutatavatele CSS ja JavaScript failidele). Saades teavet selliste ressursside kohta, alustab brauser nende laadimist, ootamata põhilehe edastamise lõpetamist, mis võimaldab vähendada päringu koguaega.
- Tutvustatakse WebGPU API-d, mis vahetab välja WebGL API ja pakub vahendeid GPU operatsioonide, näiteks renderdamise ja arvutuste teostamiseks. Kontseptsiooniliselt on WebGPU sarnane Vulkan, Metal ja Direct3D 12 API-dega. WebGPU eristub WebGL-ist umbes sama palju kui Vulkan graafika API eristub OpenGL-ist, kuid see ei põhine konkreetsel graafika API-l, vaid on universaalne kiht, mis kasutab samu madala taseme primitiive, mis on saadaval Vulkanis, Metalis ja Direct3D 12-s.
- Lisatud on API WebCodecs, et manipuleerida multimeedia voogudega madalal tasemel, täiendades HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder ja WebRTC kõrgetasemelisi API-sid. Uus API võib osutuda vajalikuks sellistes valdkondades nagu mängude striimimine, kliendi poole efektide rakendamine, voogude kodeerimine ja mittestandardsete multimeedia konteinerite tugi. Erinevalt eraldi kodeekide rakendamisest JavaScriptis või WebAssemblys, pakub API WebCodecs juurdepääsu valmis kõrgetootlikku komponentide, mis on brauserisse integreeritud. Eriti pakub API WebCodecs helide ja videote dekoodereid ja kodeereid, pildide dekoodereid ning funktsioone videote üksikute kaadrite madala taseme töötlemiseks.
- Stabiliseeritud on API Insertable Streams, mis võimaldab manipuleerida toorete multimeedia voogudega, mis edastatakse API MediaStreamTrack kaudu, näiteks kaamera ja mikrofonist tulenevad andmed, ekraani salvestamise tulemus või dekodeerimise vaheandmed kodekilt. Toorete kaadrite esitamiseks kasutatakse liideseid WebCodec, pärast mida luuakse voog, mis sarnaneb sellele, mida API WebRTC Insertable Streams genereerib RTCPeerConnections põhjal. Praktilisest küljest võimaldab uus API rakendada funktsioone, näiteks masinõppemeetodite kasutamine objektide tuvastamiseks või märgistamiseks reaalajas või efektide, näiteks tausta eemaldamise, lisamiseks enne kodeerimist või pärast dekodeerimist kodekilt.
- Stabiliseeritud meetod scheduler.postTask(), mis võimaldab hallata JavaScripti ülesannete (tagasihelistamiste) täitmise planeerimist erinevate prioriteetide tasemete kaudu. Pakutakse kolme prioriteeditaset: 1 - täitmine esmajärjekorras, isegi kui kasutaja toimingud võivad olla blokeeritud; 2 - lubatud kasutajale nähtavad muudatused; 3 - täitmine taustal). Prioriteedi muutmiseks ja ülesannete tühistamiseks saab kasutada objekti TaskController.
- Stabiliseeritud ja nüüd laieneb Origin Trials API Idle Detection väljal, et määrata kasutaja mitteaktiivsust. API võimaldab määrata aega, mil kasutaja ei suhtle klaviatuuri/hiirega, ekraanisäästja on käivitatud, ekraan on lukustatud või tööd tehakse teisel ekraanil. Rakenduse teavitamine mitteaktiivsusest toimub teate saatmise kaudu pärast määratud mitteaktiivsuse künnise saavutamist.
- Formaliseeritud värvi juhtimise protsess CanvasRenderingContext2D ja ImageData objektides ning nende sRGB värviruumi kasutamine. Pakutakse võimalus luua CanvasRenderingContext2D ja ImageData objekte sRGB-st erinevates värviruumides, nagu Display P3, et kasutada kaasaegsete monitoride laiendatud võimalusi.
- API-s VirtualKeyboard on lisatud meetodid ja omadused virtuaalse klaviatuuri kuvamise ja peitmise juhtimiseks, samuti teabe saamiseks kuvatud virtuaalse klaviatuuri suuruse kohta.
- JavaScriptis klasside jaoks on saadaval staatiliste initsialiseerimisplokkide rakendamine, et rühmitada koodi, mida täidetakse üks kord klassi töötlemisel: class C { // Plokk käivitatakse klassi töötlemisel static { console.log('C statiline plokk'); } }
- CSS-i omadustes flex-basis ja flex on rakendatud märksõnu content, min-content, max-content ja fit-content põhiala suuruse paindlikumaks haldamiseks Flexboxis.
- CSS-properti scrollbar-gutter on lisatud, et hallata ekraaniruumi reserveerimist kerimisriba jaoks. Näiteks kui sisu kerimist ei vajata, saab väljundit laiendada ja hõivata kerimisriba ala.
- Lisatud on API Self Profiling koos profiilimissüsteemi reaaliseerimisega, võimaldades mõõta JavaScripti täitmise aega kasutaja poolel jõudlusprobleemide tõrkeotsimiseks, ilma et oleks vajalik käsitsi sekkumist veebiarendajate liidesesse.
- Pärast Flash-pistikprogrammi eemaldamist otsustati tagastada tühjad väärtused navigator.plugins ja navigator.mimeTypes omadustes, kuid nagu selgus, kasutasid mõned rakendused neid pistikprogrammide olemasolu kontrollimiseks PDF-failide kuvamiseks. Kuna Chrome'is on sisseehitatud PDF-vaatur, hakkavad omadused navigator.plugins ja navigator.mimeTypes nüüd tagasi andma fikseeritud nimekirja standardsetest pistikprogrammidest ja MIME-tüüpidest PDF-i kuvamiseks — „PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer ja WebKit built-in PDF.”
- Tööriistades veebiarenduseks on tehtud täiustusi. Ekraanide simuleerimise loendisse on lisatud seadmed Nest Hub ja Nest Hub Max. Võrgutegevuse inspektsiooni liidesesse on lisatud nupp filtrite ümberpööramiseks (näiteks filtriga „status-code: 404” saab kiiresti vaadata kõiki teisi päringuid), samuti on antud võimalus vaadata Set-Cookie päiste algseid väärtusi (mis võimaldab hinnata vale väärtuse olemasolu, mis eemaldatakse normaliseerimise käigus). Veebikonsoolis kuulutati välja aegunud ja see eemaldatakse ühes järgmistest väljaannetest külgriba. Probleemide lehe Issues eksperimentaalne funktsionaalsus probleemide peitmiseks on lisatud. Seadete hulka on lisatud võimalus valida kasutajaliidese keel.

Uue versiooni koos uuenduste ja tõrgete parandustega on kõrvaldatud 19 turvaviga. Paljusid haavatavusi tuvastati automaatse testimise käigus tööriistade nagu AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ja AFL abil. Kriitilisi probleeme, mis võimaldavad seaduse kõikide kaitsekihtide ületamist ja koodi täitmist süsteemis väljaspool isoleeritud keskkonda, ei ole tuvastatud. Rikkumiste avastamise rahaline preemia programmis on Google selle väljaande jaoks maksnud 17 preemiat kogusummas 56500 USA dollarit (üks preemia 15000 dollarit, kaks preemiat 10000 dollarit, üks preemia 7500 dollarit, neli preemiat 3000 dollarit ja kaks preemiat 1000 dollarit). 7 preemia suurust pole veel määratud.
Allikas: opennet.ru





