Google har lansert versjonen av nettleseren Chrome 95. Samtidig er den stabile utgaven av det frie prosjektet Chromium tilgjengelig, som ligger til grunn for Chrome. Nettleseren Chrome skiller seg ut med bruk av Google-logoer, et system for Ä sende varsler ved krasj, moduler for avspilling av beskyttet videoinnhold (DRM), et system for automatisk oppdatering, og overfÞring av RLZ-parametere under sÞk. I henhold til den nye 4-ukers utviklingssyklusen er neste utgave av Chrome 96 planlagt til 16. november. For de som trenger mer tid til oppdatering, stÞttes ogsÄ en separat Extended Stable-gren, som varer i 8 uker, og som inkluderer oppdatering for den forrige versjonen av Chrome 94.
Hovedendringene i Chrome 95:
- For brukere av Linux, Windows, macOS og ChromeOS er det introdusert en ny sidepanel som vises til hÞyre for innholdet, og som aktiveres ved Ä klikke pÄ et spesialikon i adressefeltet. Panelet viser en oppsummering av bokmerker og en leseliste. Endringen er ikke aktiv for alle brukere, og for Ä aktivere kan man bruke innstillingen «chrome://flags/#side-panel».

- Det er implementert en eksplisitt forespÞrsel om tillatelser for Ä lagre adresser som er fylt ut i webskjemaer, for senere bruk i autofyll-systemet. NÄr det er adresser i skjemaene, vil brukeren nÄ se en dialog som lar dem lagre adressen, redigere, oppdatere en tidligere lagret adresse, eller avslÄ lagring.
- Koden for stĂžtte av FTP-protokollen er fjernet. I Chrome 88 ble FTP-stĂžtten deaktivert som standard, men en flagg for Ă„ aktivere den ble igjen.
- StÞtten for URL-er med vertsnavn som slutter med tall, men ikke oppfyller IPv4-adresser, er avsluttet. For eksempel vil URL-er som «http://127.1/», «http://foo.127.1/» og «http://127.0.0.0.1» nÄ bli ansett som ugyldige.
- For WebAssembly er det implementert muligheten for Ä lage unntakshÄndterere som kan fange opp utfÞrelsen ved unntak som oppstÄr under kjÞring av bestemt kode. Det stÞttes bÄde Ä fange kjente unntak fra WebAssembly-modulen og unntak under innkalling av importerede funksjoner. For Ä fange unntak mÄ WebAssembly-modulen kompileres med en kompilator som stÞtter unntak, som Emscripten.
Det er merket at unntakshÄndtering pÄ WebAssembly-nivÄ kan redusere stÞrrelsen pÄ den genererte koden betydelig sammenlignet med unntakshÄndtering via JavaScript. For eksempel, nÄr optimizeren Binaryen brukes med unntakshÄndtering via JavaScript, Þker koden med 43%, mens med WebAssembly Þker den med bare 9%. Videre, nÄr optimaliseringsmodus «-O3» brukes, skiller koden med unntakshÄndtering via WebAssembly seg praktisk talt ikke i ytelse fra koden uten unntakshÄndtere, mens unntakshÄndtering via JavaScript fÞrer til en nedgang i ytelsen pÄ 30%.
- Det er forbudt Ä dele WebAssembly-moduler mellom forskjellige domener (cross-origin) nÄr man behandler ett og samme nettsted.
- I Origin Trials-modus (eksperimentelle funksjoner som krever separat aktivering) er flere nye API-er lagt til. Origin Trial betyr muligheten til Ă„ jobbe med den spesifiserte API-en fra applikasjoner lastet inn fra localhost eller 127.0.0.1, eller etter registrering og mottak av et spesialtoken som er gyldig i en begrenset periode for et spesifikt nettsted.
- Informasjonen i HTTP-headeren User-Agent og JavaScript-parametrene navigator.userAgent, navigator.appVersion og navigator.platform er redusert. Headeren inneholder kun navnet pÄ nettleseren, hovedversjonen av nettleseren, plattformen og enhetstypen (mobiltelefon, PC, nettbrett). For Ä fÄ tilgang til ytterligere data, for eksempel nÞyaktig versjon og utvidede plattformdata, mÄ API-en User Agent Client Hints brukes. Reduksjonen av User-Agent for vanlige brukersystemer er planlagt Ä starte med utgivelsen av Chrome 102, som vil bli publisert om et halvt Är.
- Muligheten for Ä opprette tilgangsdeskriptorer (Access Handles) for API-en File System Access er foreslÄtt, som lar webapplikasjoner lese og skrive data direkte til filer og kataloger pÄ brukerens enhet. For Ä redusere mÄtene webapplikasjoner fÄr tilgang til filsystemet, planlegger Google Ä kombinere API-en File System Access med Storage Foundation. Som et forberedende trinn for en slik sammenslÄing foreslÄs stÞtten for tilgangsdeskriptorer, som supplerer fil-deskriptorbearbeiding med utvidede funksjoner, slik som Ä sette skriveblokker fra andre prosesser og opprette separate strÞmmer for skriving og lesing, inkludert stÞtte for lesing og skriving fra worker-ene i synkron modus.
- API Secure Payment Confirmation er stabilisert og tilbys som standard med implementering av det nye utvidelsen âpaymentâ, som gir ytterligere bekreftelse pĂ„ gjennomfĂžrte betalingsoperasjoner. Kontrollerende part, for eksempel banken, har muligheten til Ă„ generere en offentlig nĂžkkel PublicKeyCredential, som kan anmodes av selgeren for ekstra sikker bekreftelse av betalingen gjennom API Payment Request ved Ă„ bruke betalingsmetoden âsecure-payment-confirmationâ.
- I callback-kallene som er satt opp via PerformanceObserver-konstruktÞren, er det implementert overfÞring av egenskapen droppedEntriesCount, som gjÞr det mulig Ä forstÄ hvor mange ytelsesmetrikker som har blitt droppet fordi de ikke fikk plass i den tilgjengelige bufferen.
- API EyeDropper er lagt til, som gjĂžr det mulig Ă„ kalle opp nettleserens grensesnitt for Ă„ bestemme fargen pĂ„ vilkĂ„rlige piksler pĂ„ skjermen, noe som kan brukes for eksempel i grafiske redaktĂžrer implementert som webapplikasjoner. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // result = {sRGBHex: â#160731â}
- Funksjonen self.reportError() er lagt til, som lar skripter skrive ut feil til konsollen, og emulere et ubehandlet unntak.
- API URLPattern er lagt til for Ă„ sjekke om en URL samsvarer med et bestemt mĂžnster, noe som for eksempel kan brukes til Ă„ analysere lenker og omdirigere forespĂžrslene til hĂ„ndterere i service worker. const p = new URLPattern({ protocol: âhttpsâ, hostname: âexample.comâ, pathname: â/:folder/*/:fileName.jpgâ, });
- API Intl.DisplayNames er utvidet, hvor du kan fÄ lokaliserte navn for sprÄk, land, valutaer, datoelementer osv. I den nye versjonen er det lagt til nye navnetyper «calendar» og «dateTimeField», som lar deg finne lokaliserte navn pÄ kalendere og dato- og tidsfelt (for eksempel navn pÄ mÄneder). For navnetypen «language» er det lagt til stÞtte for bruk av sprÄkdialekter.
- API Intl.DateTimeFormat har fĂ„tt stĂžtte for nye verdier av parameteren timeZoneName: «shortGeneric» for Ă„ vise en kort identifikator for tidssone (for eksempel «PT», «ET»), «longGeneric» â en lang («Pacific Time», «Mountain Time»), «shortOffset» â med kort offset fra GMT («GMT+5») og «longOffset» med lang offset fra GMT («GMT+0500»).
- API U2F (Cryptotoken) er erklĂŠrt utdatert, og det anbefales Ă„ bruke API Web Authentication i stedet. API U2F vil bli deaktivert som standard i Chrome 98 og fjernet helt i Chrome 104.
- VerktÞyene for webutviklere har fÄtt forbedringer. Panelet Stiler har fÄtt en forenklet justering av CSS-egenskaper relatert til stÞrrelse (hÞyde, padding osv.). I fanen Problemer er det nÄ mulig Ä skjule spesifikke problemer. I webkonsollen og i panelene Kilder og Egenskaper er visningen av egenskaper forbedret (egne egenskaper er nÄ uthevet med fet skrift og vises Þverst i listen).

I tillegg til nye funksjoner og feilrettinger, er 19 sÄrbarheter blitt utbedret i den nye versjonen. Mange av sÄrbarhetene ble oppdaget gjennom automatisert testing med verktÞy som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Ingen kritiske problemer som tillater omgÄelse av alle beskyttelsesnivÄer i nettleseren og kjÞring av kode utenfor sandbox-miljÞet er identifisert. Som en del av programmet for belÞnning for oppdagelse av sÄrbarheter, har Google utbetalt 16 premier for den nÄvÊrende utgivelsen, totalt 74 000 dollar (én premie pÄ 20 000 dollar, to premier pÄ 10 000 dollar, én premie pÄ 7 500 dollar, én premie pÄ 6 000 dollar, tre premier pÄ 5 000 dollar og én premie hver pÄ 3 000, 2 000 og 1 000 dollar). BelÞpet for 5 premier er ennÄ ikke bestemt.
Kilde: opennet.ru


