Рэліз Chrome 77

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

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

  • Спынена асобная пазнака сайтаў з сертыфікатамі ўзроўню EV (Extended Validation). Інфармацыя аб ужыванні EV-сертыфікатаў зараз адлюстроўваецца толькі ў выпадальным меню, якое паказваецца пры кліку на значок абароненага злучэння. Назва праверанай які сведчыць цэнтрам кампаніі, да якой прывязаны EV-сертыфікат, у адрасным радку больш адлюстроўвацца не будзе;
  • Узмоцнена ізаляцыя апрацоўшчыкаў сайтаў. Дададзена абарона для міжсайтавых дадзеных, такіх як Cookie і HTTP-рэсурсы, якія атрымліваюцца з іншых сайтаў, якія кантралююцца зламыснікамі. Ізаляцыя працуе нават калі атакавалы выявіць памылку падчас, які адказвае за адмалёўку, і паспрабуе выканаць код у яго кантэксце;
  • Дададзена новая старонка з прывітаннем новых карыстачоў (chrome://welcome/), якая выводзіцца замест штатнага інтэрфейсу адкрыцця новай укладкі пасля першага запуску Chrome. Старонка дазваляе дадаць у закладкі папулярныя сэрвісы Google (GMail, YouTube, Maps, News і Translate), прымацаваць цэтлікі на старонку новай укладкі, падлучыцца да ўліковага запісу Google для ўключэння Chrome Sync і прызначыць выклік Chrome па змаўчанні ў сістэме.
  • У меню старонкі новай укладкі, якое адлюстроўваецца ў верхнім правым куце, дададзена магчымасць загрузкі фонавага малюнка, а таксама з'явіліся опцыі для выбару тэмы афармлення і налады блока з ярлыкамі для хуткага пераходу (найбольш часта наведвальныя сайты, ручны выбар карыстальніка і ўтойванне блокі з ярлыкамі). Настройкі пакуль пазіцыянуюцца як эксперыментальныя і патрабуюць актывацыі праз сцягі "chrome://flags/#ntp-customization-menu-v2" і "chrome://flags/#chrome-colors-custom-color-picker";
  • Забяспечана анімацыя піктаграмы сайта ў загалоўку ўкладкі, якая сігналізуе аб тым, што старонка знаходзіцца ў працэсе загрузкі;
  • Дададзены сцяг «—guest», які дазваляе запусціць Chrome з каманднага радка ў рэжыме гасцявога ўваходу (без падлучэння да ўліковага запісу Google, без запісу актыўнасці ў браўзэры на дыск і без захавання сеансу);
  • Прадоўжана пачатая ў мінулым выпуску чыстка сцягоў у chrome://flags. Замест сцягоў для налады паводзін браўзэра зараз рэкамендуецца выкарыстоўваць наборы правіл;
  • У кантэкстнае меню старонкі, укладкі і адраснага радка дададзена кнопка "Send to your devices", якая дазваляе адправіць спасылку на іншую прыладу пры дапамозе Chrome Sync. Пасля выбару прылады прызначэння, прывязанага да таго ж уліковага запісу, і адпраўкі спасылкі, на мэтавым прыладзе будзе выведзена апавяшчэнне для адкрыцця спасылкі;
  • У версіі для Android цалкам перапрацаваная старонка са спісам загружаных файлаў, у якой замест выпадальнага меню з часткамі кантэнту дададзеныя кнопкі для фільтравання агульнага спісу па тыпе кантэнту, а эскізы загружаных малюнкаў зараз паказваюцца на ўсю шырыню экрана;
  • Дададзены новыя метрыкі для адзнакі хуткасці загрузкі і адмалёўкі кантэнту ў браўзэры, якія дазваляюць web-распрацоўніку вызначыць як хутка асноўнае змесціва старонкі становіцца даступнай для карыстача. Прапанаваныя раней сродкі кантролю адмалёўкі дазвалялі меркаваць толькі аб самім факце пачатку адмалёўкі, але не аб гатоўнасці старонкі ў цэлым. У Chrome 77 прапанаваны новы API Самая вялікая змесная фарба, які дазваляе даведацца час адмалёўкі буйных (прыкметных карыстачу) элементаў у бачнай вобласці, такіх як выявы, відэа, блокавыя элементы і фон старонкі;
    Рэліз Chrome 77

  • Дададзены API PerformanceEventTiming, які прадстаўляе звесткі аб затрымцы перад першым узаемадзеяннем карыстальніка (напрыклад, націск клавішы на клавіятуры або мышы, клік або перамяшчэнне паказальніка). Новы API з'яўляецца падмноствам API EventTiming, які дазваляе атрымаць дадатковыя звесткі для вымярэння і аптымізацыі спагадлівасці інтэрфейсу;
  • Дададзены новыя магчымасці для формаў, якія спрашчаюць выкарыстанне ўласных нестандартных элементаў кіравання формамі (нестандартныя палі ўводу, кнопкі і да т.п.). Новая падзея "formdata" дае магчымасць выкарыстоўваць апрацоўшчыкі на JavaScript для дадання дадзеных у форму на этапе яе адпраўкі без неабходнасці захоўваць дадзеныя ва ўтоеных элементах input.

    Другой навінай з'яўляецца падтрымка стварэння ўласных элементаў, асацыіраваных з формай і дзейсных як убудаваныя элементы кіравання формамі, у тым ліку якія падтрымліваюць такія магчымасці, як уключэнне праверкі карэктнасці ўводу і ініцыяванне адпраўкі дадзеных на сервер. Для пазнакі элемента як кампанента інтэрфейсу формы прапанавана ўласцівасць formAssociated, а для доступу да дадатковых метадаў кіравання формай, такім як setFormValue() і setValidity(), дададзены выклік attachInternals();

  • У рэжыме Выпрабаванні паходжання (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) дададзены новы API Contact Picker, які дазваляе карыстачу абраць запісы з адраснай кнігі і перадаць пэўныя дэталі аб іх на сайт. Пры запыце вызначаецца спіс уласцівасцей, якія неабходна атрымаць (напрыклад, ПІБ, email, нумар тэлефона). Дадзеныя ўласцівасці відавочна адлюстроўваюцца карыстачу, якія прымае канчатковае рашэнне перадаваць дадзеныя ці не. API можа быць выкарыстаны, напрыклад, у паштовым web-кліенце для выбару атрымальнікаў для адпраўляемага ліста, у web-дадатку з функцыяй VoIP для ініцыявання званка па вызначаным нумары або ў сацыяльнай сетцы для пошуку ўжо зарэгістраваных сяброў.

    Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.

    Рэліз Chrome 77Рэліз Chrome 77

  • Для формаў рэалізаваны атрыбутenterkeyhint«, які дазваляе вызначыць паводзіны пры націску клавішы Enter на віртуальнай клавіятуры. Атрыбут можа прымаць значэнні enter, done, go, next, previous, search і send;
  • Дададзена правіла document-domain, якое кіруе доступам да ўласцівасці «document.domain». Па змаўчанні доступ дазволены, але калі яго забараніць спроба змены значэння "document.domain" будзе прыводзіць да высновы памылкі;
  • У API Performance дададзены выклік LayoutShift, які дазваляе адсочваць змена пазіцыі элементаў DOM на экране.
  • Памер HTTP-загалоўка "Referer" абмежаваны 4 КБ, пры перавышэнні дадзенага значэння змесціва ўразаецца да імя дамена;
  • Аргумент url у функцыі registerProtocolHandler() абмежаваны ўжываннем толькі схем http:// і https:// і зараз не дапушчае схемы "data:" і "blob:".
  • У метад Intl.NumberFormat дададзена падтрымка фарматавання адзінак вымярэння, валют, навуковых і кампактных пазначэнняў (напрыклад, «Intl.NumberFormat('en', {style: 'unit',
    unit: 'meter-per-second'}»);

  • Дададзеныя новыя CSS-уласцівасці overscroll-behavior-inline і overscroll-behavior-block для кіравання паводзінамі пракруткай пры дасягненні лагічнай мяжы вобласці пракруткі;
  • Для CSS-уласцівасці white-space рэалізавана падтрымка значэння break-spaces;
  • У Service Workers дададзена падтрымка аўтэнтыфікацыі HTTP Basic і вываду штатнага дыялогу для ўводу параметраў уваходу;
  • API Web MIDI зараз можа ўжывацца толькі ў кантэксце бяспечнага злучэння (https, лакальны файл ці localhost);
  • Абвешчаны састарэлым API WebVR 1.1, на змену якому прыйшоў API WebXR Device, які дазваляе атрымаць доступ да кампанентаў для стварэння віртуальнай і дапоўненай рэальнасці і уніфікаваць працу з рознымі класамі прылад, ад стацыянарных шлемаў віртуальнай рэальнасці да рашэнняў на базе мабільных прылад.
  • У інструментах для распрацоўшчыкаў дададзена магчымасць капіявання ў буфер абмену CSS-уласцівасцяў вузла DOM праз кантэкстнае меню, выкліканае правым клікам на вузле ў дрэве DOM. Дададзены інтэрфейс (Show Rendering/Layout Shift Regions) для адсочвання зрухаў разметкі з-за адсутнасці заглушак пад рэкламу і выявы (калі пры праглядзе загрузка чарговага малюнка зрушвае тэкст уніз). Панэль аўдыту абноўлена да выпуску Маяк 5.1. Забяспечана аўтаматычнае пераключэнне на цёмную тэму афармлення DevTools пры выкарыстанні цёмнай тэмы ў АС. У рэжыме інспектавання сеткі дададзена прыкмета загрузкі рэсурсу з кэша папераджальнай загрузкі (prefetch cache). У панэлі Application дададзена падтрымка адлюстравання push-паведамленняў і апавяшчэнняў. У web-кансолі пры прадглядзе аб'ектаў зараз адлюстроўваюцца і прыватныя палі класаў;

    Рэліз Chrome 77

  • У JavaScript-рухавічку V8 аптымізавана захоўванне статыстыкі аб тыпах аперанд, адданых у розныя аперацыі (дазваляе аптымізаваць выкананне дадзеных аперацый з улікам канкрэтных тыпаў). Каб скараціць спажыванне памяці вектары для ўліку тыпаў зараз размяшчаюцца ў памяці толькі пасля выканання вызначанага аб'ёму байткода, што выключае ўжыванне аптымізацыі для функцый з кароткім часам жыцця. Паказаная змена дазваляе зэканоміць 1-2% памяці ў версіі для настольных сістэм і 5-6% для мабільных прылад.

    Рэліз Chrome 77

    Палепшана маштабаванасць фонавай кампіляцыі WebAssembly – чым больш працэсарных ядраў у сістэме, тым больш выйгрыш ад дададзеных аптымізацый. Напрыклад, на 24-ядзерным кампутары з працэсарам Xeon час кампіляцыі дэманстрацыйнага прыкладання Epic ZenGarden скарацілася ўдвая.

    Рэліз Chrome 77

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 52 уразлівасці. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, Ачышчальнік памяці, Цэласнасць патоку кіравання, LibFuzzer и AFL. Адна праблема (CVE-2019-5870) пазначана як крытычная, г.зн. дазваляе абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні. Дэталі аб крытычнай уразлівасці пакуль не выдаюцца, вядома толькі што яна можа прывесці да звароту да ўжо вызваленай вобласці памяці ў кодзе апрацоўкі мультымедыйных дадзеных. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 38 прэміі на суму 33500 даляраў ЗША (адна прэмія $7500, чатыры прэміі $3000, тры прэміі $2000, чатыры прэміі $1000 і восем прэмій $500). Памер 18 узнагароджанняў пакуль не вызначаны.

Крыніца: opennet.ru

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