Рэліз Chrome 101

Кампанія Google прадставіла рэліз web-браўзэра Chrome 101. Адначасова даступны стабільны выпуск вольнага праекта Chromium, які выступае асновай Chrome. Браўзэр Chrome адрозніваецца ад Chromium выкарыстаннем лагатыпаў Google, наяўнасцю сістэмы адпраўкі апавяшчэнняў у выпадку краху, модулямі для прайгравання абароненага ад капіявання відэакантэнту (DRM), сістэмай аўтаматычнай усталёўкі абнаўленняў, сталым уключэннем Sandbox-ізаляцыі, пастаўкай ключоў да Google API і перадачай пры пошуку RL параметраў. Для тых, каму неабходна больш часу на абнаўленне, асобна падтрымліваецца галінка Extended Stable, якая суправаджаецца 8 тыдняў, у якой сфарміравана абнаўленне для мінулага выпуску Chrome 100. Наступны выпуск Chrome 102 запланаваны на 24 траўня.

Асноўныя змены ў Chrome 101:

  • Дададзена функцыя Side Search, якая дае магчымасць прагледзець вынікі пошуку ў бакавой панэлі адначасова з праглядам іншай старонкі (у адным акне адначасова можна бачыць як змесціва старонкі, так і вынік звароту да пошукавай сістэмы). Пасля пераходу на нейкі сайт са старонкі з вынікамі пошуку ў Google перад полем уводу ў адрасным радку з'яўляецца піктаграма з літарай "G", пры кліку на якую адчыняецца бакавая панэль з вынікамі раней распачатага пошуку. Па змаўчанні функцыя ўключаная не на ўсіх сістэмах, для ўключэння можна выкарыстоўваць наладу "chrome://flags/#side-search".
    Рэліз Chrome 101
  • У адрасным радку Omnibox рэалізавана папераджальная адмалёўка (prerendering) змесціва рэкамендацый, прапанаваных па меры ўводу. Раней для паскарэння пераходу з адраснага радка найболей верагодныя для пераходу рэкамендацыі падгружаліся не чакаючы кліку карыстача, выкарыстаючы выклік Prefetch. Цяпер, апроч загрузкі, яны яшчэ і адмалёўваюцца ў буферы (у тым ліку выконваюцца скрыпты і фармуецца дрэва DOM), што дазваляе забяспечыць імгненнае адлюстраванне рэкамендацый пасля кліку. Для кіравання папераджальнай адмалёўкай прапанаваны налады "chrome://flags/#enable-prerender2", "chrome://flags/#omnibox-trigger-for-prerender2" і "chrome://flags/#search-suggestion-for- prerender2».
  • Падрэзана інфармацыя ў HTTP-загалоўку User-Agent і JavaScript параметрах navigator.userAgent, navigator.appVersion і navigator.platform. У загалоўку пакінуты толькі звесткі аб назве браўзэра, значнай версіі браўзэра (складнікі версіі MINOR.BUILD.PATCH заменены на 0.0.0), платформе і тыпе прылады (мабільны тэлефон, ПК, планшэт). Для атрымання дадатковых дадзеных, такіх як дакладная версія і пашыраныя дадзеныя аб платформе, неабходна выкарыстоўваць API User Agent Client Hints. Для сайтаў, якім новай інфармацыі недастаткова і якія яшчэ не гатовы перайсці на User Agent Client Hints, да мая 2023 года прадастаўлена магчымасць вяртання поўнага User-Agent.
  • Змененыя паводзіны функцыі setTimeout пры перадачы нулявога аргументу, які вызначае затрымку выкліку. Пачынальна з Chrome 101 пры ўказанні "setTimeout(…, 0)" код будзе выклікацца адразу, без затрымкі ў 1мс, як таго патрабуе спецыфікацыя. Для паўторных укладзеных выклікаў setTimeout ужываецца затрымка ў 4 мс.
  • У версіі для платформы Android рэалізавана падтрымка запыту паўнамоцтваў на вывад апавяшчэнняў (у Android 13 для адлюстравання апавяшчэнняў прыкладанне павінна мець паўнамоцтва «POST_NOTIFICATIONS», без якога адпраўка апавяшчэнняў будзе блакавацца). Пры запуску Chrome у асяроддзі Android 13 браўзэр зараз будзе выводзіць запыт атрымання паўнамоцтваў на выснову апавяшчэнняў.
  • Выдалена магчымасць выкарыстання API WebSQL у іншых скрыптах. Па змаўчанні блакіроўка WebSQL у скрыптах, загружаных не з бягучага сайта, была ўключаная ў Chrome 97, але была пакінутая опцыя для адключэння дадзеных паводзін. У Chrome 101 гэтая опцыя выдаленая. У далейшым плануецца паступова поўнасцю спыніць падтрымку WebSQL, незалежна ад кантэксту выкарыстання. Замест WebSQL рэкамендуецца выкарыстоўваць API Web Storage і Indexed Database. Апрацоўшчык WebSQL заснаваны на кодзе SQLite і мог выкарыстоўвацца зламыснікамі для эксплуатацыі ўразлівасцяў у SQLite.
  • Выдалены імёны палітык для прадпрыемстваў (chrome://policy), якія змяшчаюць неінклюзіўныя тэрміны. Пачынальна з Chrome 86 для паказаных палітык прапанаваны замены, у якіх выкарыстоўваецца інклюзіўная тэрміналогія. Праведзена чыстка такіх тэрмінаў, як "whitelist", "blacklist", "native" і "master". Напрыклад, палітыка URLBlacklist пераназваная ў URLBlocklist, AutoplayWhitelist у AutoplayAllowlist, а NativePrinters у Printers.
  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) пакуль толькі ў зборках для платформы Android пачалося тэставанне API Federated Credential Management (FedCM), які дазваляе ствараць аб'яднаныя сэрвісы ідэнтыфікацыі, якія забяспечваюць захаванне прыватнасці і працуюць без механізмаў міжсайтавага адсочвання, такіх як . Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
  • Стабілізаваны і прапанаваны ўсім жадаючым механізм Priority Hints, які дазваляе задаць важнасць таго ці іншага загружанага рэсурсу праз указанне дадатковага атрыбута "importance" у тэгах, такіх як iframe, img і link. Атрыбут можа прымаць значэнні "auto" і "low", and "high", якія ўплываюць на парадак загрузкі браўзэрам вонкавых рэсурсаў.
  • Дададзена ўласцівасць AudioContext.outputLatency, праз якое можна пазнаць звесткі аб прагназуемай затрымцы перад высновай гуку (затрымка паміж запытам гуку і пачаткам апрацоўкі атрыманых дадзеных прыладай высновы гуку).
  • Дададзена CSS-уласцівасць font-palette і правіла @font-palette-values, якія дазваляюць абраць палітру з каляровага шрыфта або вызначыць уласную палітру. Напрыклад, паказаныя магчымасці могуць выкарыстоўвацца для прывядзення каляровых сімвальных шрыфтоў або emoji да колеру афармлення змесціва або для ўключэння цёмнага або светлага рэжыму для шрыфта.
  • Дададзена CSS-функцыя hwb(), якая прадстаўляе альтэрнатыўны метад указання колераў sRGB у фармаце HWB (Hue, Whiteness, Blackness), падобным на фармат HSL (Hue, Saturation, Lightness), але прасцейшым для чалавечага ўспрымання.
  • У метадзе window.open() указанне ўласцівасці popup у радку windowFeatures, без прысваення значэння (г.зн. калі проста паказаны popup, а не popup=true) зараз апрацоўваецца як уключэнне адкрыцця мініятурнага ўсплывальнага акна (аналаг «popup=true») замест прысваення па змаўчанні значэння «false», што было нелагічна і ўводзіла распрацоўнікаў у памылку.
  • У API MediaCapabilities, які прадстаўляе інфармацыю аб магчымасцях прылады і браўзэра па дэкадаванні мультымедыйнага кантэнту (якія падтрымліваюцца кодэкі, профілі, бітрэйты і дазволы), дададзеная падтрымка струменяў WebRTC.
  • Прапанавана трэцяя версія API Secure Payment Confirmation, які прадстаўляе прылады для дадатковага пацверджання здзяйснянай плацежнай аперацыі. У новай версіі дададзена падтрымка ідэнтыфікатараў, патрабавальных уводу дадзеных, вызначэнні піктаграмы для індыкацыі збою праверкі, а таксама апцыянальнай уласцівасці payeeName.
  • У API USBDevice дададзены метад forget() для адклікання раней прадстаўленых карыстачом паўнамоцтваў для доступу да USB-прылады. Акрамя таго, асобнікі USBConfiguration, USBInterface, USBAlternateInterface і USBEndpoint зараз роўныя пры строгім параўнанні («===», паказваюць на адзін аб'ект), калі яны вернутыя для аднаго і таго ж аб'екта USBDevice.
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. Прадастаўлена магчымасць імпарту і экспарту ў фармаце JSON запісаных дзеянняў карыстальніка (прыклад). У web-кансолі і інтэрфейсе прагляду кода палепшана вылічэнне і адлюстраванне прыватных уласцівасцяў. Дададзена падтрымка працы з каляровай мадэллю HWB. У панэлі CSS дададзена магчымасць прагляду каскадных пластоў, якія задаюцца пры дапамозе правіла @layer.
    Рэліз Chrome 101

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 30 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Крытычных праблем, якія дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні, не выяўлена. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 25 прэмій на суму 81 тысяча даляраў ЗША (адна прэмія $10000, тры прэміі $7500, тры прэміі $7000, адна прэмія $6000, дзве прэміі $5000, чатыры прэміі прэміі $2000 і адна прэмія $1000). Памер 500 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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