Google har lansert utgivelsen av nettleseren Chrome 101. Samtidig er den stabile utgivelsen av det frie prosjektet Chromium tilgjengelig, som er grunnlaget for Chrome. Nettleseren Chrome skiller seg fra Chromium ved å bruke Googles logoer, ha et system for å sende varsler i tilfelle krasj, moduler for avspilling av kopibeskyttet video (DRM), automatisk oppdateringssystem, kontinuerlig aktivering av Sandbox-isolasjon, leveranse av nøkler til Google API og sending av RLZ-parametere ved søk. For de som trenger mer tid til oppdatering, støttes en separat Extended Stable-gren, som varer i 8 uker, der oppdateringen for den forrige utgivelsen Chrome 100 er formulert. Neste utgivelse av Chrome 102 er planlagt til 24. mai.
Hovedendringer i Chrome 101:
- Side Search-funksjonen er lagt til, som gir mulighet til å se søkeresultater i en sidepanel samtidig med at en annen side vises (i ett vindu kan man samtidig se både innholdet på siden og resultatene fra søkemotoren). Etter å ha gått til en nettside fra en Google-søkeresultatside vises et ikon med bokstaven 'G' foran adressefeltet, og ved å klikke på det åpnes sidepanelet med resultatene fra den tidligere utførte søkingen. Som standard er funksjonen ikke aktivert på alle systemer, men kan aktiveres med innstillingen 'chrome://flags/#side-search'.

