Рэліз Chrome 99

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

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

  • У Chrome для Android уключана выкарыстанне механізму Certificate Transparency, які забяспечвае вядзенне незалежнага публічнага лога ўсіх выдадзеных і адкліканых сертыфікатаў. Публічны лог дае магчымасць праводзіць незалежны аўдыт усіх змен і дзеянняў якія сведчаць цэнтраў, і дазволіць адразу адсочваць любыя спробы ўтоенага стварэння падробленых запісаў. Сертыфікаты, якія не адлюстраваны ў Certificate Transparency, будуць аўтаматычна адкінуты браўзэрам, з адлюстраваннем адпаведнай памылкі. Раней названы механізм быў уключаны толькі для настольнай версіі і для невялікага працэнта карыстальнікаў Android.
  • З-за наяўнасці вялікай колькасці скаргаў адключаны раней прапанаваны ў тэставым рэжыме механізм Private Network Access, накіраваны на ўзмацненне абароны ад нападаў, звязаных са зваротам да рэсурсаў у лакальнай сетцы або на кампутары карыстальніка (localhost) са скрыптоў, загружаных пры адкрыцці сайта. Для абароны ад падобных нападаў у выпадку звароту да любых субрэсурсаў ва ўнутранай сетцы, прапанавана адпраўляць відавочны запыт паўнамоцтвы загрузкі падобных субрэсурсаў. Google перагледзіць рэалізацыю з улікам атрыманых водгукаў і ў адным з будучых выпускаў прапануе палепшаны варыянт.
  • Вернута магчымасць выдалення прапанаваных па змаўчанні пошукавых сістэм. Нагадаем, што пачынальна з Chrome 97 у канфігуратары ў секцыі «Кіраванне пошукавымі сістэмамі» (chrome://settings/searchEngines) была спыненая магчымасць выдалення элементаў са спісу пошукавых сістэм па змаўчанні (Google, Bing, Yahoo) і рэдагаванні параметраў пошукавай сістэмы, што выклікана незадаволенасць многіх карыстальнікаў.
  • На платформе Windows прадстаўлена магчымасць выдалення самадастатковых web-прыкладанняў (PWA, Progressive Web App) праз сістэмныя налады ці панэль кіравання па аналогіі з выдаленнем Windows-прыкладанняў.
  • Праводзіцца фінальнае тэставанне магчымага парушэння працы сайтаў пасля дасягнення браўзэрам версіі, якая складаецца з трох лічбаў замест дзвюх (у свой час пасля выпуску Chrome 10 у бібліятэках разбору User-Agent усплыло шмат праблем). Пры актывацыі опцыі "chrome://flags#force-major-version-to-100" у загалоўку User-Agent пачынае выдавацца версія 100.
  • У CSS рэалізавана падтрымка каскадных пластоў, якія задаюцца пры дапамозе правіла @layer і імпартуюцца праз CSS-правіла @import, выкарыстаючы функцыю layer(). CSS-правілы ўсярэдзіне аднаго каскаднага пласта каскадуюцца разам, спрашчаючы кіраваннем усім каскадам, падаючы гнуткія магчымасці па змене парадку прытрымлівання пластоў і дазваляючы больш відавочна кіраваць CSS-файламі, прадухіляючы ўзнікненне канфліктаў. Каскадныя пласты зручна ўжываць для тэм афармлення, азначэнні стыляў элементаў па змаўчанні і вынасу афармлення кампанентаў у вонкавыя бібліятэкі.
  • У клас HTMLInputElement дададзены метад showPicker(), які дазваляе адлюстраваць гатовыя дыялогі для запаўнення тыпавых значэнняў у палях. з тыпамі "date", "month", "week", "time", "datetime-local", "color" і "file", а таксама для палёў якія падтрымліваюць аўтазапаўненне (autofill) і выбар па спісе (datalist). Напрыклад, можна паказаць інтэрфейс у форме календара для выбару даты ці палітру для ўводу колеру.
    Рэліз Chrome 99
  • У рэжыме Origin Trials (эксперыментальныя магчымасці, якія патрабуюць асобнай актывацыі) рэалізавана магчымасць уключэння цёмнага рэжыму афармлення для web-прыкладанняў. Колеры і фон для цёмнай тэмы выбіраюцца пры дапамозе новага поля color_scheme_dark у файле з маніфестам web-прыкладанні. Origin Trial мае на ўвазе магчымасць працы з паказаным API з прыкладанняў, загружаных з localhost або 127.0.0.1, або пасля праходжання рэгістрацыі і атрымання спецыяльнага токена, які дзейнічае абмежаваны час для канкрэтнага сайта.
  • Стабілізаваны і прапанаваны ўсім жадаючым API Handwriting Recognition, які дазваляе выкарыстоўваць сэрвісы распазнання рукапіснага ўводу, якія прадстаўляюцца аперацыйнай сістэмай.
  • Для усталёўваных адасобленых web-прыкладанняў (PWA, Progressive Web App) стабілізаваны кампанент Window Controls Overlay, які пашырае экранную вобласць прыкладання на ўсё акно, уключаючы вобласць загалоўка, на які накладваюцца штатныя кнопкі кіравання акном (зачыненне, мінімізацыя, максімізацыя). Web-дадатак можа кіраваць адмалёўкай і апрацоўкай уводу ва ўсім акне, за выключэннем накладзенага блока з кнопкамі кіравання акном.
  • У CSS-функцыі calc() дазволена ўказанне значэнняў "infinity", "-infinity" і "NaN" або выразаў, якія прыводзяць да падобных значэнняў, напрыклад, 'calc(1/0)'.
  • У CSS-уласцівасць color-scheme, якое дае магчымасць вызначыць у якіх каляровых схемах можа быць карэктна паказаны элемент ("light", "dark", "day mode" і "night mode"), дададзены параметр "only", які дазваляе выключыць прымусовую змену каляровай схемы для асобных HTML-элементаў. Напрыклад, для калі паказаць "div { color-scheme: only light }", то для элемента div будзе выкарыстоўвацца толькі светлая тэма, нават калі ў браўзэры будзе прымусова ўключана цёмнае афармленне.
  • Для змены значэнняў уласцівасці document.adoptedStyleSheets зараз могуць ужывацца аперацыі push() і pop() замест поўнага перапрызначэння ўласцівасці. Напрыклад, "document.adoptedStyleSheets.push(newSheet);".
  • У рэалізацыю інтэрфейсу CanvasRenderingContext2D дададзена падтрымка падзей ContextLost і ContextRestored, метаду reset(), опцыі "willReadFrequently", CSS-мадыфікатараў тэксту, прымітыва адмалёўкі roundRect і канічных градыентаў. Палепшана падтрымка SVG-фільтраў.
  • Пазбаўлены прэфікса "-webkit-" уласцівасці "text-emphasis", "text-emphasis-color", "text-emphasis-position" і "text-emphasis-style".
  • Для старонак, адкрытых без HTTPS забаронены зварот да API Battery Status, які дазваляе атрымаць звесткі аб зарадзе акумулятара.
  • У метадзе navigator.getGamepads() забяспечаны выснова масіва аб'ектаў Gamepad замест GamepadList. GamepadList больш не падтрымліваецца ў Chrome, што адпавядае патрабаванню стандарту і паводзінам рухавікоў Gecko і Webkit.
  • API WebCodecs прыведзены да адпаведнасці са спецыфікацыяй. У прыватнасці, зменены метад EncodedVideoChunkOutputCallback() і канструктар VideoFrame().
  • У JavaScript-рухавічку V8 у API Intl.Locale дададзены новыя ўласцівасці calendars, collations, hourCycles, numberingSystems, timeZones, textInfo і weekInfo, якія выводзяць інфармацыю аб падтрымліваемых календарах, гадзінных паясах і параметрах часу і тэксту. const arabicEgyptLocale = new Intl.Locale('ar-EG') // ar-EG arabicEgyptLocale.calendars // [gregory', 'coptic', 'islamic', 'islamic-civil', 'islamic-tbla'] arabicEgyptLocale .collations // ['compat', 'emoji', 'eor'] arabicEgyptLocale.hourCycles // ['h12'] arabicEgyptLocale.numberingSystems // ['arab'] arabicEgyptLocale.timeZones // ['Africa/Cairo'] arabicE .textInfo // { direction: 'rtl' } japaneseLocale.textInfo // { direction: 'ltr' } chineseTaiwanLocale.textInfo // { direction: 'ltr' }
  • Дададзена функцыя Intl.supportedValuesOf(code), якая вяртае масіў падтрымоўваных ідэнтыфікатараў для API Intl для ўласцівасцяў calendar, collation, currency, numberingSystem, timeZone і unit. Intl.supportedValuesOf('unit') // ['acre', 'bit', 'byte', 'celsius', 'centimeter', …]
  • Унесены паляпшэнні ў інструменты для web-распрацоўшчыкаў. У сеткавай панэлі прадстаўлена магчымасць запаволення WebSocket-запытаў для адладкі працы ва ўмовах павольнага сеткавага злучэння. Ва ўкладку "Application" дададзена панэль для адсочвання справаздач, згенераваных праз API Reporting. У панэлі Recorder перад прайграваннем запісанай каманды рэалізавана падтрымка чакання да таго, як элемент стане бачным або даступным для кліку. Спрошчана эмуляцыя цёмнай тэмы афармлення. Палепшана кіраванне панэлямі з сэнсарных экранаў. У web-кансолі дададзеная падтрымка escape-паслядоўнасцяў для вылучэння тэксту колерам, дададзеная падтрымка масак падстаноўкі %s, %d, %i і %f, палепшана праца фільтраў паведамленняў.
    Рэліз Chrome 99

Акрамя новаўвядзенняў і выпраўленні памылак у новай версіі ўхілена 28 уразлівасцяў. Многія з уразлівасцяў выяўлены ў выніку аўтаматызаванага тэсціравання інструментамі AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer і AFL. Крытычных праблем, якія дазваляюць абыйсці ўсе ўзроўні абароны браўзэра і выканаць код у сістэме за межамі sandbox-акружэнні, не выяўлена. У рамках праграмы па выплаце грашовай узнагароды за выяўленне ўразлівасцяў для бягучага рэлізу кампанія Google выплаціла 21 прэмію на суму 96 тысяч даляраў ЗША (адна прэмія $15000, дзве прэміі $10000, шэсць прэмій $7000, дзве прэміі $5000, дзве прэміі $3000 і $2000.

Крыніца: opennet.ru

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