Chrome 74 version

Google представила webbläsarversion Chrome 74... Samtidigt tillgängliga stabil utgåva av ett gratis projekt krom, som är grunden för Chrome. Chrome webbläsare annorlunda användningen av Googles logotyper, möjligheten att ladda ner en Flash-modul på begäran, närvaron av ett system för att skicka meddelanden vid en krasch, moduler för att spela skyddat videoinnehåll, ett system för automatisk installation av uppdateringar och överföring under sökning RLZ-parametrar. Nästa version av Chrome 75 är planerad till den 4 juni.

Den huvudsakliga förändringar в krom 74:

  • När händelsen onUnload inträffar, som anropas när sidan stängs, nu Det är förbjudet visa popup-fönster (anropet window.open() är blockerat), vilket kommer att skydda användare från att tvingas öppna reklamsidor efter att ha stängt tvivelaktiga webbplatser;
  • I JavaScript-motorn genomförs en ny regim har tillkommit JIT-fri (“—jitless” flagga), vilket gör det möjligt att köra JavaScript utan att använda JIT (endast tolken används) och utan att allokera körbart minne under kodexekveringen. Att inaktivera JIT kan vara användbart för att förbättra säkerheten när man arbetar med potentiellt farliga webbapplikationer, samt för att säkerställa att det bygger på plattformar som förbjuder användningen av JIT (till exempel iOS, vissa smarta TV-apparater och spelkonsoler. När JIT är inaktiverat, JavaScript-körning prestandan minskar med 40 % i Speedometer 2.0-testet och 80 % i Web Tooling Benchmark-testet, men vid simulering av arbete med YouTube var det endast en minskning av prestanda med 6 %, medan minnesförbrukningen minskade något, med endast 1.7 %;
  • V8 erbjuder också en stor del av nya optimeringar. Till exempel har exekveringen av funktionsanrop där antalet faktiskt skickade parametrar inte motsvarar antalet argument som anges när funktionen definierats accelererats med 60 %. Tillgången till DOM-egenskaper med hjälp av get-funktionen har accelererats, vilket har en positiv inverkan på Angular-ramverkets prestanda. JavaScript-parsning har accelererats: optimering av UTF-8-avkodaren gjorde det möjligt att öka parserprestandan i streaming-läge (parsning när den laddas) med 8 %, och eliminering av onödiga dedupliceringsoperationer gav en ökning med ytterligare 10.5 %;
  • Arbete har gjorts för att minska JavaScript-motorns minnesförbrukning.
    Lade till kod för att rensa bytecode-cachen, som tar upp cirka 15 % av den totala högstorleken. Ett steg har lagts till i sopsamlaren för att avhysa sällan kompilerad bytekod från cachen för funktioner som används eller funktioner som endast anropas vid initiering. Beslutet att städa görs baserat på nya räknare som tar hänsyn till senast bytekoden användes. Denna förändring minskade minnesförbrukningen med 5–15 % utan att påverka prestandan negativt. Dessutom utesluter bytecode-kompilatorn generering av uppenbart oanvänd kod, till exempel, som följer på retur eller break (om det inte finns någon Jump-övergång till den);

    Chrome 74 version

  • För WebAssembly genomförs stöd för trådar och atomoperationer (API WebAssembly Threads och WebAssembly Atomics);
  • För separat leverans av skript har stöd för "#!"-huvudet lagts till, vilket bestämmer vilken tolk som ska köras. Till exempel, i likhet med andra skriptspråk, kan en JavaScript-fil se ut ungefär så här:

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

  • En ny mediefråga har lagts till i CSS "föredrar-reducerad-rörelse", vilket gör att webbplatsen kan bestämma tillståndet för inställningar i operativsystemet relaterade till inaktivering av animerade effekter. Med hjälp av den föreslagna begäran, webbplatsägaren kan ta reda på att användaren har inaktiverat animerade effekter och även inaktivera olika animeringsfunktioner på webbplatsen, till exempel ta bort skakeffekten av knappar som används för att fånga uppmärksamhet;
  • Förutom möjligheten att definiera offentliga fält som introduceras i Chrome 72 stöd genomfört Markera fält som privata, varefter tillgången till deras värden endast är öppen inom klassen. För att markera ett fält som privat, lägg till ett "#"-tecken före fältnamnet. Som med offentliga fält kräver inte privata fastigheter explicit användning av en konstruktör.
  • Feature-Policy HTTP-huvudet, som låter dig kontrollera beteendet hos API:t och aktivera vissa funktioner (till exempel kan du aktivera det synkrona driftläget för XMLHttpRequest eller inaktivera Geolocation API) har lagts till JavaScript API att kontrollera aktiviteten av vissa möjligheter. För utvecklare finns det två nya metoder document.featurePolicy och frame.featurePolicy, som erbjuder tre funktioner:
    allowFeatures() för att få en lista över funktioner som är tillåtna för den aktuella domänen, allowFeature() för att selektivt kontrollera om specifika funktioner är aktiverade och getAllowlistForFeature() för att returnera en lista över domäner för vilka en specificerad funktion är tillåten på den aktuella sidan;

  • Lade till experimentellt (“chrome://flags#enable-text-fragment-anchor”) stöd för läget Scrolla-till-text, som låter dig skapa länkar till enskilda ord eller fraser, utan att uttryckligen ange etiketter i dokumentet med taggen "ett namn" eller egenskapen "id". För att skicka en länk erbjuds en speciell parameter "#targetText=", där du kan ange texten för övergången. Det är tillåtet att ange en mask som innehåller fraser som indikerar början och slutet av fragmentet med ett kommatecken som avgränsare (till exempel “example.com#targetText=start%20words, end%20words”);
  • Ett alternativ har lagts till i AudioContext-konstruktorn samplingshastighet, som låter dig ställa in samplingsfrekvensen för ljudoperationer via Web Audio API;
  • Lagt till klassstöd Intl.Locale, som tillhandahåller metoder för att analysera och bearbeta språk-, region- och stilparametrar som ställs in av lokalen, samt för att läsa och skriva Unicode-tilläggstaggar, vilket sparar användarens språkinställningar i ett serialiserat format;
  • mekanism Signerade HTTP-utbyten (SXG) utökat med verktyg för informera innehållsdistributörer om fel vid nedladdning av signerat innehåll, till exempel problem med certifikatverifiering. Felhantering sker genom API-tillägg Nätverksfelloggning. Kom ihåg att SXG det gör ägaren av en webbplats, med hjälp av en digital signatur, godkänner placeringen av vissa sidor på en annan webbplats, varefter, om dessa sidor nås på en andra webbplats, kommer webbläsaren att visa användaren webbadressen till den ursprungliga webbplatsen, trots att att sidan laddades från en annan värd;
  • En metod har lagts till i klassen TextEncoder encodeInto(), som låter dig skriva en kodad sträng direkt i en förallokerad buffert. Metoden encodeInto() är ett högpresterande alternativ till encode()-metoden, som kräver att en bufferttilldelningsoperation utförs varje gång den används.
  • I Service arbetare säkrad buffrar anropet client.postMessage() tills dokumentet är klart. Meddelanden som skickas via client.postMessage() kommer att hållas tills händelsen DOMContentLoaded höjs, onmessage ställs in eller startMessages() anropas;
  • Som krävs av CSS Transitions-specifikationen Lagt till transitionrun, transitioncancel, transitionstart och transitionend-händelser som genereras när en CSS-övergång köas, avbryts, startar eller slutförs exekvering.
  • När du anger en felaktig teckenkodning via overrideMimeType() eller MIME-typ för en XMLHttpRequest, faller den nu tillbaka till UTF-8 istället för Latin-1;
  • Egenskapen "allow-downloads-without-user-activation", genom vilken det var möjligt att automatiskt ladda ner filer vid bearbetning av iframes, har fasats ut och kommer att tas bort i en framtida version. I framtiden kommer det att vara förbjudet att initiera filnedladdningar utan uttrycklig användaråtgärd, eftersom den har använts aktivt för missbruk, tvingande nedladdningar och för in delar av skadlig programvara på användarens dator. En användare klickar på samma sida kommer att krävas för att starta nedladdningen. Fastigheten var ursprungligen planerad att tas bort i Chrome 74, men borttagningen blev det uppskjuten upp till Chrome 76.
  • Ett valfritt mörkt tema för gränssnittsdesignen erbjuds för Windows-plattformen (i den tidigare utgåvan förbereddes ett mörkt tema för macOS). Eftersom den mörka designen är nästan identisk med designen i inkognitoläge har en speciell indikator lagts till istället för användarprofilikonen för att markera det privata driftläget;
  • En möjlighet har lagts till för företagsanvändare Chrome Browser Cloud Management för att hantera användarens webbläsarinställningar via Googles administratörskonsol;

    Chrome 74 version

Förutom innovationer och buggfixar eliminerar den nya versionen 39 sårbarheter. Många av sårbarheterna identifierades som ett resultat av automatiserade testverktyg Address Sanitizer, Memory Sanitizer, Kontrollera flödesintegritet, LibFuzzer и AFL. Inga kritiska problem har identifierats som skulle tillåta en att kringgå alla nivåer av webbläsarskydd och exekvera kod på systemet utanför sandlådemiljön. Som en del av programmet för att betala kontantbelöningar för att upptäcka sårbarheter för den aktuella utgåvan, betalade Google ut 19 utmärkelser till ett belopp av $26837 3000 (fyra $2000 1337 utmärkelser, fyra $1000 500 utmärkelser, en $4 XNUMX utmärkelse, fyra $XNUMX XNUMX utmärkelser, tre $XNUMX utmärkelser). Storleken på de XNUMX belöningarna har ännu inte fastställts.

Källa: opennet.ru

Lägg en kommentar