Chromen julkaisu 74

Google esitetty verkkoselaimen julkaisu Chrome 74... Samanaikaisesti saatavilla ilmaisen projektin vakaa julkaisu Kromi, joka toimii Chromen perustana. Chrome-selain eri Google-logojen käyttö, mahdollisuus ladata Flash-moduuli pyynnöstä, järjestelmän olemassaolo ilmoitusten lähettämiseksi kaatuessa, moduulit suojatun videosisällön toistamiseen, järjestelmä päivitysten automaattiseen asentamiseen ja lähetykseen haun aikana RLZ-parametrit. Chrome 75:n seuraava julkaisu julkaistaan ​​kesäkuun 4. päivänä.

Pääasiallinen muutokset в kromi 74:

  • Kun onUnload-tapahtuma tapahtuu, jota kutsutaan, kun sivu suljetaan, nyt Se on kielletty näyttää ponnahdusikkunoita (ikkuna.open()-kutsu on estetty), mikä suojaa käyttäjiä joutumasta avaamaan mainossivuja epäilyttäviä sivustoja sulkemisen jälkeen;
  • JavaScript-moottorissa toteutettu uusi järjestelmä on syntynyt JIT-vähemmän ("—jitless" lippu), joka mahdollistaa JavaScriptin suorittamisen ilman JIT:tä (käytetään vain tulkkia) ja varaamatta suoritettavaa muistia koodin suorittamisen aikana. JIT:n poistaminen käytöstä voi olla hyödyllistä turvallisuuden parantamiseksi työskennellessään mahdollisesti vaarallisten verkkosovellusten kanssa sekä sen varmistamiseksi, että rakenne on rakennettu alustoille, jotka kieltävät JIT:n käytön (esim. iOS, jotkin älytelevisiot ja pelikonsolit. Kun JIT on poistettu käytöstä, JavaScriptin suoritus). suorituskyky heikkenee 40 % Speedometer 2.0 -testissä ja 80 % Web Tooling Benchmark -testissä, mutta kun simuloidaan työtä YouTuben kanssa, suorituskyky laski vain 6 %, kun taas muistin kulutus väheni hieman, vain 1.7 %;
  • V8 tarjoaa myös suuren osan uusia optimointeja. Esimerkiksi sellaisten funktiokutsujen suorittamista, joissa todellisuudessa välitettyjen parametrien määrä ei vastaa funktiota määritettäessä määritettyä argumenttien määrää, on nopeutettu 60 %. Pääsyä DOM-ominaisuuksiin get-funktiolla on nopeutettu, millä on positiivinen vaikutus Angular-kehyksen suorituskykyyn. JavaScript-jäsennystä on nopeutettu: UTF-8-dekooderin optimointi mahdollisti jäsentimen suorituskyvyn lisäämisen suoratoistotilassa (jäsennys latautuessa) 8 %, ja tarpeettomien kaksoiskopiointitoimintojen poistaminen lisäsi vielä 10.5 %;
  • JavaScript-moottorin muistinkulutuksen vähentämiseksi on tehty työtä.
    Lisätty koodi tyhjentämään tavukoodivälimuisti, joka vie noin 15 % keon kokonaiskoosta. Roskakeräimeen on lisätty vaihe, joka poistaa harvoin käännetyn tavukoodin välimuistista funktioille, joita käytetään tai joita kutsutaan vain alustuksen yhteydessä. Päätös puhdistamisesta tehdään uusien laskurien perusteella, jotka ottavat huomioon tavukoodin viimeisimmän käytön. Tämä muutos vähensi muistin kulutusta 5–15 % vaikuttamatta negatiivisesti suorituskykyyn. Lisäksi tavukoodin kääntäjä sulkee pois ilmeisen käyttämättömän koodin generoinnin, esimerkiksi, joka seuraa paluuta tai taukoa (jos siihen ei ole Jump-siirtymää);

    Chromen julkaisu 74

  • WebAssemblylle toteutettu tuki säikeille ja atomioperaatioille (API WebAssembly Threads ja WebAssembly Atomics);
  • Skriptien erillistä toimitusta varten on lisätty tuki "#!"-otsikolle, joka määrittää suoritettavan tulkin. Esimerkiksi JavaScript-tiedosto voi näyttää tältä, kuten muutkin komentosarjakielet:

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

  • Uusi mediakysely on lisätty CSS:ään "mieluummin-vähennetty-liike", jonka avulla sivusto voi määrittää käyttöjärjestelmän asetusten tilan, jotka liittyvät animoitujen tehosteiden poistamiseen käytöstä. Käyttämällä ehdotettua pyyntöä sivuston omistaja voida selvittää, että käyttäjä on poistanut animoidut tehosteet käytöstä ja myös poistanut käytöstä erilaisia ​​animaatioominaisuuksia sivustolta, esimerkiksi poistamalla huomion herättämiseen käytettyjen painikkeiden tärisevä vaikutus;
  • Chrome 72:ssa käyttöönotetun julkisten kenttien määrittelymahdollisuuden lisäksi tuki toteutettu Kenttien merkitseminen yksityisiksi, minkä jälkeen pääsy niiden arvoihin on avoinna vain luokassa. Merkitse kenttä yksityiseksi lisäämällä #-merkki kentän nimen eteen. Kuten julkisissakin kentissä, yksityiset kiinteistöt eivät vaadi nimenomaista rakentajan käyttöä.
  • Feature-Policy HTTP-otsikko, jonka avulla voit hallita API:n toimintaa ja ottaa käyttöön tiettyjä ominaisuuksia (esimerkiksi voit ottaa käyttöön XMLHttpRequestin synkronisen toimintatilan tai poistaa Geolocation API:n käytöstä) on lisätty. JavaScript API hallita tiettyjen mahdollisuuksien toimintaa. Kehittäjille on tarjolla kaksi uutta menetelmää document.featurePolicy ja frame.featurePolicy, jotka tarjoavat kolme toimintoa:
    allowFeatures() saadakseen luettelon nykyiselle verkkotunnukselle sallituista ominaisuuksista, allowFeature() tarkistaa valikoivasti, ovatko tietyt ominaisuudet käytössä, ja getAllowlistForFeature() palauttaa luettelon toimialueista, joille tietty ominaisuus on sallittu nykyisellä sivulla.

  • Tilalle lisätty kokeellinen tuki ("chrome://flags#enable-text-fragment-anchor"). Vieritys tekstiin, jonka avulla voit muodostaa linkkejä yksittäisiin sanoihin tai lauseisiin määrittämättä nimenomaisesti tunnisteita asiakirjassa "a name" -tunnisteen tai "id"-ominaisuuden avulla. Linkin lähettämiseen tarjotaan erityinen parametri “#targetText=”, jossa voit määrittää siirtymän tekstin. On sallittua määrittää maski, joka sisältää fraasit, jotka osoittavat fragmentin alun ja lopun käyttämällä pilkkua erottimena (esimerkiksi "example.com#targetText=aloitus%20sanaa, loppu%20sanaa");
  • Vaihtoehto on lisätty AudioContext-konstruktoriin näytteenottotaajuus, jonka avulla voit asettaa äänitoimintojen näytteenottotaajuuden Web Audio API:n kautta;
  • Lisätty luokan tuki Intl.Locale, joka tarjoaa menetelmiä alueen asettamien kieli-, alue- ja tyyliparametrien jäsentämiseen ja käsittelyyn sekä Unicode-laajennusten tunnisteiden lukemiseen ja kirjoittamiseen, käyttäjän kieliasetusten tallentamiseen sarjamuotoon;
  • Механизм Allekirjoitetut HTTP-vaihdot (SXG) laajennettu työkaluilla tiedottamisesta sisällönjakelijoille allekirjoitetun sisällön lataamisen virheistä, kuten varmenteen vahvistusongelmista. Virheiden käsittely tapahtuu API-laajennusten kautta Verkkovirheiden kirjaaminen. Muista se SXG sen avulla yhden sivuston omistaja valtuuttaa digitaalisella allekirjoituksella tiettyjen sivujen sijoittamisen toiselle sivustolle, minkä jälkeen jos näille sivuille päästään toiselta sivustolta, selain näyttää käyttäjälle alkuperäisen sivuston URL-osoitteen siitä huolimatta. että sivu on ladattu toisesta isännästä;
  • TextEncoder-luokkaan on lisätty menetelmä encodeInto(), jonka avulla voit kirjoittaa koodatun merkkijonon suoraan ennalta varattuun puskuriin. EncodeInto()-menetelmä on tehokas vaihtoehto encode()-menetelmälle, joka vaatii puskurin varaustoiminnon suorittamisen joka kerta, kun sitä käytetään.
  • Palvelutyöntekijässä turvattu puskuroidaan client.postMessage()-kutsu, kunnes asiakirja on valmis. Viestit, jotka lähetetään client.postMessage():n kautta, säilytetään, kunnes DOMContentLoaded-tapahtuma nostetaan esiin, onmessage on asetettu tai startMessages() kutsutaan;
  • Kuten CSS Transitions -spesifikaatio vaatii lisätty Transitionrun-, Transitioncancel-, Transitionstart- ja Transitionend-tapahtumat, jotka luodaan, kun CSS-siirtymä asetetaan jonoon, peruutetaan, aloitetaan tai päättyy.
  • Kun XMLHttpRequestille määritetään väärä merkkikoodaus overrideMimeType()- tai MIME-tyypin avulla, se palaa nyt UTF-8:aan Latin-1:n sijaan.
  • Ominaisuus "allow-downloads-without-user-activation", jonka kautta oli mahdollista ladata tiedostoja automaattisesti iframe-kehysten käsittelyn aikana, on vanhentunut ja se poistetaan tulevassa julkaisussa. Jatkossa tiedostojen lataamisen aloittaminen ilman käyttäjän nimenomaista toimintaa on kielletty, koska sitä on käytetty aktiivisesti väärinkäyttöön, latausten pakottamiseen ja haittaohjelmien osien lisäämiseen käyttäjän tietokoneelle. Käyttäjän on napsautettava samaa sivua latauksen aloittamiseksi. Kiinteistö oli alun perin tarkoitus poistaa Chrome 74:ssä, mutta poisto tapahtui lykätty Chrome 76 asti.
  • Windows-alustalle tarjotaan valinnainen tumma teema käyttöliittymäsuunnitteluun (edellisessä julkaisussa tumma teema valmisteltiin macOS:lle). Koska tumma muotoilu on lähes identtinen incognito-tilan suunnittelun kanssa, käyttäjäprofiilin kuvakkeen tilalle on lisätty erityinen ilmaisin korostamaan yksityistä käyttötilaa;
  • Yrityskäyttäjille on lisätty mahdollisuus Chrome-selaimen pilvihallinta hallita käyttäjän selainasetuksia Google-hallintakonsolin kautta;

    Chromen julkaisu 74

Innovaatioiden ja virheenkorjausten lisäksi uusi versio eliminoi 39 haavoittuvuutta. Monet haavoittuvuuksista tunnistettiin työkaluilla suoritetun automaattisen testauksen tuloksena OsoiteSanitizer, MemorySanitizer, Ohjaa virtauksen eheyttä, LibFuzzer и AFL. Ei ole tunnistettu kriittisiä ongelmia, jotka antaisivat mahdollisuuden ohittaa kaikki selaimen suojaustasot ja suorittaa koodia järjestelmässä hiekkalaatikkoympäristön ulkopuolella. Google maksoi 19 palkintoa 26837 3000 dollarin arvosta (neljä 2000 1337 dollarin palkintoa, neljä 1000 500 dollarin palkintoa, yksi 4 XNUMX dollarin palkinto, neljä XNUMX XNUMX dollarin palkintoa, kolme XNUMX dollarin palkintoa). Neljän palkinnon kokoa ei ole vielä päätetty.

Lähde: opennet.ru

Lisää kommentti