Paglabas ng Chrome 90

Inihayag ng Google ang paglabas ng web browser ng Chrome 90. Kasabay nito, available ang isang matatag na paglabas ng libreng proyekto ng Chromium, na siyang batayan ng Chrome. Ang Chrome browser ay nakikilala sa pamamagitan ng paggamit ng mga logo ng Google, ang pagkakaroon ng isang system para sa pagpapadala ng mga abiso sa kaganapan ng isang pag-crash, mga module para sa paglalaro ng protektadong nilalaman ng video (DRM), isang awtomatikong sistema ng pag-update, at paghahatid kapag naghahanap ng mga parameter ng RLZ. Ang susunod na release ng Chrome 91 ay naka-iskedyul para sa ika-25 ng Mayo.

Mga pangunahing pagbabago sa Chrome 90:

  • Ang lahat ng mga gumagamit ay pinagana na magbukas ng mga site bilang default sa pamamagitan ng HTTPS kapag nagta-type ng mga hostname sa address bar. Halimbawa, ang pagpasok sa host na "example.com" ay magiging default sa https://example.com, at kung may mga problema sa pagbubukas, ito ay babalik sa http://example.com. Ang setting na "chrome://flags#omnibox-default-typed-navigations-to-https" ay iminungkahi upang kontrolin ang paggamit ng "https://" bilang default.
  • Ang kakayahang magtalaga ng iba't ibang mga label sa mga bintana para sa kanilang visual na paghihiwalay sa desktop panel ay ipinatupad. Ang suporta para sa pagbabago ng pangalan ng window ay magpapasimple sa organisasyon ng trabaho kapag gumagamit ng hiwalay na mga window ng browser para sa iba't ibang mga gawain, halimbawa, kapag nagbubukas ng hiwalay na mga window para sa mga gawain sa trabaho, mga personal na interes, entertainment, mga naantalang materyales, atbp. Binago ang pangalan sa pamamagitan ng item na "Magdagdag ng pamagat ng window" sa menu ng konteksto na lalabas kapag nag-right-click ka sa isang walang laman na lugar sa tab bar. Pagkatapos baguhin ang pangalan sa application bar, sa halip na ang pangalan ng site mula sa aktibong tab, ang napiling pangalan ay ipinapakita, na maaaring maging kapaki-pakinabang kapag binubuksan ang parehong mga site sa iba't ibang mga window na naka-link sa magkahiwalay na mga account. Ang pagbubuklod ay nagpapatuloy sa pagitan ng mga session at sa pag-restart ang mga bintana ay maibabalik kasama ang mga napiling pangalan.
    Paglabas ng Chrome 90
  • Idinagdag ang kakayahang itago ang "Listahan ng Pagbasa" nang hindi kinakailangang baguhin ang mga setting sa "chrome://flags" ("chrome://flags#read-later"). Upang itago, maaari mo na ngayong gamitin ang opsyong "Ipakita ang Listahan ng Babasahin" sa ibaba ng menu ng konteksto na ipinapakita kapag nag-right-click ka sa bookmarks bar. Alalahanin na sa huling release, para sa ilang user, kapag nag-click sila sa isang asterisk sa address bar, bilang karagdagan sa button na Magdagdag ng Bookmark, lilitaw ang pangalawang button na Idagdag sa Reading List, at lilitaw ang menu ng Reading List sa kanang sulok ng ang bookmarks bar, na naglilista ng lahat ng mga nakaraang pahinang idinagdag sa listahan. Kapag binuksan mo ang isang pahina mula sa listahan, ito ay minarkahan bilang nabasa na. Ang mga pahina sa listahan ay maaari ding markahan bilang nabasa at hindi pa nababasa nang manu-mano o alisin sa listahan.
  • Nagdagdag ng suporta para sa pagse-segment ng network upang maprotektahan laban sa mga paraan ng pagsubaybay sa mga paggalaw ng user sa pagitan ng mga site batay sa pag-iimbak ng mga identifier sa mga lugar na hindi nilayon para sa permanenteng pag-imbak ng impormasyon ("Supercookies"). Dahil ang mga mapagkukunan sa isang cache ay naka-imbak sa isang karaniwang namespace, anuman ang pinagmulan ng domain, maaaring matukoy ng isang site kung ang isang mapagkukunan ay nilo-load mula sa isa pang site sa pamamagitan ng pagsuri kung ang mapagkukunan ay nasa cache. Nakabatay ang proteksyon sa paggamit ng Network Partitioning, ang esensya nito ay ang magdagdag ng karagdagang pagbubuklod ng mga entry sa domain kung saan binubuksan ang pangunahing page sa mga nakabahaging cache, na naglilimita sa saklaw ng cache para sa mga script ng pagsubaybay sa paggalaw lamang sa ang kasalukuyang site (ang script mula sa iframe ay hindi masusuri kung ang mapagkukunan ay na-load mula sa ibang site). Ang presyo ng pagse-segment ay isang pagbaba sa kahusayan sa pag-cache, na nagreresulta sa isang bahagyang pagtaas sa oras ng pag-load ng pahina (maximum ng 1.32%, ngunit para sa 80% ng mga site ng 0.09-0.75%).
  • Ang itim na listahan ng mga network port kung saan ang pagpapadala ng HTTP, HTTPS at FTP na mga kahilingan ay na-block ay idinagdag upang maprotektahan laban sa NAT slipstreaming attack, na nagbibigay-daan, kapag nagbubukas ng isang web page na espesyal na inihanda ng attacker sa browser, upang magtatag ng isang network koneksyon mula sa server ng umaatake sa anumang UDP o TCP port sa system ng user , sa kabila ng paggamit ng panloob na hanay ng address (192.168.xx, 10.xxx). Nagdagdag ng 554 (RTSP protocol) at 10080 (ginamit sa Amanda backup at VMWare vCenter) sa bilang ng mga ipinagbabawal na port. Na-block na ang mga port 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 at 6566.
  • Nagdagdag ng paunang suporta sa browser para sa mga dokumentong PDF na may mga form na XFA.
  • Para sa ilang mga user, isang bagong seksyon ng mga setting na "Mga Setting ng Chrome > Privacy at seguridad > Privacy sandbox" ay na-activate, na nagbibigay-daan sa iyong pamahalaan ang mga parameter ng FLoC API, na naglalayong matukoy ang kategorya ng mga interes ng user nang walang indibidwal na pagkakakilanlan at walang pagtukoy sa kasaysayan ng pagbisita sa mga partikular na site.
  • Nagbigay ng mas nauunawaang notification na may listahan ng mga pinapayagang pagkilos na ipinapakita kapag kumonekta ang isang user sa isang profile kung saan pinagana ang sentralisadong pamamahala.
  • Gumawa ng hindi gaanong mapanghimasok na interface ng kahilingan sa pahintulot. Ang mga kahilingan na malamang na hindi aprubahan ng user ay awtomatiko na ngayong na-block sa pagpapakita ng kaukulang indicator sa address bar, kung saan maaaring pumunta ang user sa interface para sa pamamahala ng mga pahintulot na may kaugnayan sa bawat site.
    Paglabas ng Chrome 90
  • Pinagana ang suporta para sa mga extension ng Intel CET (Intel Control-flow Enforcement Technology) para sa proteksyon ng hardware laban sa pagsasagawa ng mga pagsasamantalang binuo gamit ang mga diskarte sa return-oriented programming (ROP, Return-Oriented Programming).
  • Nagpatuloy ang trabaho sa pagsasalin ng browser sa paggamit ng inclusive na terminolohiya. Ang "master_preferences" na file ay pinalitan ng pangalan ng "initial_preferences" upang hindi makasakit sa damdamin ng mga gumagamit na napag-isip na ang salitang master ay isang pahiwatig ng nakaraang pagkaalipin ng kanilang mga ninuno. Upang mapanatili ang pagiging tugma, ang suporta para sa "master_preferences" ay mananatili sa browser nang ilang sandali. Noong nakaraan, tinanggal na ng browser ang paggamit ng mga salitang "whitelist", "blacklist" at "native".
  • Sa bersyon ng Android, kapag pinagana ang "Lite" traffic saving mode, mababawasan ang bitrate kapag nagda-download ng video kapag nakakonekta sa pamamagitan ng mga network ng mga mobile operator, na magbabawas sa mga gastos ng mga user na pinagana ang mga taripa na nakabatay sa trapiko. Nagbibigay din ang "Lite" mode ng compression ng mga larawang hiniling mula sa mga mapagkukunang magagamit ng publiko (hindi nangangailangan ng pagpapatunay) sa pamamagitan ng HTTPS.
  • Nagdagdag ng AV1 video format encoder, espesyal na na-optimize para sa paggamit sa mga video conference batay sa WebRTC protocol. Ang paggamit ng AV1 sa videoconferencing ay maaaring mapabuti ang kahusayan ng compression at magbigay ng kakayahang mag-broadcast sa mga channel na may bandwidth na 30 kbps.
  • Sa JavaScript, ang pamamaraang at() ay ipinatupad sa mga object ng Array, String, at TypedArrays, na nagbibigay-daan sa iyong gumamit ng relative indexing (ang kamag-anak na posisyon ay tinukoy bilang array index), kabilang ang pagtukoy ng mga negatibong halaga na nauugnay sa dulo ( halimbawa, ibabalik ng "arr.at(-1)" ang huling elemento ng array).
  • Sa JavaScript para sa mga regular na expression, ang property na ".indices" ay idinagdag, na naglalaman ng array na may mga posisyon sa pagsisimula at pagtatapos ng mga pangkat ng pagtutugma. Napo-populate lang ang property kapag ang regular na expression ay naisakatuparan gamit ang flag na "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 - lahat ng pangkat ng tugma // β†’ [0, 2] console.log(m.indices[1]); // 1 ang unang pangkat ng mga tugma // β†’ [0, 1] console.log(m.indices[2]); // 2 ang pangalawang pangkat ng mga tugma // β†’ [1, 2]
  • Na-optimize ang pagganap ng mga "super" na katangian (halimbawa, super.x) na gumagamit ng inline na cache. Ang pagganap ng paggamit ng "super" ay malapit na ngayon sa pag-access sa mga regular na property.
  • Ang pagtawag sa mga function ng WebAssembly mula sa JavaScript ay lubos na pinabilis dahil sa paggamit ng inline na deployment. Eksperimento pa rin ang pag-optimize na ito at nangangailangan ng paggana gamit ang flag na "--turbo-inline-js-wasm-calls".
  • Idinagdag ang WebXR Depth Sensing API, na nagbibigay-daan sa iyong matukoy ang distansya sa pagitan ng mga bagay sa kapaligiran ng user at ng device ng user, halimbawa, upang lumikha ng mas makatotohanang mga augmented reality na application. Alalahanin na ang WebXR API ay nagbibigay-daan sa iyong pag-isahin ang trabaho sa iba't ibang klase ng mga virtual reality device, mula sa mga nakatigil na 3D helmet hanggang sa mga solusyon batay sa mga mobile device.
  • Ang tampok na WebXR AR Lighting Estimation ay na-stabilize, na nagpapahintulot sa mga WebXR AR session na matukoy ang mga parameter ng ambient lighting upang bigyan ang mga modelo ng mas natural na hitsura at mas maayos na pagsasama sa kapaligiran ng user.
  • Ang Origin Trials mode (mga pang-eksperimentong feature na nangangailangan ng hiwalay na pag-activate) ay nagdagdag ng ilang bagong API na kasalukuyang limitado sa Android platform. Ipinahihiwatig ng Origin Trial ang kakayahang magtrabaho kasama ang tinukoy na API mula sa mga application na na-download mula sa localhost o 127.0.0.1, o pagkatapos magrehistro at makatanggap ng espesyal na token na may bisa sa limitadong oras para sa isang partikular na site.
    • Ang getCurrentBrowsingContextMedia() na pamamaraan, na ginagawang posible na ayusin ang pagkuha ng isang MediaStream video stream na sumasalamin sa mga nilalaman ng kasalukuyang tab. Hindi tulad ng katulad na getDisplayMedia() method, kapag tumawag ka getCurrentBrowsingContextMedia() , isang simpleng dialog ang ipapakita sa user upang kumpirmahin o harangan ang pagpapatakbo ng video transfer gamit ang nilalaman ng tab.
    • Ang Insertable Streams API, na ginagawang posible na manipulahin ang mga raw media stream na ipinapasa sa MediaStreamTrack API, gaya ng data ng camera at mikropono, mga resulta ng screen capture, o intermediate codec decoding data. Ginagamit ang mga interface ng WebCodec upang kumatawan sa mga raw na frame, pagkatapos nito ay nabuo ang isang stream na katulad ng nabuo ng WebRTC Insertable Streams API batay sa RTCPeerConnections. Sa praktikal na bahagi, binibigyang-daan ka ng bagong API na magpatupad ng functionality gaya ng paglalapat ng mga pamamaraan ng machine learning para matukoy o i-annotate ang mga bagay sa real time, o magdagdag ng mga effect gaya ng background clipping bago mag-encode o pagkatapos mag-decode ng isang codec.
    • Ang kakayahang mag-pack ng mga mapagkukunan sa mga pakete (Web Bundle) upang ayusin ang mas mahusay na pag-load ng isang malaking bilang ng mga nauugnay na file (mga istilo ng CSS, JavaScript, mga larawan, mga iframe). Kabilang sa mga pagkukulang sa umiiral na suporta sa package para sa mga JavaScript file (webpack) na sinusubukang alisin ng Web Bundle: ang package mismo ay maaaring tumira sa HTTP cache, ngunit hindi ang mga bahaging bahagi nito; ang compilation at execution ay maaari lamang magsimula pagkatapos na ganap na ma-download ang package; Ang mga karagdagang mapagkukunan tulad ng CSS at mga larawan ay dapat na naka-encode bilang mga string ng JavaScript, na nagreresulta sa pagtaas ng laki at isa pang hakbang sa pag-parse.
    • Suporta para sa paghawak ng exception sa WebAssembly.
  • Pinatatag ang Declarative Shadow DOM API para gumawa ng mga bagong root branch sa Shadow DOM, halimbawa para i-decouple ang isang imported na third-party na istilo ng elemento at ang nauugnay na DOM na highlight nito mula sa pangunahing dokumento. Nagbibigay-daan sa iyo ang iminungkahing declarative API na i-bypass ang mga HTML-only na DOM branch nang hindi kinakailangang magsulat ng JavaScript code.
  • Ang aspect-ratio CSS property, na nagbibigay-daan sa iyong tahasang itali ang aspect ratio sa anumang elemento (upang awtomatikong kalkulahin ang nawawalang laki kapag tinukoy mo lang ang taas o lapad), ay may kakayahang mag-interpolate ng mga halaga sa panahon ng animation (smooth transition from isang aspect ratio sa isa pa).
  • Idinagdag ang kakayahang ipakita ang estado ng mga custom na elemento ng HTML (custom na elemento) sa CSS sa pamamagitan ng ":state()" pseudo-class. Ang pag-andar ay ipinatupad sa pamamagitan ng pagkakatulad na may kakayahan ng mga karaniwang elemento ng HTML na baguhin ang kanilang estado depende sa pakikipag-ugnayan ng user.
  • Sinusuportahan na ngayon ng 'appearance' CSS property ang 'auto' value, na itinakda bilang default para sa At , at sa Android platform bilang karagdagan para sa , , , At .
  • Ang suporta para sa "clip" na halaga ay idinagdag sa "overflow" na pag-aari ng CSS, kapag nakatakda, ang nilalamang lampas sa bloke ay pinuputol sa hangganan ng pinapayagang pag-apaw ng bloke nang walang posibilidad na mag-scroll. Ang halaga na tumutukoy kung gaano kalayo ang nilalaman ay maaaring lumampas sa aktwal na hangganan ng block bago itakda ang clipping sa pamamagitan ng bagong "overflow-clip-margin" na CSS property. Kung ikukumpara sa "overflow: hidden", ang paggamit ng "overflow: clip" ay nagbibigay-daan para sa mas mahusay na pagganap.
    Paglabas ng Chrome 90Paglabas ng Chrome 90
  • Ang Feature-Policy HTTP header ay pinalitan ng bagong Permissions-Policy header para kontrolin ang delegasyon ng mga pribilehiyo at paganahin ang mga advanced na feature, na kinabibilangan ng suporta para sa structured field values ​​(halimbawa, maaari mo na ngayong tukuyin ang "Permissions-Policy: geolocation= ()" sa halip na "Tampok- Patakaran: geolocation 'wala'").
  • Pinalakas na proteksyon laban sa paggamit ng Protocol Buffers upang magsagawa ng mga pag-atake na dulot ng speculative execution ng mga tagubilin sa mga processor. Ipinapatupad ang proteksyon sa pamamagitan ng pagdaragdag ng "application/x-protobuffer" na uri ng MIME sa listahan ng hindi kailanman pinakinggan (nasinghot) na mga uri ng MIME, na pinoproseso sa pamamagitan ng mekanismo ng Cross-Origin-Read-Blocking. Noong nakaraan, ang uri ng MIME na "application/x-protobuf" ay kasama na sa naturang listahan, ngunit ang "application/x-protobuffer" ay naiwan.
  • Ang File System Access API ay nagpapatupad ng kakayahang ilipat ang kasalukuyang posisyon sa isang file sa pagtatapos nito, na pinupunan ang nagresultang gap ng mga zero sa kasunod na pagsusulat sa pamamagitan ng FileSystemWritableFileStream.write() na tawag. Binibigyang-daan ka ng feature na ito na lumikha ng mga kalat-kalat na file na may mga voids at lubos na pinapasimple ang organisasyon ng pagsulat ng mga stream sa isang file na may out-of-order na pagtanggap ng mga bloke ng data (halimbawa, ito ay ginagawa sa BitTorrent).
  • Ang StaticRange constructor ay idinagdag sa pagpapatupad ng magaan na mga uri ng Range na hindi nangangailangan ng pag-update ng lahat ng nauugnay na bagay sa tuwing nagbabago ang DOM tree.
  • Ipinatupad ang kakayahang tukuyin ang mga parameter ng lapad at taas para sa mga elemento tinukoy sa loob ng elemento . Binibigyang-daan ka ng feature na ito na kalkulahin ang aspect ratio para sa mga elemento , sa pamamagitan ng pagkakatulad sa kung paano ito ginagawa para sa , At .
  • Ang hindi karaniwang suporta para sa Mga Channel ng Data ng RTP ay inalis mula sa WebRTC, at sa halip ay inirerekomenda na gumamit ng mga channel ng data na batay sa SCTP.
  • Ang mga katangian ng navigator.plugins at navigator.mimeTypes ay palaging nagbabalik ng walang laman na halaga (hindi na kailangan ang mga katangiang ito pagkatapos na ihinto ang Flash).
  • Malaking bahagi ng maliliit na pagpapabuti ang ginawa sa mga tool ng web developer at nagdagdag ng bagong tool sa pag-debug ng flexbox CSS.
    Paglabas ng Chrome 90

