Google utgave av nettleseren . Samtidig stabil utgivelse av et fritt prosjekt , som fungerer som grunnlaget for Chrome. Nettleseren Chrome ved bruk av Google-logoer, muligheten til on-demand å laste ned Flash-modulen, et varslingssystem ved krasj, moduler for avspilling av beskyttet video, et automatisk oppdateringssystem og søketransfer. Neste utgave av Chrome 75 er planlagt til 4. juni.
:
- Ved inntreden av onUnload-hendelsen, som utløses når siden lukkes, er det nå å vise popup-vinduer (anrop av window.open() blokkeres), noe som vil beskytte brukere mot tvangsåpning av reklamesider etter å ha lukket tvilsomme nettsteder;
- I JavaScript-motoren har en ny modus (flagget «—jitless»), som gjør det mulig å kjøre JavaScript uten bruk av JIT (bare bruk av tolken) og uten å allokere kjørbar hukommelse under kjøring av koden. Å deaktivere JIT kan være nyttig for å øke sikkerheten ved bruk av potensielt farlige webapplikasjoner, samt for å sikre kjøring på plattformer som forbys å bruke JIT (for eksempel i iOS, på enkelte Smart TV-er og spillkonsoller). Når JIT er deaktivert, reduseres ytelsen til JavaScript med 40 % i Speedometer 2.0-testen og med 80 % i Web Tooling Benchmark-testen, men ved simulering av arbeid med YouTube ble det bare registrert en ytelsesreduksjon på 6 %. Minneforbruket reduseres lite, kun med 1,7%;
- Det er også lansert en rekke nye optimaliseringer i V8. For eksempel er det oppnådd 60 % raskere kalling av funksjoner der antall faktisk sendte parametre ikke samsvarer med angitt antall argumenter ved funksjonsdefinisjon. Tilgang til DOM-egenskaper ved hjelp av get-funksjonen har også blitt raskere, noe som har hatt en positiv innvirkning på ytelsen til Angular-rammeverket. Parsetidene for JavaScript har også blitt raskere: optimalisering av UTF-8-dekoderingsprosessen har forbedret ytelsen til parseren i streaming-modus (parsing under innlasting) med 8%, og fjerning av overflødige dedupliseringsoperasjoner ga en gevinst på ytterligere 10,5%;
- Det er gjort arbeid for å redusere minneforbruket til JavaScript-motoren.
Kode for å rydde opp i bytekode-cachen har blitt lagt til, noe som utgjør omtrent 15 % av den totale størrelsen på heapen. Garbage collector har fått en fase for å fjerne sjeldent kompilert bytekode for brukte funksjoner eller funksjoner som kun kalles ved initialisering. Beslutningen om opprydning fattes basert på nye tellere som tar hensyn til siste gang bytekoden ble brukt. Denne endringen har gjort det mulig å redusere minneforbruket med 5–15 % uten negativ innvirkning på ytelsen. I tillegg har bytekodekompilatoren fått bortfall av generering av åpenbart ubrukelig kode, for eksempel kode som følger etter return eller break (hvis det ikke er noen jump-overgang);
- For WebAssembly støtte for tråder og atomiske operasjoner (API WebAssembly Threads og WebAssembly Atomics);
- For isolert leveranse av skript er det lagt til støtte for headeren "#!", som definerer tolkeren som skal benyttes. For eksempel, på lignende måte som andre skriptspråk, kan en JavaScript-fil se ut som følger:
#!/usr/bin/env node
console.log(42); - I CSS er det lagt til en ny media-query "", som lar nettsiden bestemme tilstanden for innstillinger i operativsystemet angående deaktivering av animasjons-effekter. Ved hjelp av denne forespørselen kan eieren av nettsiden I tillegg til muligheten innført i Chrome 72 for å definere offentlige felt
- er det implementert støtte for HTTP-headeren Feature-Policy, som lar deg styre oppførselen til API-er og aktivering av visse funksjoner (for eksempel kan du aktivere synkron drift av XMLHttpRequest eller deaktivere Geolocation API), er blitt utvidet
- JavaScript API for å kontrollere aktiviteten til ulike funksjoner. Det er foreslått to nye metoder document.featurePolicy og frame.featurePolicy, som tilbyr tre funksjoner:
allowedFeatures() for obtaining a list of allowed functions for the current domain, allowsFeature() for selectively checking the activation of specific capabilities, and getAllowlistForFeature() for outputting a list of domains for which the specified capability is allowed on the current page; - Experimental support for the mode has been added (chrome://flags#enable-text-fragment-anchor) , som gjør det mulig å lage lenker til bestemte ord eller setninger uten eksplisitt å angi merker i dokumentet ved hjelp av «a name»-taggen eller «id»-egenskapen. For å sende lenken tilbys en spesiell parameter «#targetText=», der du kan spesifisere teksten for overgangen. Det er tillatt å angi et maske som inkluderer fraser som angir starten og slutten på fragmentet med bruk av komma som avgrenser (for eksempel «example.com#targetText=startwords, endwords»);
- An option has been added to the AudioContext constructor , which allows setting the sample rate for audio operations via the Web Audio API;
- Support for the class has been added , providing methods for parsing and processing locale parameters for language, region, and script, as well as for reading and writing Unicode extension tags, saving user locale settings in a serialized format;
- The mechanism has been (SXG) expanded with tools for content distributors about loading errors of signed content, such as certificate verification issues. Error handling is carried out through the API. Recall that SXG allows a website owner to authorize the placement of specific pages on another site using a digital signature, after which, when accessing these pages on the second site, the browser will show the user the URL of the original site, even though the page is loaded from another host;
- A method has been added to the TextEncoder class , which allows encoding a string directly into a pre-allocated buffer. The encodeInto() method is a high-performance alternative to the encode() method, which requires buffer allocation on each call.
- Support has been ensured in the Service worker bufring av client.postMessage() til dokumentet er klart. Meldinger sendt via client.postMessage() vil bli holdt tilbake til DOMContentLoaded-hendelsen genereres, onmessage er angitt, eller startMessages() kalles;
- I samsvar med spesifikasjonen for CSS-overganger genereres hendelsene transitionrun, transitioncancel, transitionstart og transitionend når CSS-overgangen settes i kø, avbrytes, starter eller avsluttes.
- Når det angis en ugyldig MIME-type eller tegnkoding for XMLHttpRequest via overrideMimeType(), rulles det nå tilbake til UTF-8 i stedet for Latin-1;
- Egenskapen «allow-downloads-without-user-activation» er erklært foreldet og vil bli fjernet i en av de kommende versjonene. Denne egenskapen tillot automatisk nedlasting av filer ved behandling av iframe. I fremtiden vil det være forbudt å starte filnedlastinger uten eksplisitt brukerhandling, da dette har blitt misbrukt til å presse nedlastinger og injisere deler av skadelig programvare på brukerens datamaskin. For å starte en nedlasting kreves det nå et klikk fra brukeren på samme side. Den opprinnelige planen var å fjerne egenskapen i Chrome 74, men fjerningen ble til Chrome 76.
- En valgfri mørk tema for Windows-plattformen er foreslått (i forrige utgave ble det mørke temaet forberedt for macOS). Siden det mørke temaet er nesten identisk med utformingen i inkognito-modus, er det lagt til en egen indikator for å fremheve privat modus, i stedet for brukerprofilikonet;
- For bedriftsbrukere er muligheten lagt til for å administrere brukerens nettleserinnstillinger via Google Admin-konsollen;
I tillegg til nyvinningene og feilrettingene har den nye versjonen eliminert . Mange av sårbarhetene ble avdekket ved hjelp av automatisert testing med verktøyene , , , og . Kritiske problemer som lar omgå alle lag av nettleserbeskyttelse og kjøre kode på systemet utenfor sandkasse-miljøet er ikke identifisert. Som en del av belønningsprogrammet for oppdagelse av sårbarheter har Google utbetalt 19 premier på totalt 26837 USD (fire premier på $3000, fire premier på $2000, en premie på $1337, fire premier på $1000, tre premier på $500). Størrelsen på fire premier er ennå ikke bestemt.
Kilde: opennet.ru

