Mozilla пачне прымаць дадаткі на базе трэцяй версіі маніфесту Chrome

21 лістапада каталог AMO (addons.mozilla.org) пачне прымаць і завяраць лічбавым подпісам дапаўненні, якія выкарыстоўваюць трэцюю версію маніфесту Chrome. Паказаныя дадаткі можна будзе пратэставаць у начных зборках Firefox. У стабільных выпусках уключэнне падтрымкі трэцяй версіі маніфеста будзе праведзена ў Firefox 109, намечаным на 17 студзеня 2023 года. Падтрымка другой версіі маніфеста ў агляднай будучыні будзе захавана, але ў канцы 2023 года, пасля ацэнкі дынамікі пераводу дапаўненняў на трэцюю версію маніфеста, будзе разгледжана пытанне аб магчымасці пераводу падтрымкі другой версіі маніфеста ў разрад састарэлых.

Маніфест Chrome вызначае магчымасці і рэсурсы, даступныя для дадаткаў, напісаных з выкарыстаннем API WebExtensions. Пачынальна з версіі 57 Firefox цалкам перайшоў на выкарыстанне API WebExtensions для распрацоўкі дадаткаў і спыніў падтрымку тэхналогіі XUL. Пераход на WebExtensions дазволіў уніфікаваць распрацоўку дадаткаў з платформамі Chrome, Opera, Safari і Edge, спрасціў партаванне дадаткаў паміж рознымі web-браўзэрамі і даў магчымасць паўнавартасна выкарыстоўваць шматпрацэсны рэжым працы (дадаткі WebExtensions могуць выконвацца ў асобных працэсах, ізалявана ад астатніх частак браўзэра). Для ўніфікацыі распрацоўкі дадаткаў з астатнімі браўзэрамі ў Firefox забяспечваецца амаль поўная сумяшчальнасць са другой версіяй маніфеста Chrome.

У цяперашні час у Chrome вядзецца праца па пераходзе на трэцюю версію маніфеста, а падтрымка другой версіі будзе спынена ў студзені 2024 гады. Галоўнай мэтай унесеных у новую версію змен з'яўляецца спрашчэнне стварэння бяспечных і высокапрадукцыйных дапаўненняў, і ўскладненне магчымасці стварэння небяспечных і павольных дапаўненняў. Так як трэцяя версія маніфеста стала аб'ектам крытыкі і прывядзе да парушэння працы шматлікіх дадаткаў для блакавання непажаданага кантэнту і забеспячэнні бяспекі, кампанія Mozilla вырашыла адысці ад забеспячэння поўнай сумяшчальнасці з маніфестам у Firefox і рэалізаваць інакш некаторыя змены.

Асноўная незадаволенасць трэцяй версіяй маніфесту звязана з пераводам у рэжым толькі для чытання API webRequest, які дазваляў падключаць уласныя апрацоўшчыкі, якія маюць поўны доступ да сеткавых запытаў і здольныя на лёце мадыфікаваць трафік. Указаны API прымяняецца ў uBlock Origin і многіх іншых дапаўненнях для блакавання непажаданага кантэнту і забеспячэння бяспекі. Замест API webRequest у трэцяй версіі маніфесту прапанаваны абмежаваны па сваіх магчымасцях API declarativeNetRequest, які прадстаўляе доступ да ўбудаванага рухавічка для фільтрацыі, самастойна які апрацоўвае правілы блакавання, не што дазваляе выкарыстоўваць уласныя алгарытмы фільтрацыі і не што дазваляе задаваць складаныя правілы, якія перакрываюць адзін аднаго ў залежнасці ад умоў.

Сярод асаблівасцяў рэалізацыі новага маніфеста ў Firefox:

  • Дададзены новы дэкларатыўны API фільтрацыі кантэнту, але ў адрозненне ад Chrome не спынена падтрымка старога блакавальнага рэжыму працы API webRequest.
  • У маніфесце вызначана замена фонавых старонак на варыянт Service Workers, які працуе ў выглядзе фонавых працэсаў (Background Service Workers). Для забеспячэння сумяшчальнасці ў будучыні ў Firefox будзе рэалізаваная падтрымка Service Workers, але ў наш час замест іх прапанаваны новы механізм Event Pages, які больш звыклы для web-распрацоўнікаў, не патрабуе поўнай перапрацоўкі дадаткаў і ўхіляе абмежаванні, злучаныя з ужываннем Service Workers. Event Pages дазволіць прывесці існуючыя дапаўненні з фонавымі старонкамі да патрабаванняў трэцяй версіі маніфесту, захаваўшы пры гэтым доступ да ўсіх магчымасцяў, неабходных для працы з DOM.
  • Новая грануляваная мадэль запыту паўнамоцтваў - дадатак не зможа актывавацца адразу для ўсіх старонак (прыбрана паўнамоцтва "all_urls"), а будзе працаваць толькі ў кантэксце актыўнай укладкі, г.зн. карыстачу спатрэбіцца пацвярджаць працу дадатку для кожнага сайта. У Firеfox усе запыты на доступ да дадзеных сайта будуць разглядацца як неабавязковыя, а канчатковае рашэнне аб прадастаўленні доступу будзе прымаць карыстач, які зможа выбарачна вырашаць якому дадатку падаць доступ да сваіх дадзеных на тым ці іншым сайце.

    Для кіравання паўнамоцтвамі ў інтэрфейс дададзена новая кнопка "Unified Extensions", якую ўжо можна пратэставаць у начных зборках Firefox. Кнопка падае сродкі для непасрэднага кіравання тым, да якіх сайтаў мае доступ кожны дадатак - карыстач можа падаць і адклікаць доступ дадатку да любога сайта. Упраўленне паўнамоцтвамі прымяняецца толькі да дапаўненняў на аснове трэцяй версіі маніфеста, для дапаўненняў на другой версіі маніфеста грануляванае кіраванне доступам да сайтаў не ажыццяўляецца.

    Mozilla пачне прымаць дадаткі на базе трэцяй версіі маніфесту Chrome
  • Змена апрацоўкі Cross-origin запытаў - у адпаведнасці з новым маніфестам на скрыпты апрацоўкі кантэнту будуць распаўсюджвацца тыя ж абмежаванні паўнамоцтваў, што і для асноўнай старонкі, у якую гэтыя скрыпты ўкараняюцца (напрыклад, калі старонка не мае доступу да API вызначэння месцазнаходжання, то і скрыпт дапаўненні таксама не атрымае гэты доступ). Дадзеная змена цалкам рэалізавана ў Firefox.
  • API на аснове Promise. Firefox падтрымлівае дадзены API і для трэцяй версіі маніфеста перанясе яго ў прастору імёнаў "chrome.*".
  • Забарона выканання кода, загружанага з вонкавых сервераў (гаворка пра сітуацыі, калі дадатак падгружае і выконвае вонкавы код). У Firefox ужываецца блакіроўка вонкавага кода і распрацоўнікі Mozilla дадалі дадатковыя тэхнікі адсочвання загрузак кода, прапанаваныя ў трэцяй версіі маніфесту. Для скрыптоў апрацоўкі кантэнту прадстаўлена асобная палітыка абмежавання доступу да кантэнту (CSP, Content Security Policy).

Крыніца: opennet.ru

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