- I Omnibox-adressefeltet er det implementert forhåndsvisning (prerendering) av innholdet i anbefalingene som tilbys mens du skriver. Tidligere ble de mest sannsynlige anbefalingene lastet før brukeren klikket, for å akselerere navigasjonen fra adressefeltet, ved hjelp av Prefetch. Nå, i tillegg til å bli lastet, blir de også forhåndsvises i bufferen (inkludert skriptene kjøres og DOM-treet dannes), noe som muliggjør umiddelbar visning av anbefalinger etter klikk. For å kontrollere forhåndsvisningen er det foreslått innstillinger 'chrome://flags/#enable-prerender2', 'chrome://flags/#omnibox-trigger-for-prerender2' og 'chrome://flags/#search-suggestion-for-prerender2'.
- Informasjonen i HTTP-headeren User-Agent og JavaScript-parametrene navigator.userAgent, navigator.appVersion og navigator.platform er forkortet. Headeren inneholder kun opplysninger om nettlesernavnet, hovedversjonen av nettleseren (delene av versjonen MINOR.BUILD.PATCH er erstattet med 0.0.0), plattformen, og enhetstype (mobiltelefon, PC, nettbrett). For å få ytterligere data, som den nøyaktige versjonen og utvidede plattformdata, må API User Agent Client Hints brukes. For nettsteder som ikke har tilstrekkelig informasjon og som fortsatt ikke er klare til å gå over til User Agent Client Hints, er det mulig å returnere full User-Agent frem til mai 2023.
- Atferden til funksjonen setTimeout er endret når det sendes et null-argument som definerer forsinkelsen av anropet. Fra og med Chrome 101, når «setTimeout(…, 0)» spesifiseres, vil koden bli kalt umiddelbart, uten en 1 ms forsinkelse, som spesifikasjonen krever. For repetetive, nestede anrop av setTimeout benyttes en forsinkelse på 4 ms.
- I versjonen for Android-plattformen er det implementert støtte for forespørsel av tillatelser for å vise varsler (i Android 13 må applikasjonen ha tillatelse «POST_NOTIFICATIONS» for å vise varsler, ellers vil sending av varsler bli blokkert). Når Chrome kjører i Android 13-miljøet, vil nettleseren nå vise en forespørsel om å få tillatelse til å vise varsler.
- Muligheten til å bruke API WebSQL i eksterne skript er fjernet. Som standard ble blokkering av WebSQL i skript, lastet fra andre nettsteder, aktivert i Chrome 97, men det ble gitt et alternativ for å deaktivere denne oppførselen. I Chrome 101 ble dette alternativet fjernet. Det planlegges gradvis å fullstendig avvikle støtten for WebSQL, uavhengig av bruken av konteksten. I stedet for WebSQL anbefales det å bruke API Web Storage og Indexed Database. WebSQL-håndtereren er basert på SQLite-koden og kunne bli utnyttet av angripere for å utnytte sårbarheter i SQLite.
- Navnene på retningslinjene for bedrifter (chrome://policy), som inneholdt ikke-inkluderende termer, er fjernet. Fra og med Chrome 86 er det foreslått erstatninger for de nevnte retningslinjene som bruker inkluderende terminologi. Det har blitt ryddet opp i termer som «whitelist», «blacklist», «native» og «master». For eksempel er retningslinjen URLBlacklist omdøpt til URLBlocklist, AutoplayWhitelist til AutoplayAllowlist, og NativePrinters til Printers.
- I løpet av Origin Trials (eksperimentelle funksjoner som krever egen aktivering) har testing av API Federated Credential Management (FedCM) startet bare på Android-plattformer. Dette API-et gjør det mulig å opprette sammenslåtte identitetstjenester som sikrer personvernet og fungerer uten mekanismer for tverrnettsporings, som behandling av tredjeparts informasjonskapsler. Origin Trial innebærer muligheten til å bruke det spesifiserte API-et fra applikasjoner lastet fra localhost eller 127.0.0.1, eller etter registrering og mottak av en spesialtoke, som gjelder i en begrenset periode for et bestemt nettsted.
- Prioriterte hint-mekanismen er stabilisert og tilbys til alle interesserte. Denne lar deg angi viktigheten av en bestemt lastet ressurs ved å bruke et ekstra attributt «importance» i tagger som iframe, img og link. Attributten kan ha verdiene «auto», «low», og «high», som påvirker rekkefølgen for hvordan nettleseren laster eksterne ressurser.
- Egenskaper AudioContext.outputLatency er lagt til, som gir informasjon om den forventede forsinkelsen før lyd gjengis (forsinkelsen mellom en lydeforespørsel og starten på behandlingen av de mottatte dataene av lydutstyret).
- Det er lagt til CSS-egenskapen font-palette og regelen @font-palette-values, som lar deg velge en palett fra en fargefont eller definere din egen palett. For eksempel kan denne muligheten brukes til å tilpasse fargede symbolfonter eller emoji til fargen på innholdet eller for å aktivere mørk eller lys modus for fonten.
- CSS-funksjonen hwb() er lagt til, som gir en alternativ metode for å spesifisere farger i sRGB-format i HWB-formatet (Hue, Whiteness, Blackness), som ligner på HSL-formatet (Hue, Saturation, Lightness), men er mer intuitivt for menneskelig oppfatning.
- I metoden window.open() behandles angivelsen av egenskapen popup i vindusfunksjonsstrengen, uten tildeling av verdi (dvs. når bare popup er spesifisert, og ikke popup=true) nå som en aktivering av åpning av et minimalt popup-vindu (tilsvarende «popup=true») i stedet for å tildele standardverdien «false», noe som var illogisk og forvirret utviklere.
- I API MediaCapabilities, som gir informasjon om enhets- og nettleserens evner til å dekode multimediainnhold (støttede kodeker, profiler, bitrates og oppløsninger), er støtte for WebRTC-strømmer lagt til.
- Den tredje versjonen av API Secure Payment Confirmation, som gir verktøy for ekstra bekreftelse av betalingstransaksjoner, er foreslått. I den nye versjonen er støtte for identifikatorer som krever inndata, ikon for indikering av verifiseringsfeil, samt et valgfritt egenskap payeeName lagt til.
- I API USBDevice er metoden forget() lagt til for å tilbakekalle tidligere gitt brukerrettigheter for tilgang til USB-enheten. I tillegg er instanser av USBConfiguration, USBInterface, USBAlternateInterface og USBEndpoint like ved streng sammenligning ("===", peker på samme objekt) hvis de returneres for det samme USBDevice-objektet.
- Det er gjort forbedringer i verktøyene for webutviklere. Mulighet for import og eksport i JSON-format av registrerte brukerhandlinger er tilgjengelig. Beregning og visning av private egenskaper i webkonsollen og kildekodevisningen er forbedret. Støtte for arbeid med fargemodellen HWB er lagt til. I CSS-panelet er muligheten til å vise kaskadesjikt definert med reglen @layer lagt til.

I tillegg til nyheter og feilretting, er 30 sårbarheter blitt utbedret i den nye versjonen. Mange av sårbarhetene ble oppdaget som følge av automatisert testing ved hjelp av verktøyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Ingen kritiske problemer som lar en omgå alle nivåer av nettleserens beskyttelse og kjøre kode i systemet utenfor sandbox-miljøet er blitt oppdaget. Som en del av belønningsprogrammet for å oppdage sårbarheter, har Google utbetalt 25 premier til en sum av 81 000 dollar (én premie på 10 000 dollar, tre premier på 7 500 dollar, tre premier på 7 000 dollar, én premie på 6 000 dollar, to premier på 5 000 dollar, fire premier på 2 000 dollar, tre premier på 1 000 dollar og én premie på 500 dollar). Størrelsen på 6 premier er foreløpig ikke bestemt.
Kilde: opennet.ru