Bilang karagdagan sa mga inobasyon at pag-aayos ng bug, 37 mga kahinaan ang naayos sa bagong bersyon. Marami sa mga kahinaan ang natukoy bilang resulta ng mga automated na tool sa pagsubok na AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer at AFL. Walang natukoy na kritikal na isyu na nagbibigay-daan sa pag-bypass sa lahat ng antas ng proteksyon ng browser at pag-execute ng code sa system sa labas ng sandbox environment. Bilang bahagi ng Vulnerability Reward Program para sa kasalukuyang release, nagbayad ang Google ng 19 na parangal na nagkakahalaga ng $54000 (isang $20000 na parangal, isang $10000 na parangal, dalawang $5000 na parangal, tatlong $3000 na parangal, isang $2000 na parangal, isang $1000 na parangal, at apat na $500) .). Ang halaga ng 6 na reward ay hindi pa natutukoy.

Hiwalay, mapapansin na kahapon, pagkatapos ng pagbuo ng corrective release 89.0.4389.128, ngunit bago ang paglabas ng Chrome 90, isa pang pagsasamantala ang na-publish na gumamit ng bagong 0-araw na kahinaan na hindi naayos sa Chrome 89.0.4389.128. Hindi pa malinaw kung ang problemang ito ay naayos na sa Chrome 90. Tulad ng sa unang kaso, ang pagsasamantala ay sumasaklaw lamang sa isang kahinaan at hindi naglalaman ng code upang i-bypass ang sandbox isolation Notepad ay tumatakbo sa Windows platform). Ang kahinaan na nauugnay sa bagong pagsasamantala ay nakakaapekto sa teknolohiya ng WebAssembly.

Pinagmulan: opennet.ru

Magdagdag ng komento