Google har slÀppt webblÀsaren Chrome 94. Samtidigt lanseras en stabil version av det öppna projektet Chromium som utgör grunden för Chrome. Chrome-webblÀsaren kÀnnetecknas av anvÀndningen av Googles logotyper, ett system för att skicka notiser vid krasch, moduler för att spela upp skyddat videoinnehÄll (DRM), ett automatiskt uppdateringssystem och överföring av RLZ-parametrar vid sökningar. Den nÀsta versionen, Chrome 95, Àr planerad att slÀppas den 19 oktober.
FrÄn och med utgÄvan av Chrome 94 har utvecklingen överförts till en ny releasecykel. Större versioner kommer hÀdanefter att publiceras vart fjÀrde vecka istÀllet för vart sjÀtte vecka, vilket kommer att göra det möjligt att snabbare fÄ de nya funktionerna till anvÀndarna. Det noteras att optimering av releaseprocessen och förbÀttrade testsystem gör att utgÄvor kan skapas oftare utan att kvalitén pÄverkas. För företag och för dem som behöver mer tid för uppdatering kommer en separat Extended Stable-version att slÀppas vart Ättonde vecka, vilket gör att man kan övergÄ till nya funktionsversioner vart Ättonde vecka istÀllet för vart fjÀrde.
Huvudsakliga förÀndringar i Chrome 94:
- En HTTPS-First-lÀge har lagts till, vilket liknar det tidigare introducerade lÀget HTTPS Only i Firefox. Om lÀget aktiveras i instÀllningarna, kommer webblÀsaren först att försöka nÄ en resurs via HTTPS om anvÀndaren försöker öppna en resurs utan kryptering via HTTP. Om försöket misslyckas kommer ett meddelande att visas för anvÀndaren som informerar om avsaknaden av stöd för HTTPS och föreslÄr att öppna webbplatsen utan kryptering. I framtiden övervÀger Google att aktivera HTTPS-First som standard för alla anvÀndare, begrÀnsa Ätkomst till vissa funktioner pÄ webplattformen för sidor som öppnas via HTTP, samt lÀgga till ytterligare varningar som informerar anvÀndare om hot som uppstÄr vid Ätkomst till webbplatser utan kryptering. LÀge kan aktiveras i instÀllningarna under "Integritet och sÀkerhet" > "SÀkerhet" > "Ytterligare".

- För sidor som öppnas utan HTTPS Ă€r det förbjudet att skicka förfrĂ„gningar (ladda resurser) till lokala URL:er (t.ex. "http://router.local" och localhost) och interna adressintervall (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8, osv.). Undantag görs endast för sidor som laddas frĂ„n servrar, som har interna IP. Till exempel, en sida som laddats frĂ„n servern 1.2.3.4 kan nĂ„ en resurs som Ă€r placerad pĂ„ IP 192.168.0.1 eller IP 127.0.0.1, medan en sida som laddats frĂ„n servern 192.168.1.1 kan göra det. Ăndringen introducerar en extra skyddsnivĂ„ mot utvinning av sĂ„rbarheter i hanterare som tar emot förfrĂ„gningar pĂ„ lokala IP, samt skyddar mot DNS rebinding-attacker.
- Funktionen 'Sharing Hub' har lagts till, vilket möjliggör snabb delning av aktuell sidlĂ€nk med andra anvĂ€ndare. Det finns möjlighet att generera en QR-kod med URL, spara sidan, skicka lĂ€nken till en annan enhet kopplad till anvĂ€ndarens konto och dela lĂ€nken till externa webbplatser som Facebook, WhatsApp, Twitter och VK. Möjligheten Ă€r för nĂ€rvarande inte tillgĂ€nglig för alla anvĂ€ndare. För att tvinga fram âShareâ-knappen i menyn och adressfĂ€ltet kan instĂ€llningarna âchrome://flags/#sharing-hub-desktop-app-menuâ och âchrome://flags/#sharing-hub-desktop-omniboxâ anvĂ€ndas.

- Det har genomförts en omstrukturering av instÀllningsgrÀnssnittet i webblÀsaren. Varje instÀllningssektion visas nu pÄ en separat sida istÀllet för pÄ en gemensam.

