Google har slÀppt version 105 av webblÀsaren Chrome. Samtidigt finns det en stabil version av det fria projektet Chromium, som utgör grunden för Chrome. Chrome skiljer sig frÄn Chromium genom att anvÀnda Google-logotyper, ha ett system för att skicka meddelanden vid krascher, moduler för att spela upp skyddat videoinnehÄll (DRM), ett automatiskt uppdateringssystem, stÀndig aktivering av Sandbox-isolering, tillhandahÄlla nycklar för Google API och överföra RLZ-parametrar vid sökning. För dem som behöver mer tid för att uppdatera finns det en separat stödlinje för Extended Stable, som stöds under 8 veckor. NÀsta version av Chrome, 106, Àr planerad till den 27 september.
Huvudsakliga förÀndringar i Chrome 105:
- Stödet för specialiserade webbaserade applikationer, Chrome Apps, har upphört, och de har ersatts av fristÄende webbaserade applikationer baserade pÄ tekniken Progressive Web Apps (PWA) och standard Web API. Google meddelade först sin avsikt att överge Chrome Apps redan 2016 och planerade att avsluta stödet innan 2018, men sköt sedan upp denna plan. I Chrome 105 kommer ett meddelande att visas vid installation av Chrome Apps, men sjÀlva applikationerna kommer fortsÀtta att fungera. I Chrome 109 kommer möjligheten att köra Chrome Apps att stÀngas av.
- Ytterligare isolering av renderarprocessen, ansvarig för rendering, har sÀkerstÀllts. Denna process körs nu i en extra behÄllare (App Container), implementerad ovanpÄ det existerande systemet för sandbox-isolering. Vid utnyttjande av sÄrbarheter i renderingskoden kommer de tillagda begrÀnsningarna inte att tillÄta en angripare att fÄ tillgÄng till nÀtverket, tack vare ett förbud mot att göra systemanrop kopplade till nÀtverksfunktioner.
- Ett eget enhetligt lagringssystem för rotcertifikat frÄn certifieringsmyndigheter (Chrome Root Store) har implementerats. Det nya lagringssystemet Àr Ànnu inte aktiverat som standard, och fram till dess att implementeringen Àr klar kommer certifikat att fortsÀtta att verifieras med hjÀlp av specifika lagringssystem för varje operativsystem. Den testade lösningen liknar den strategi som Mozilla anvÀnder, som stödjer ett separat, oberoende lagringssystem för rotcertifikat för Firefox, vilket anvÀnds som det första ledet för att verifiera certifikatens förtroendekedja nÀr man öppnar webbplatser via HTTPS.
- Förberedelserna för att avveckla stödet för Web SQL API har börjat. Det Àr en icke-standardiserad teknik som sÀllan anvÀnds och krÀver omarbetning för att möta moderna sÀkerhetskrav. I Chrome 105 Àr Ätkomst till Web SQL förbjuden frÄn kod som laddats utan HTTPS, och ett meddelande om teknikens avskrivning har lagts till i DevTools. I 2023 planeras Web SQL API att tas bort. För utvecklare som behöver liknande funktionalitet kommer det att erbjudas en ersÀttning baserad pÄ WebAssembly.
- I Chrome har synkroniseringen med Chrome 73 och tidigare versioner upphört.
- För plattformarna macOS och Windows har en inbyggd certifikatvisare aktiverats, vilket ersÀtter anropet till grÀnssnittet som tillhandahÄlls av operativsystemet. Tidigare anvÀndes den inbyggda visaren endast i versioner för Linux och ChromeOS.
- I versionen för Android har instÀllningar för att hantera API:et "Topics & Interest Group" lagts till, vilket frÀmjas inom ramen för initiativet Privacy Sandbox. Detta gör det möjligt att definiera anvÀndarens intressekategorier och anvÀnda dem istÀllet för spÄrningscookies för att sÀrskilja grupper av anvÀndare med liknande intressen utan att identifiera individer. I den senaste utgÄvan lades liknande instÀllningar till versionerna för Linux, ChromeOS, macOS och Windows.
- NÀr den avancerade webblÀsarskyddet (Safe Browsing > Enhanced protection) Àr aktiverat, samlas telemetridata in om installerade tillÀgg, Ätkomst till API:er och anslutningar till externa webbplatser. Denna information anvÀnds pÄ Googles servrar för att identifiera skadlig aktivitet och övertrÀdelser av reglerna för webblÀsartillÀgg.
- Möjligheten att anvĂ€nda icke-ASCII-tecken i domĂ€ner som anges i Cookie-huvudet har klassificerats som förĂ„ldrad och kommer att blockeras i Chrome 106. För IDN-domĂ€ner ska domĂ€ner anges i punycode-format. Ăndringen kommer att anpassa webblĂ€saren till kraven i RFC 6265bis och beteendet som implementerats i Firefox.
- Ett erbjudet Custom Highlight-API, avsett för att anpassa stilen för markerade textomrÄden, vilket möjliggör att inte begrÀnsas till den fasta stil som webblÀsaren erbjuder för markerade omrÄden (::selection, ::inactive-selection) och för syntaktiska felmarkeringar (::spelling-error, ::grammar-error). I den första versionen av API:t finns stöd för att Àndra fÀrgen pÄ text och bakgrund med hjÀlp av pseudoelementen color och background-color, men senare kommer Àven andra stiljusteringsmöjligheter att lÀggas till.
Som exempel pÄ uppgifter som kan lösas med det nya API:et nÀmns möjligheten att lÀgga till egna textmarkeringsmekanismer i webb-ramverk som erbjuder verktyg för textredigering, olika markeringsalternativ vid samtidig redigering av flera anvÀndare, sökning i virtualiserade dokument och markering av fel under stavningskontroll. Tidigare krÀvdes komplicerade manipulationer av DOM-trÀdet för att skapa anpassad markering, men Custom Highlight-API:t erbjuder fÀrdiga operationer för att lÀgga till och ta bort markeringar utan att pÄverka DOM-strukturen och som tillÀmpar stilar kopplade till Range-objekt.
- CSS har fÄtt en @container-frÄga som möjliggör att stilar för element kan formuleras beroende pÄ storleken av förÀldraelementet. @container pÄminner om @media-frÄgor, men tillÀmpas utifrÄn storleken av den block (containern) som elementet placeras i, vilket gör att det gÄr att ange en egen logik för stilval för barn-element, oberoende av var pÄ sidan elementet Àr placerat.

