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 serverilt 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





