Chrome 74-utgivelsen

Google har presentert utgave av nettleseren Chrome 74. Samtidig tilgjengelig stabil utgivelse av et fritt prosjekt Chromium, som fungerer som grunnlaget for Chrome. Nettleseren Chrome skiller seg med bruk av Google-logoer, muligheten for å laste ned Flash-modulen på forespørsel, et varslingssystem for krasj, moduler for avspilling av beskyttet videoinnhold, automatisering av oppdateringsinstallasjoner og overlevering ved søk RLZ-parametre. Neste utgave av Chrome 75 er planlagt til 4. juni.

Viktige endringer i Chrome 74:

  • Ved atferden onUnload, som utløses ved lukking av siden, er det nå forbudt å vise popup-vinduer (kall til window.open() er blokkert), noe som vil beskytte brukere mot ufrivillig åpning av reklamesider etter å ha lukket tvilsomme nettsteder;
  • I JavaScript-motoren er implementert har det kommet en ny modus JIT-less (flagget «—jitless»), som gir mulighet til å kjøre JavaScript uten å bruke JIT (bruker kun tolken) og uten å tildele kjørbar minne under kodekjøring. Å deaktivere JIT kan være nyttig for å øke sikkerheten når man jobber med potensielt usikre webapplikasjoner, samt for å muliggjøre bygging på plattformer som forbyr JIT (som iOS, enkelte Smart TV-er og spillkonsoller). Når JIT er deaktivert, reduseres ytelsen til JavaScript med 40% i Speedometer 2.0-testen og 80% i Web Tooling Benchmark-testen, men i simuleringen av bruken av YouTube ble det kun observert en reduksjon i ytelsen på 6%. Minneforbruket reduseres derimot bare litt, med 1.7%;
  • I V8 er det også foreslått omfattende nye optimaliseringer. For eksempel er utførelsen av funksjonskall hvor antall faktisk sendte parametere ikke samsvarer med det angitte antallet argumenter ved funksjonsdefinisjonen, akselerert med 60%. Tilgang til DOM-egenskaper via get-funksjonen er forbedret, noe som har påvirket ytelsen til Angular-rammeverket positivt. Parsingen av JavaScript er også akselerert: optimaliseringen av UTF-8-dekoder har økt ytelsen til parseren i streaming-modus (parsing etter hvert som innholdet lastes) med 8%, mens eliminering av unødvendige dedupliseringer har gitt en økning på 10.5%;
  • Det er også arbeidet med å redusere minneforbruket i JavaScript-motoren.
    Koden for å tømme bytecode-cachen er lagt til, noe som tar omtrent 15 % av totalstørrelsen til bunken. En fase er lagt til i søppelinnsamleren for å fjerne sjeldent kompilert bytecode for brukte funksjoner eller funksjoner som bare kalles under initialisering. Beslutningen om rensing gjøres basert på nye tellere som tar hensyn til den siste tiden for tilgang til bytecode. Denne endringen har redusert minnebruken med 5–15 % uten negativ innvirkning på ytelsen. I tillegg er genereringen av åpenbart ubenyttet kode i bytecode-kompilatoren ekskludert, for eksempel den som følger etter return eller break (hvis det ikke er noen Jump-overgang);

    Chrome 74-utgivelsen
  • For WebAssembly er implementert støtte for tråder og atomiske operasjoner (WebAssembly Threads API og WebAssembly Atomics);
  • For isolert levering av skript er det lagt til støtte for headeren «#!», som definerer tolken for kjøring. For eksempel, i likhet med andre skriptspråk, kan en JavaScript-fil se omtrent slik ut:

    #!/usr/bin/env node
    console.log(42);

  • I CSS er en ny media-spørring «prefers-reduced-motion« lagt til, noe som gjør det mulig for nettstedet å bestemme tilstanden til innstillingene i operativsystemet angående deaktivering av animerte effekter. Ved hjelp av den foreslåtte spørringen kan nettstedseieren finne ut at brukeren har deaktivert animerte effekter og også deaktivere ulike animerte funksjoner på nettstedet, for eksempel fjerne risteffekten på knapper som brukes for å tiltrekke oppmerksomhet; I tillegg til muligheten som kom i Chrome 72 for å bestemme offentlige felt
  • er støtten for merking av felt som private, hvoretter tilgangen til deres verdier kun vil være tilgjengelig inne i klassen, implementert. For å merke et felt som privat, må man angi tegnet «#» foran feltnavnet. Som med offentlige felt krever ikke private egenskaper eksplisit bruk av konstruktøren. HTTP-headeren Feature-Policy, som lar deg styre oppførselen til API-er og aktivering av bestemte funksjoner (for eksempel å aktivere synkront modus for XMLHttpRequest eller deaktivere Geolocation API), er supplert
  • med JavaScript API for å kontrollere aktiviteten til visse funksjoner. To nye metoder er foreslått for utviklere, document.featurePolicy og frame.featurePolicy, som tilbyr tre funksjoner: для контроле активности тех или иных возможностей. Для разработчиков предложено два новых метода document.featurePolicy и frame.featurePolicy, предлагающих три функции:
    allowedFeatures() for getting a list of functions allowed for the current domain, allowsFeature() for selectively checking the inclusion of specific features, and getAllowlistForFeature() for outputting a list of domains for which the specified feature is allowed on the current page;
  • Experimental support added for the mode ("chrome://flags#enable-text-fragment-anchor") Scroll-To-Text, allowing the formation of links to specific words or phrases without explicitly marking them in the document using an "a name" tag or "id" property. A special parameter "#targetText=" is proposed for link transmission, which allows specifying the text to navigate to. A mask can be specified, including phrases indicating the start and end of the fragment, using a comma as a separator (e.g., "example.com#targetText=startwords, endwords");
  • An option has been added to the AudioContext constructor sampleRate, allowing the setting of the sample rate for sound operations through the Web Audio API;
  • Support for the class has been added Intl.Locale, providing methods for parsing and processing language, region, and script parameters set by locale, as well as for reading and writing Unicode extension tags and saving user locale settings in a serialized format;
  • The mechanism of Signed HTTP Exchanges (SXG) has been extended with tools for informing content distributors about errors in loading signed content, such as certificate verification issues. Error handling is done through Network Error Logging. Remind that SXG allows the owner of one site to authorize the placement of specific pages on another site via a digital signature, after which, in case of 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; endre rekkefølge, kopiere og slette sider i dokumentet. A method has been added to the TextEncoder class
  • encodeInto() , allowing the encoded string to be written 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.In Service worker
  • provided обеспечена bufring av client.postMessage() til dokumentet er klart. Meldinger sendt via client.postMessage() vil bli holdt tilbake til DOMContentLoaded-hendelsen oppstår, onmessage settes eller startMessages() kalles;
  • I samsvar med kravene i spesifikasjonen for CSS Transitions er det lagt til eventene transitionrun, transitioncancel, transitionstart og transitionend, som genereres når CSS-overgangen settes i kø, avbrytes, begynner eller slutter å kjøres.
  • Når det angis en ugyldig MIME-type eller tegnkodering via overrideMimeType() for XMLHttpRequest, vil det nå falle tilbake til UTF-8 i stedet for Latin-1;
  • Egenskapen «allow-downloads-without-user-activation», som muliggjorde automatisk nedlasting av filer ved behandling av iframe, er nå erklært foreldet og vil bli fjernet i en av de kommende utgivelsene. I fremtiden vil initiere filnedlastinger uten eksplisitt brukerhandling bli forbudt, da det ble misbrukt for å tvinge nedlastninger og injisere deler av skadelig programvare på brukerens datamaskin. For å starte en nedlastning vil det kreves et klikk fra brukeren på samme side. Egenskapen ble opprinnelig planlagt fjernet i Chrome 74, men fjerning ble utsatt til Chrome 76.
  • For Windows-plattformen er det tilbudt et valgfritt mørkt tema for brukergrensesnittet (i forrige utgivelse ble mørkt tema gjort tilgjengelig for macOS). Siden det mørke temaet er nesten identisk med utseendet i inkognitomodus, er det lagt til en spesialindikator for å skille privat modus fra brukerprofilikonet;
  • For bedriftsbrukere er det lagt til mulighet Chrome Browser Cloud Management for å administrere brukerens nettleserinnstillinger via Google Admin-konsollen;

    Chrome 74-utgivelsen

I tillegg til nyvinningene og feilrettingene har den nye versjonen eliminert 39 sårbarheter. Mange av sårbarhetene ble avdekket ved hjelp av automatisert testing med verktøyene AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Det er ikke identifisert kritiske problemer som kan omgå alle nivåer av nettleserbeskyttelse og kjøre kode i systemet utenfor sandkassemiljøet. I forbindelse med belønningsprogrammet for oppdagelse av sårbarheter har Google betalt ut 19 premier på totalt 26837 dollar (fire premier på 3000 dollar, fire premier på 2000 dollar, en premie på 1337 dollar, fire premier på 1000 dollar, tre premier på 500 dollar). Størrelsen på fire premier er fortsatt ikke bestemt.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster