Chrome 74 vrystelling

Google aangebied webblaaier vrystelling Chrome 74... Terselfdertyd beskikbaar stabiele vrystelling van 'n gratis projek Chroom, wat die basis van Chrome is. Chrome-blaaier verskillende die gebruik van Google-logo's, die vermoë om 'n Flash-module op versoek af te laai, die teenwoordigheid van 'n stelsel vir die stuur van kennisgewings in geval van 'n ongeluk, modules vir die speel van beskermde video-inhoud, 'n stelsel vir outomatiese installering van opdaterings en transmissie tydens soektog RLZ parameters. Die volgende weergawe van Chrome 75 is geskeduleer vir 4 Junie.

Die belangrikste veranderinge в Chrome 74:

  • Wanneer die onUnload-gebeurtenis plaasvind, wat geroep word wanneer die bladsy gesluit is, nou Dit is verbode vertoon opspringvensters (die window.open()-oproep is geblokkeer), wat gebruikers sal beskerm om gedwing te word om advertensiebladsye oop te maak nadat twyfelagtige werwe gesluit is;
  • In die JavaScript-enjin geïmplementeer 'n nuwe regime het verskyn JIT-minder (“—jitless” vlag), wat dit moontlik maak om JavaScript uit te voer sonder om JIT te gebruik (slegs die tolk word gebruik) en sonder om uitvoerbare geheue toe te ken tydens kode-uitvoering. Die deaktivering van JIT kan nuttig wees om sekuriteit te verbeter wanneer daar met potensieel gevaarlike webtoepassings gewerk word, sowel as om te verseker bouwerk op platforms wat die gebruik van JIT verbied (byvoorbeeld iOS, sommige slim-TV's en speletjiekonsoles. Wanneer JIT gedeaktiveer is, word JavaScript uitgevoer. werkverrigting daal met 40% in die Speedometer 2.0-toets en 80% in die Web Tooling Benchmark-toets, maar wanneer werk met YouTube gesimuleer is, was daar slegs 'n 6%-afname in werkverrigting, terwyl geheueverbruik effens afgeneem het, met slegs 1.7%;
  • V8 bied ook 'n groot gedeelte van nuwe optimaliserings. Byvoorbeeld, die uitvoering van funksie-oproepe waarin die aantal werklik geslaagde parameters nie ooreenstem met die aantal argumente wat gespesifiseer is wanneer die funksie gedefinieer word nie, is met 60% versnel. Toegang tot DOM-eienskappe met behulp van die get-funksie is versnel, wat 'n positiewe impak op die werkverrigting van die Angular-raamwerk het. JavaScript-ontleding is versnel: optimalisering van die UTF-8-dekodeerder het dit moontlik gemaak om ontlederwerkverrigting in stroommodus (ontleed soos dit laai) met 8% te verhoog, en die uitskakeling van onnodige dedupliseringsbewerkings het 'n toename van nog 10.5% gegee;
  • Werk is gedoen om die geheueverbruik van die JavaScript-enjin te verminder.
    Kode bygevoeg om die greepkode-kas skoon te maak, wat ongeveer 15% van die totale hoopgrootte opneem. 'n Stadium is by die vullisverwyderaar gevoeg om greepkode wat selde saamgestel is uit die kas te verwyder vir funksies wat gebruik word of funksies wat slegs opgeroep word by inisialisering. Die besluit om skoon te maak word geneem op grond van nuwe tellers wat die laaste keer toe toegang tot die greepkode in ag neem. Hierdie verandering het geheueverbruik met 5–15% verminder sonder om prestasie negatief te beïnvloed. Daarbenewens sluit die bytecode samesteller die generering van duidelik ongebruikte kode uit, byvoorbeeld, wat op terugkeer of breek volg (as daar geen Spring-oorgang daarna is nie);

    Chrome 74 vrystelling

  • Vir WebAssembly geïmplementeer ondersteuning vir drade en atoombewerkings (API WebAssembly Threads en WebAssembly Atomics);
  • Vir afsonderlike aflewering van skrifte is ondersteuning vir die "#!"-opskrif bygevoeg, wat bepaal die tolk om te loop. Byvoorbeeld, soortgelyk aan ander skriftale, kan 'n JavaScript-lêer iets soos volg lyk:

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

  • 'n Nuwe medianavraag is by CSS gevoeg "verkies-verminderde-beweging“, wat die webwerf toelaat om die toestand van instellings in die bedryfstelsel te bepaal wat verband hou met die deaktivering van geanimeerde effekte. Gebruik die voorgestelde versoek, die werfeienaar kan vind uit dat die gebruiker geanimeerde effekte gedeaktiveer het en deaktiveer ook verskeie animasiekenmerke op die webwerf, verwyder byvoorbeeld die skudeffek van knoppies wat gebruik word om aandag te trek;
  • Benewens die vermoë om publieke velde te definieer wat in Chrome 72 bekendgestel is ondersteuning geïmplementeer Merk velde as privaat, waarna toegang tot hul waardes slegs binne die klas oop sal wees. Om 'n veld as privaat te merk, voeg 'n "#"-teken voor die veldnaam by. Soos met openbare velde, vereis private eiendomme nie die eksplisiete gebruik van 'n konstruktor nie.
  • Die Feature-Policy HTTP-kopskrif, wat jou toelaat om die gedrag van die API te beheer en sekere kenmerke te aktiveer (jy kan byvoorbeeld die sinchrone werkingsmodus van XMLHttpRequest aktiveer of die Geolocation API deaktiveer), is bygevoeg JavaScript API om die aktiwiteit van sekere geleenthede te beheer. Vir ontwikkelaars is daar twee nuwe metodes document.featurePolicy en frame.featurePolicy, wat drie funksies bied:
    allowFeatures() om 'n lys van kenmerke wat vir die huidige domein toegelaat word, te kry, allowFeature() om selektief na te gaan of spesifieke kenmerke geaktiveer is, en getAllowlistForFeature() om 'n lys van domeine waarvoor 'n gespesifiseerde kenmerk toegelaat word op die huidige bladsy terug te gee;

  • Bygevoeg eksperimentele ("chrome://flags#enable-text-fragment-anchor") ondersteuning vir die modus Blaai-na-teks, wat jou toelaat om skakels na individuele woorde of frases te vorm, sonder om etikette in die dokument uitdruklik te spesifiseer deur die "'n naam"-merker of die "id"-eienskap te gebruik. Om 'n skakel te stuur, word 'n spesiale parameter “#targetText=” aangebied, waarin jy die teks vir die oorgang kan spesifiseer. Dit word toegelaat om 'n masker te spesifiseer wat frases insluit wat die begin en einde van die fragment aandui deur 'n komma as hul skeiding te gebruik (byvoorbeeld, "example.com#targetText=start%20words, end%20words");
  • 'n Opsie is by die AudioContext-konstruktor gevoeg sampleRate, wat jou toelaat om die steekproeftempo vir oudio-bewerkings in te stel via die Web Audio API;
  • Klasondersteuning bygevoeg Intl.Locale, wat metodes verskaf vir die ontleding en verwerking van taal-, streek- en stylparameters wat deur die lokaal gestel is, sowel as vir die lees en skryf van Unicode-uitbreidingsetikette, en stoor gebruiker-plekinstellings in 'n reeksformaat;
  • meganisme Ondertekende HTTP-uitruilings (SXG) uitgebrei met gereedskap vir inlig inhoudverspreiders oor foute met die aflaai van ondertekende inhoud, soos probleme met sertifikaatverifikasie. Fouthantering word deur API-uitbreidings gedoen Netwerkfoutregistrasie. Onthou dat SXG dit laat die eienaar van een webwerf, met behulp van 'n digitale handtekening, magtig die plasing van sekere bladsye op 'n ander webwerf, waarna, indien hierdie bladsye op 'n tweede webwerf verkry word, die blaaier die gebruiker die URL van die oorspronklike webwerf sal wys, ten spyte van die feit dat die bladsy van 'n ander gasheer gelaai is;
  • 'n Metode is by die TextEncoder-klas gevoeg encodeInto(), wat jou toelaat om 'n geënkodeerde string direk in 'n vooraf-toegekende buffer te skryf. Die encodeInto()-metode is 'n hoëprestasie-alternatief vir die encode()-metode, wat vereis dat 'n buffertoewysingsbewerking uitgevoer moet word elke keer as dit toegang verkry word.
  • In Diens werker beveilig buffer die client.postMessage() oproep totdat die dokument gereed is. Boodskappe wat via client.postMessage() gestuur word, sal gehou word totdat die DOMContentLoaded-gebeurtenis geopper is, onmessage gestel is, of startMessages() geroep word;
  • Soos vereis deur die CSS Transitions spesifikasie bygevoeg transitionrun, transitioncancel, transitionstart, en transitionend gebeurtenisse wat gegenereer word wanneer 'n CSS-oorgang in 'n tou geplaas word, gekanselleer word, begin of voltooi word.
  • Wanneer 'n verkeerde karakterkodering via overrideMimeType() of MIME-tipe vir 'n XMLHttpRequest gespesifiseer word, val dit nou terug na UTF-8 in plaas van Latyn-1;
  • Die "laat-aflaai-sonder-gebruiker-aktivering"-eienskap toe, waardeur dit moontlik was om lêers outomaties af te laai wanneer iframes verwerk word, is opgeskort en sal in 'n toekomstige vrystelling verwyder word. In die toekoms sal die aanvang van lêeraflaaie sonder eksplisiete gebruikeraksie verbied word, aangesien dit aktief gebruik is vir misbruik, dwingende aflaaie en die plasing van stukke wanware op die gebruiker se rekenaar. 'n Gebruiker wat op dieselfde bladsy klik, sal vereis word om die aflaai te begin. Die eiendom was oorspronklik beplan om in Chrome 74 verwyder te word, maar die verwydering was uitgestel tot Chrome 76.
  • 'n Opsionele donker tema vir die koppelvlakontwerp word vir die Windows-platform aangebied (in die vorige weergawe is 'n donker tema vir macOS voorberei). Aangesien die donker ontwerp amper identies is aan die ontwerp in incognitomodus, is 'n spesiale aanwyser bygevoeg in plaas van die gebruikersprofielikoon om die private bedryfsmodus uit te lig;
  • 'n Geleentheid is bygevoeg vir korporatiewe gebruikers Chrome-blaaierwolkbestuur om gebruikerblaaierinstellings deur die Google Admin-konsole te bestuur;

    Chrome 74 vrystelling

Benewens innovasies en foutoplossings, skakel die nuwe weergawe uit 39 kwesbaarhede. Baie van die kwesbaarhede is geïdentifiseer as gevolg van outomatiese toetsinstrumente Adres Sanitizer, Memory Sanitizer, Beheer vloeiintegriteit, LibFuzzer и AFL. Geen kritieke probleme is geïdentifiseer wat 'n mens in staat sal stel om alle vlakke van blaaierbeskerming te omseil en kode buite die sandbox-omgewing op die stelsel uit te voer nie. As deel van die program om kontantbelonings te betaal vir die ontdekking van kwesbaarhede vir die huidige vrystelling, het Google 19 toekennings in die bedrag van $26837 betaal (vier $3000-toekennings, vier $2000-toekennings, een $1337-toekenning, vier $1000-toekennings, drie $500-toekennings). Die grootte van die 4 belonings is nog nie bepaal nie.

Bron: opennet.ru

Voeg 'n opmerking