- Stöd för dynamisk uppdatering av loggen för utfÀrdade och Äterkallade certifikat (Certificate Transparency) har implementerats, som nu kommer att uppdateras oberoende av webblÀsarens uppdateringar.
- En ny funktionell sida âchrome://whats-newâ har lagts till, med en översikt över synliga förĂ€ndringar för anvĂ€ndaren i den nya versionen. Sidan visas automatiskt direkt efter en uppdatering eller Ă€r tillgĂ€nglig via knappen âVad Ă€r nyttâ (Whatâs New) i HjĂ€lp-menyn. För nĂ€rvarande nĂ€mns sökning pĂ„ flikar, möjligheten att dela profiler och funktionen att byta bakgrundsfĂ€rg pĂ„ sidan, som inte Ă€r specifika för Chrome 94 och har funnits i tidigare versioner. Visningen av sidan Ă€r för nĂ€rvarande inte aktiverad för alla anvĂ€ndare: för att styra aktiveringen kan instĂ€llningarna âchrome://flags#chrome-whats-new-uiâ och âchrome://flags#chrome-whats-new-in-main-menu-new-badgeâ anvĂ€ndas.

- Anrop till WebSQL API frÄn innehÄll som laddas frÄn externa webbplatser (till exempel via iframe) har förklarats som förÄldrat. I Chrome 94 visas en varning nÀr man försöker anropa WebSQL frÄn externa skript, men frÄn och med Chrome 97 kommer sÄdana anrop att blockeras. I framtiden planeras det att gradvis helt upphöra med stödet för WebSQL, oavsett anvÀndningssituation. WebSQL-hanteraren baseras pÄ SQLite-kod och kan ha utnyttjats av illvilliga aktörer för att utnyttja sÄrbarheter i SQLite.
- Av sÀkerhetsskÀl och för att förhindra skadlig aktivitet har anvÀndningen av det förÄldrade protokollet MK (URL:MK) blockerats, vilket en gÄng anvÀndes i Internet Explorer och tillÀt webbapplikationer att hÀmta information frÄn komprimerade filer.
- Stödet för synkronisering med Àldre versioner av Chrome (Chrome 48 och Àldre) har upphört.
- HTTP-huvudet Permissions-Policy, som Àr avsett för att aktivera vissa funktioner och hantera Ätkomst till API:er, har fÄtt stöd för flaggan "display-capture", vilket möjliggör kontroll över anvÀndningen av API:et Screen Capture pÄ sidan (som standard blockeras möjligheten att fÄnga skÀrminnehÄll frÄn externa iframes).
- I lÀget Origin Trials (experimentella funktioner som krÀver separat aktivering) har flera nya API:er lagts till. Origin Trial innebÀr möjlighet att arbeta med det angivna API:et frÄn applikationer som laddas frÄn localhost eller 127.0.0.1, eller efter registrering och erhÄllande av en speciell token som gÀller under en begrÀnsad tid för en specifik webbplats.
- API:et WebGPU har lagts till, vilket ersÀtter API:et WebGL och ger medel för att utföra operationer pÄ GPU:n, sÄsom rendering och berÀkningar. Konceptuellt Àr WebGPU nÀra API:et Vulkan, Metal och Direct3D 12. WebGPU skiljer sig konceptuellt frÄn WebGL ungefÀr som grafik-API:t Vulkan skiljer sig frÄn OpenGL, men det baseras inte pÄ nÄgot specifikt grafik-API utan utgör ett universellt lager som anvÀnder samma lÄgnivÄprimitiv som finns i Vulkan, Metal och Direct3D 12.
WebGPU ger JavaScript-applikationer medel för lÄgnivÄkontroll över organisation, bearbetning och överföring av kommandon till GPU:n, samt möjliggör hantering av relaterade resurser, minne, buffertar, textureobjekt och kompilera grafikshader. En sÄdan strategi möjliggör högre prestanda för grafiska program genom att minska overhead och öka effektiviteten i arbetet med GPU:n. API:et ger ocksÄ möjlighet att skapa komplexa 3D-projekt för webben som fungerar lika bra som fristÄende program, men som inte Àr knutna till specifika plattformar.
- För fristÄende PWA-applikationer har möjligheten att registrera sig som URL-behandlare implementerats. Till exempel kan applikationen music.example.com registrera sig som behandlare av URL https://*.music.example.com, och alla övergÄngar frÄn externa applikationer via dessa lÀnkar, till exempel frÄn meddelande-appar och e-postklienter, kommer att leda till att denna PWA-applikation öppnas, istÀllet för en ny flik i webblÀsaren.
- Stödet för den nya HTTP-svarskoden â 103 har implementerats, som kan anvĂ€ndas för att förhandsvisa rubriker. Koden 103 gör det möjligt att informera klienten om innehĂ„llet i vissa HTTP-rubriker omedelbart efter begĂ€ran, utan att vĂ€nta pĂ„ att servern ska avsluta alla relaterade operationer och börja leverera innehĂ„ll. PĂ„ sĂ„ sĂ€tt kan tips om relaterade element pĂ„ den levererade sidan meddelas, vilka kan förladdas (till exempel kan lĂ€nkar till anvĂ€nda CSS- och JavaScript-filer anges). NĂ€r webblĂ€saren fĂ„r information om sĂ„dana resurser pĂ„börjar den deras inladdning utan att vĂ€nta pĂ„ att den huvudsakliga sidan ska levereras, vilket gör att den totala förfrĂ„gningsbehandlingstiden kan förkortas.
- API:et WebGPU har lagts till, vilket ersÀtter API:et WebGL och ger medel för att utföra operationer pÄ GPU:n, sÄsom rendering och berÀkningar. Konceptuellt Àr WebGPU nÀra API:et Vulkan, Metal och Direct3D 12. WebGPU skiljer sig konceptuellt frÄn WebGL ungefÀr som grafik-API:t Vulkan skiljer sig frÄn OpenGL, men det baseras inte pÄ nÄgot specifikt grafik-API utan utgör ett universellt lager som anvÀnder samma lÄgnivÄprimitiv som finns i Vulkan, Metal och Direct3D 12.
- API WebCodecs har lagts till för att manipulera multimediaflöden pÄ lÄg nivÄ, vilket kompletterar de högre nivÄerna av API:er som HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder och WebRTC. Det nya API:et kan efterfrÄgas inom omrÄden som spelströmning, tillÀmpning av effekter pÄ klientsidan, omkodning av flöden och stöd för icke-standardiserade multimediaformat. IstÀllet för att implementera separata codecs i JavaScript eller WebAssembly, erbjuder API WebCodecs tillgÄng till fÀrdiga högpresterande komponenter som Àr inbyggda i webblÀsaren. I synnerhet erbjuder API WebCodecs avkodare och kodare för ljud och video, bildavkodare och funktioner för att arbeta med enskilda videoramar pÄ lÄg nivÄ.
- Stabiliserat API Insertable Streams, som ger möjlighet att manipulera rÄa multimediaflöden som överförs via API MediaStreamTrack, sÄsom data frÄn kamera och mikrofon, resultat av skÀrminspelning eller mellanliggande data frÄn dekodern. För att representera rÄa ramar anvÀnds grÀnssnittet WebCodec, vilket skapar ett flöde som liknar det som API WebRTC Insertable Streams genererar baserat pÄ RTCPeerConnections. PÄ ett praktiskt sÀtt möjliggör det nya API:et funktionalitet sÄsom tillÀmpning av maskininlÀrningsmetoder för att identifiera eller annotera objekt i realtid eller för att lÀgga till effekter, sÄsom att ta bort bakgrunden, före kodning eller efter dekodning av dekodern.
- Stabiliserad metod scheduler.postTask(), som möjliggör hantering av schemalÀggningen av uppgiftsexekvering (callback-anrop i JavaScript) med olika prioritetsnivÄer. Tre prioritetsnivÄer erbjuds: 1 - utförs i första hand, Àven om anvÀndaroperationer kan blockeras; 2 - tillÄts synliga förÀndringar för anvÀndaren; 3 - utförs i bakgrunden). Prioritet och avbokning av uppgifter kan hanteras med hjÀlp av objektet TaskController.
- Stabiliserad och nu tillgÀnglig utanför Origin Trials API Idle Detection för att upptÀcka anvÀndarens inaktivitet. API:et gör det möjligt att faststÀlla tiden nÀr anvÀndaren inte interagerar med tangentbordet/musen, skÀrmslÀckaren Àr aktiverad, skÀrmen Àr lÄst eller arbetet utförs pÄ en annan skÀrm. Applikationen informeras om inaktivitet genom att skicka en avisering efter att en angiven inaktivitetsgrÀns har uppnÄtts.
- Formaliseringen av fÀrghantering i CanvasRenderingContext2D och ImageData och anvÀndningen av fÀrgrymden sRGB har genomförts. Möjligheten att skapa objekt av CanvasRenderingContext2D och ImageData i fÀrgrymder som skiljer sig frÄn sRGB, sÄsom Display P3, har erbjudits för att utnyttja de utökade möjligheterna hos moderna bildskÀrmar.
- API VirtualKeyboard har fÄtt metoder och egenskaper för att hantera visningen och gömningen av det virtuella tangentbordet, samt för att hÀmta information om storleken pÄ det visade virtuella tangentbordet.
- I JavaScript finns det möjlighet att anvĂ€nda statiska initialiseringsblock för klasser för att gruppera kod som körs en gĂ„ng vid klassbehandling: class C { // Blocket körs vid behandling av sjĂ€lva klassen static { console.log(«Câs static block»); } }
- I CSS-egenskaperna flex-basis och flex har nyckelord som content, min-content, max-content och fit-content implementerats för mer flexibel styrning av storleken pÄ huvudomrÄdet i Flexbox.
- CSS-egenskapen scrollbar-gutter har lagts till för att hantera reservation av skÀrmutrymme för rullningslisten. Till exempel, nÀr rullning av innehÄllet inte krÀvs, kan utmatningen utökas för att ta upp rullningslistens omrÄde.
- API:t Self Profiling har lagts till, med ett profilering system som möjliggör mÀtning av JavaScript-körningstider pÄ klientsidan för att debugga prestandaproblem i JavaScript-kod utan att behöva utföra manuella manipulationer i webbutvecklarens grÀnssnitt.
- Efter borttagandet av Flash-pluginet beslutades det att lĂ€mna tomma vĂ€rden i egenskaperna navigator.plugins och navigator.mimeTypes, men det visade sig att vissa applikationer anvĂ€nde dem för att kontrollera om plugins för att visa PDF-filer fanns. Eftersom Chrome har en inbyggd PDF-visare, kommer egenskaperna navigator.plugins och navigator.mimeTypes hĂ€danefter att returnera en fast lista med standardplugins och MIME-typer för PDF-visning â «PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer och WebKit built-in PDF».
- FörbÀttringar har gjorts i verktygen för webbutvecklare. Enheter som Nest Hub och Nest Hub Max har lagts till i listan för simulering av skÀrmar. I grÀnssnittet för inspektion av nÀtverksaktivitet har en knapp för att invertera filter lagts till (till exempel, nÀr man stÀller in filtret «status-code: 404» kan man snabbt se alla andra förfrÄgningar), och det har ocksÄ blivit möjligt att visa ursprungliga vÀrden av Set-Cookie-huvuden (vilket gör det möjligt att avgöra om det finns ogiltiga vÀrden som tas bort vid normalisering). SidofÀltet i webbkonsolen har förklarats som förÄldrat och kommer att tas bort i ett av de kommande slÀppen. En experimentell möjlighet att dölja problem i fliken Issues har lagts till. I instÀllningarna har det lagts till en möjlighet att vÀlja sprÄk för grÀnssnittet.

Utöver nyheter och felkorrigeringar i den nya versionen har 19 sÄrbarheter ÄtgÀrdats. MÄnga av sÄrbarheterna upptÀcktes genom automatiserad testning med verktyg som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer och AFL. Kritiska problem som skulle möjliggöra omvÀgning av alla skyddsnivÄer i webblÀsaren och körning av kod utanför sandbox-miljön har inte identifierats. Inom ramen för programmet för belöningar vid upptÀckta sÄrbarheter har företaget Google betalat ut 17 belöningar pÄ totalt 56500 USD (en belöning pÄ 15000 USD, tvÄ belöningar pÄ 10000 USD, en belöning pÄ 7500 USD, fyra belöningar pÄ 3000 USD och tvÄ belöningar pÄ 1000 USD). Storleken pÄ 7 belöningar Àr Ànnu inte faststÀlld.
KĂ€lla: opennet.ru





