Рэліз Chrome 85

Кампанія Google прадставіла рэліз web-браўзэра Хром 85. Адначасова даступны стабільны выпуск свабоднага праекта Хром, Які выступае асновай Chrome. Браўзэр Chrome адрозніваецца выкарыстаннем лагатыпаў Google, наяўнасцю сістэмы адпраўкі апавяшчэнняў у выпадку краху, магчымасцю загрузкі модуля Flash па запыце, модулямі для прайгравання абароненага відэакантэнту (DRM), сістэмай аўтаматычнай усталёўкі абнаўленняў і перадачай пры пошуку RLZ-параметраў. Наступны выпуск Chrome 86 запланаваны на 6 кастрычніка.

Асноўныя змены в хром 85:

  • Дададзена магчымасць згортвання груп укладак. Укладкі аб'ядноўваюцца ў групы пры дапамозе кантэкстнага меню і могуць быць злучаны з вызначаным колерам і пазнакай. Пры кліку на пазнацы групы злучаныя з ёй укладкі зараз хаваюцца і замест іх застаецца адна пазнака. Паўторны клік на пазнацы прыбірае ўтойванне.

    Рэліз Chrome 85

    Рэліз Chrome 85

  • Рэалізаваны прадпрагляд змесціва ўкладак. Пры навядзенні курсора на кнопку ўкладкі зараз паказваецца эскіз змешчанай ва ўкладцы старонкі. Магчымасць пакуль актываваная не для ўсіх карыстальнікаў і можа быць уключана пры дапамозе наладкі "chrome://flags/#tab-hover-cards".

    Рэліз Chrome 85

  • Дададзена магчымасць захавання адрэдагаваных PDF-формаў, а таксама прапанаваны налады "chrome://flags#pdf-viewer-update" і "chrome://flags/#pdf-two-up-view" для эксперыментаў з новым інтэрфейсам прагляду PDF-дакументаў.
  • Дададзена магчымасць абмену спасылкамі пры дапамозе QR-кодаў. Для генерацыі QR-кода для бягучай старонкі ў адрасны радок змешчана спецыяльная піктаграма, якая з'яўляецца пры кліку на адрасны радок. Магчымасць пакуль актываваная не для ўсіх карыстачоў і можа быць уключаная пры дапамозе налады "chrome://flags/#sharing-qr-code-generator".

    Рэліз Chrome 85

  • На старонцы about:flags з'явілася опцыя "Omnibox UI Hide Steady-State URL Path, Query and Ref" ("chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref- on-interaction»), якая дазваляе адключыць адлюстраванне элементаў шляху і параметраў запыту ў адрасным радку, пакінуўшы бачным толькі дамен сайта. Утойванне ажыццяўляецца пры пачатку ўзаемадзеяння са старонкай (падчас загрузкі і пакуль карыстач не пачаў пракрутку паказваецца поўны URL). Пасля ўтойвання для прагляду поўнага URL прапануецца клікнуць на адрасным радку. Таксама даступная опцыя "chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover" для паказу поўнага URL пры навядзенні курсора. Даступная ў кантэкстным меню настройка "Заўсёды паказваць URL цалкам", адмяняе ўтойванне "https://", "www.", шляхоў і параметраў. Па змаўчанні ўтойванне пакуль актывавана толькі для невялікага працэнта карыстальнікаў. У якасці матыву змены паказваецца жаданне абараніць карыстачоў ад фішынгу, які маніпулюе параметрамі ў URL.
    Рэліз Chrome 85

  • У планшэтным рэжыме для прылад з сэнсарнымі экранамі ўключаная гарызантальная рух па адчыненых укладках, пры якой акрамя загалоўкаў на ўкладках адлюстроўваюцца буйныя эскізы злучаных са ўкладкамі старонак. Укладкі можна перамяшчаць і перагрупоўваць экраннымі жэстамі. Адлюстраванне эскізаў уключаецца і выключаецца спецыяльнай кнопкай, размешчанай побач з адрасным радком і аватарам карыстальніка. Для адключэння рэжыму прадугледжаны налады "chrome://flags/#webui-tab-strip" і "chrome://flags/#scrollable-tabstrip".

    Рэліз Chrome 85

  • У версіі для Android пры наборы ў адрасным радку ў спісе прапанаваных старонак забяспечаны выснова падказкі для хуткага пераходу да ўжо адчыненых укладак.
    Рэліз Chrome 85

  • У версіі для Android у кантэкстым меню спасылак, якое з'яўляецца пры працяглым утрыманні дотыку да спасылкі, дададзены пазнакі для вылучэння хуткіх старонак. Хуткасць вызначаецца на аснове метрык Асноўныя вэб-жыццёвыя, якія ўлічваюць зводныя паказчыкі часу загрузкі, спагадлівасці і стабільнасці змесціва.
    Рэліз Chrome 85

  • Забяспечана блакіраванне небяспечнай загрузкі (без шыфравання) выкананых файлаў і дададзеная выснова папярэджанняў пры небяспечнай загрузцы архіваў (zip, iso і да т.п.). У наступным выпуску чакаецца блакаванне архіваў і вывад папярэджання для дакументаў (docx, pdf і да т.п.). У далейшым паступова плануецца цалкам спыніць падтрымку загрузкі файлаў без ужывання шыфравання. Блакаванне рэалізаваная, бо загрузка файлаў без шыфравання можа выкарыстоўвацца для здзяйснення шкоднасных дзеянняў шляхам падмены змесціва падчас MITM-нападаў.
  • Уключана па змаўчанні падтрымка фармату малюнкаў AVIF (AV1 Image Format), у якім задзейнічаны тэхналогіі ўнутрыкадравага сціску з фармату кадавання відэа AV1. Кантэйнер для распаўсюджвання сціснутых дадзеных у AVIF цалкам аналагічны HEIF. AVIF падтрымлівае як выявы ў HDR (High Dynamic Range) і каляровай прасторы Wide-gamut, так і ў стандартным дынамічным дыяпазоне (SDR).
  • Пры кампіляцыі зборак для Windows і macOS па змаўчанні пры выкліку кампілятараў MSVC і Clang ўключаны аптымізацыі на аснове вынікаў прафілявання кода (PGO - Profile-guided optimization), якія дазваляюць генераваць больш аптымальны код на аснове аналізу асаблівасцяў выканання праграмы. Уключэнне PGO дало магчымасць паскорыць загрузку ўкладак прыблізна на 10% (паскарэнне праходжання тэсту Speedometer 2.0 у macOS на 7.7%, а ў Windows на 11.4/3.9%). Спагадлівасць інтэрфейсу павялічылася ў macOS на 7.3%, а ў Windows на XNUMX%.
  • Дададзены эксперыментальны рэжым зразання актыўнасці фонавых укладак («Tab Throttling»), даступны праз наладу «chrome://flags##intensive-wake-up-throttling» (уключэнне па змаўчанні чакаецца ў Chrome 86). Пры ўключэнні рэжыму перадача кіравання фонавым укладкам (TaskQueues) памяншаецца да 1 выкліку ў хвіліну, калі старонка знаходзіцца ў фоне больш за 5 хвілін.
  • Для ўсіх катэгорый карыстальнікаў актываваны рэжым зніжэння спажыванне рэсурсаў CPU, калі акно браўзэра не знаходзіцца ў поле бачнасці карыстальніка. Chrome правярае не перакрываецца ці акно браўзэра іншымі вокнамі і выключае адмалёўку пікселяў у абласцях перакрыцця.
  • Узмоцнена абарона ад загрузкі змешанага мультымедыйнага кантэнту (калі на HTTPS-старонцы загружаюцца рэсурсы па пратаколе http://). На старонках, адчыненых па HTTPS, рэалізаваная аўтаматычная замена спасылак "http://" на "https://" у блоках, звязаных з загрузкай малюнкаў (раней замяніліся скрыпты і iframe, гукавыя файлы і відэа). Калі малюнак недаступны па https, то яго загрузка блакуецца (уручную можна адзначыць блакаванне праз меню, даступнае праз сімвал замка ў адрасным радку).
  • Да TLS-сертыфікатаў, выпісаным пачынаючы з 1 верасня 2020 года, будзе прымяняцца новае абмежаванне на тэрмін дзеяння - час жыцця дадзеных сертыфікатаў не зможа перавышаць 398 дзён (13 месяцаў). Аналагічныя абмежаванні ўжытыя ў Firefox і Safari. Для сертыфікатаў, атрыманых да 1 верасня, давер будзе захаваны, але абмежаваны 825 днямі (2.2 гады).
  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) дададзена некалькі новых API. Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
    • Прапанавана канцэпцыя парталаў для забеспячэння бясшвоўнай навігацыі паміж сайтамі і ўстаўкі адной старонкі ў іншую для прадпрагляду змесціва перад пераходам. Прапанаваны новы тэг , які дазваляе адлюстраваць іншую старонку ў форме ўстаўкі, пры фокусе на якую, паказаная ва ўстаўцы старонка будзе пераведзена ў стан асноўнага дакумента, усярэдзіне якога дапушчаецца рух. У адрозненне ад iframe устаўка цалкам ізаляваная ад базавай старонкі і апрацоўваецца як асобны дакумент.
    • API Fetch Upload Streaming, які дазваляе ажыццяўляць fetch-запыты з загрузкай змесціва ў форме струменя ReadableStream (раней запыт патрабаваў поўнай гатовасці змесціва, а зараз можна пачаць адпраўляць дадзеныя ў форме струменя, не чакаючы поўнай гатовасці цела запыту). Напрыклад, web-дадатак можа пачаць адпраўляць дадзеныя web-формы як толькі карыстач пачаў набіраць тэкст у поле ўводу і калі набор будзе завершаны дадзеныя праз fetch() ужо будуць адпраўленыя. У тым ліку праз новы API можна перадаваць гукавыя і відэа дадзеныя, якія генерыруюцца на баку кліента.
    • Прапанаваны API Declarative Shadow DOM для стварэння новых каранёвых галінак у Shadow DOM, напрыклад каб аддзяліць імпартуемы іншы стыль элемента і звязаную з ім падветку DOM ад асноўнага дакумента. Прапанаваны дэкларатыўны API дазваляе абыйсціся для адмацавання галінак DOM толькі HTML без неабходнасці напісання кода на JavaScript.
    • Дададзена ўласцівасць RTCRtpEncodingParameters.adaptivePtime, якое дазваляе адпраўніку RTC-струменяў (real-time communication) кіраваць уключэннем адаптыўнага механізму адпраўкі пакетаў.
    • Спрошчана прадастаўленне сталага сховішча для ўжо ўсталяваных прыкладанняў PWA (Progressive Web Apps) і TWA (Trusted Web Activities)
      Дадатку дастаткова выклікаць метад navigator.storage.persist() і пастаяннае сховішча будзе прадастаўлена аўтаматычна.

  • Рэалізавана новае CSS-правіла @property, якое дазваляе рэгістраваць уласныя CSS-уласцівасці з атрыманнем у спадчыну, праверкай тыпаў і значэннямі па змаўчанні. Дзеянне @property аналагічнае раней дададзенаму метаду registerProperty().
  • Для сістэм з АС Windows прадстаўлена магчымасць выкарыстання метаду getInstalledRelatedApps() для вызначэння ўстаноўкі PWA-прыкладанняў. Раней гэты мэта працаваў толькі на платформе Android.
  • Для настольных сістэм рэалізавана падтрымка ярлыкоў прыкладанняў, якія дазваляюць даць хуткі доступ да запатрабаваных тыпавых дзеянняў у дадатку. Для стварэння цэтлікаў дастаткова дадаць элементы ў маніфест web-прыкладанні ў фармаце PWA (Progressive Web Apps). Раней цэтлікі прыкладанняў былі даступныя толькі на платформе Android.
  • Паведамленні CSS-ўласцівасць content-visibility для кіравання бачнасцю змесціва для аптымізацыі адмалёўкі. Пры ўсталёўцы значэння 'auto' бачнасць вызначаецца браўзэрам на падставе блізкасці элемента да мяжы бачнай вобласці. Значэнне 'hidden' дазваляе цалкам кіраваць адлюстраваннем элемента са скрыптоў.
  • Паведамленні CSS-ўласцівасць counter-set для ўстаноўкі пэўнага значэння для існуючых лічыльнікаў. Новае CSS-уласцівасць дапаўняе сабой раней даступныя ўласцівасці counter-reset і counter-increment, якія прымяняюцца для стварэння новага лічыльніка або павелічэння існуючага.
  • Дададзена CSS-уласцівасць 'page', якое адлюстроўвае старонку пры выснове на друк, а таксама ўласцівасць 'page-orientation' для атрымання інфармацыі аб арыентацыі старонкі ('upright', 'rotate-left' і 'rotate-right'). Рэалізавана падтрымка звароту да старонак па імёнах, напрыклад "@page foobar {}".
  • Рэалізаваны API Час мерапрыемства для вымярэння затрымак падзеі да і пасля загрузкі старонкі.
  • У падзеі leavepictureinpicture зараз перадаецца спасылка на pictureInPictureWindow для доступу да акна ў рэжыме Picture-in-Picture.
  • Пры запаўненні загалоўка Referrer па змаўчанні зараз ўжываецца правіла strict-origin-when-cross-origin (адпраўляць Referrer абрэзаным на іншыя хасты, з якіх загружаюцца рэсурсы) замест no-referrer-when-downgrade (Referrer не запаўняецца пры звароце з HTTPS на HTTP, але перадаецца пры загрузцы рэсурсаў па HTTPS) .
  • У API WebAuthn прапанаваны новыя метады getPublicKey(), getPublicKeyAlgorithm() і getAuthenticatorData().
  • У WebAssembly дададзена падтрымка імпарту і экспарту 64-разрадных цэлых параметраў функцыі, выкарыстоўваючы JavaScript-тып BigInt.
  • У WebAssembly рэалізавана пашырэнне Multi-value, якое дазваляе функцыі вяртаць больш за аднаго значэння.
  • Пачатковы (baseline) кампілятар Liftoff для WebAssembly задзейнічаны для ўсіх архітэктур і платформаў, а не толькі для сістэм Intel. Ключавое адрозненне Liftoff ад раней ужывальнага кампілятара TurboFan у тым, што Liftoff накіраваны на дасягненне найбольшай хуткасці пачатковай кампіляцыі, коштам нізкай прадукцыйнасці генераванага кода. Liftoff значна прасцей TurboFan і генеруе гатовы для запуску машынны код вельмі хутка, што дазваляе амаль адразу прыступіць да яго выканання, звядучы затрымку ад кампіляцыі да мінімуму. Для паскарэння чарнавога кода паралельна запускаецца фаза аптымізуе перакампілявання, якая выконваецца з выкарыстаннем кампілятара Turbofan. Пасля гатоўнасці аптымізаваных машынных інструкцый, пачатковы чарнавы варыянт замяняецца на хутчэйшы код. У суме, за кошт зніжэння затрымкі перад пачаткам выканання, ужыванне Liftoff прывяло да павелічэння прадукцыйнасці тэставага набору WebAssembly прыкладна на 20%.
  • У JavaScript дададзены новыя аператары лагічнага прысваення: "??=", "&&=" і "||=". Аператар "x? = y" выконвае прысваенне, толькі калі "x" прымае значэнне null або undefined. Аператар "x ||= y" выконвае прысваенне, толькі калі "x" мае значэнне FALSE, а ў "x &&= y" - TRUE.
  • Дададзены метад String.prototype.replaceAll(), які вяртае новы радок (зыходны радок не змяняецца), у якім на падставе зададзенага шаблону выкананы замены ўсіх супадзенняў. Шаблоны могуць быць як простымі маскамі, так і рэгулярнымі выразамі.
  • Рэалізаваны метад Promise.any(), які вяртае першы выкананы Promise са спісу.
  • Спынена дзеянне маніфеста AppCache (тэхналогія для арганізацыі працы web-прыкладанні ў offline-рэжыме). У якасці прычыны называецца жаданне пазбавіцца ад аднаго з вектараў для здзяйснення нападаў, звязаных з міжсайтавых скрыптынгам. Замест AppCache рэкамендуецца выкарыстоўваць API Кэш.
  • Забаронена перадача Cookie у рэжыме SameSite=None для злучэнняў без шыфравання. Aтрыбут SameSite паказваецца ў загалоўку Set-Cookie для кіравання перадачай Cookie і па змаўчанні выстаўлены ў значэнне "SameSite=Lax", якое абмяжоўвае адпраўку Cookie для міжсайтавых субзапытаў, такіх як запыт малюнка ці загрузка кантэнту праз iframe з іншага сайта.
    Сайты могуць перавызначыць ужывальны па змаўчанні рэжым SameSite, відавочна выстаўляючы пры ўсталёўцы Cookie значэнне SameSite=None. Значэнне SameSite=None для Cookie зараз можа выстаўляцца толькі ў рэжыме Secure, які дзейнічае для злучэнняў праз HTTPS.

  • У інструментах для web-распрацоўшчыкаў дададзена падтрымка рэдагавання стыляў, створаных фрэймворкамі CSS-in-JS пры дапамозе API CSSOM (CSS Object Model), а таксама стыляў, дададзеных з JavaScript. Панэль аўдыту абноўлена да выпуску Маяк 6.0, у якім дададзены новыя метрыкі Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) і Total Blocking Time (TBT).

    Рэліз Chrome 85

  • У панэлі ацэнкі прадукцыйнасці адлюстравана інфармацыя аб кэшаванні вынікаў кампіляцыі JavaScript. У выпадку навігацыі карыстальніка па старонцы ў шкале забяспечаны паказ часу адноснае пачаткі навігацыі, а не пачаткі запісы.

    Рэліз Chrome 85

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 20 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, Ачышчальнік памяці, Цэласнасць патоку кіравання, LibFuzzer и AFL. Крытычных праблем, якія дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні, не выяўлена. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 14 прэмій на суму 10000 даляраў ЗША (адна прэмія $5000, тры прэміі $1000 і чатыры прэміі $500). Памер 6 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

Дадаць каментар