- CSS-pseudoklassen «:has()» har lagts till för att kontrollera om det finns ett barn i föräldern. Till exempel, «p:has(span)» täcker element. <p>, där ett element finns <span>.
- Ett HTML Sanitizer-API har lagts till, vilket möjliggör att ta bort element som pÄverkar visningen och exekveringen nÀr man anvÀnder metoden setHTML(). API:t kan vara anvÀndbart för att rengöra inkommande data frÄn HTML-taggar som kan anvÀndas för XSS-attacker.
- Möjligheten att anvÀnda API Streams (ReadableStream) för att sÀnda fetch-förfrÄgningar innan svaret har laddats, det vill sÀga att man kan börja skicka data utan att vÀnta pÄ att sidgenereringen ska avslutas.
- För installerade isolerade webbtjÀnster (PWA, Progressive Web App) finns möjligheten att Àndra utseendet pÄ fönstrets rubrikomrÄde med hjÀlp av komponenter som Window Controls Overlay, vilka utökar webbtjÀnstens skÀrmomrÄde till hela fönstret och ger webbtjÀnsten utseendet av en vanlig skrivbordsapplikation. WebbtjÀnsten kan hantera rendering och inmatning över hela fönstret, med undantag för det överlagrade blocket med standardfönsterkontroller (stÀnga, minimera, maximera).

- à tkomsten till Media Source Extensions har stabiliserats frÄn dedikerade arbetare (i kontexten DedicatedWorker), vilket kan anvÀndas för att öka prestandan för buffrat multimediauppspelning genom att skapa ett MediaSource-objekt i en separat arbetare och överföra resultaten till HTMLMediaElement i huvudtrÄden.
- I API:t Client Hints, som utvecklas för att ersÀtta User-Agent-headern och som gör det möjligt att selektivt skicka information om specifika webblÀsar- och systemparametrar (version, plattform etc.) endast efter begÀran, servern, har stöd för egenskapen Sec-CH-Viewport-Heigh lagts till, vilket gör det möjligt att fÄ information om höjden pÄ den synliga ytan. Formatet för markup har Àndrats för att ange i taggen "meta" parametrar för Client Hints för externa resurser: Tidigare: Nu:
- Möjligheten att skapa globala hÀndelsehanterare för onbeforeinput (document.documentElement.onbeforeinput) har lagts till, vilket gör att webbtjÀnster kan ÄsidosÀtta beteendet vid textredigering i block av ,
- Möjligheterna för API:t Navigation har utökats, vilket tillÄter webbtjÀnster att fÄnga navigeringsoperationer i fönstret, initiera övergÄng och analysera historiken av ÄtgÀrder med applikationen. Nya metoder intercept() för att fÄnga övergÄngar och scroll() för att scrolla till en angiven position har lagts till.
- En statisk metod Response.json() har lagts till, vilket möjliggör att skapa kroppar pÄ svar baserat pÄ data av typen JSON.
- FörbÀttringar har införts i verktygen för webbutvecklare. I debuggern har det blivit möjligt att redigera övre funktioner i stacken vid en brytpunkt, utan att avbryta felsökningssessionen. I panelen Recorder, som gör det möjligt att spela in, spela upp och analysera anvÀndarens ÄtgÀrder pÄ sidan, har stöd för brytpunkter, steg-för-steg uppspelning och inspelning av muspekarevents införts.
I prestandaanalyspanelen har mÀtvÀrdena för LCP (Largest Contentful Paint) lagts till för att identifiera fördröjningar vid rendering av stora (anvÀndarupptÀckta) element i den synliga delen, som bilder, videor och blockelement. I Elements-panelen har överlÀgsen lÀggning ovanpÄ annat innehÄll markerats med en sÀrskild ikon. För WebAssembly har möjligheten att ladda debugdata i DWARF-format införts.
Förutom nyheter och buggfixar har 24 sÄrbarheter ÄtgÀrdats i den nya versionen. MÄnga sÄrbarheter har upptÀckts genom automatiserad testning med verktygen AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer och AFL. Inga kritiska problem som tillÄter att kringgÄ alla skyddsnivÄer i webblÀsaren och exekvera kod i systemet utanför sandlÄdemiljön har upptÀckts. Inom ramen för belöningsprogrammet för upptÀckta sÄrbarheter har Google betalat ut 21 belöningar för den aktuella versionen, totalt 60500 dollar (en belöning pÄ 10000 dollar, en belöning pÄ 9000 dollar, en belöning pÄ 7500 dollar, en belöning pÄ 7000 dollar, tvÄ belöningar pÄ 5000 dollar, fyra belöningar pÄ 3000 dollar, tvÄ belöningar pÄ 2000 dollar och en belöning pÄ 1000 dollar). Storleken pÄ sju belöningar har Ànnu inte faststÀllts.
KĂ€lla: opennet.ru


