Sinimulan ng Firefox na subukan ang ikatlong bersyon ng Chrome manifest

Inihayag ng Mozilla na sinimulan na nitong subukan ang pagpapatupad ng Firefox sa ikatlong bersyon ng manifest ng Chrome, na tumutukoy sa mga kakayahan at mapagkukunang magagamit sa mga add-on na nakasulat gamit ang WebExtensions API. Upang subukan ang ikatlong bersyon ng manifest sa Firefox 101 beta, dapat mong itakda ang parameter na "extensions.manifestV3.enabled" sa true at ang parameter na "xpinstall.signatures.required" sa false sa about:config page. Upang mag-install ng mga add-on, maaari mong gamitin ang about:debugging interface. Ang ikatlong bersyon ng manifest ay naka-iskedyul na paganahin bilang default sa katapusan ng taon.

Simula sa bersyon 57, ganap na lumipat ang Firefox sa paggamit ng WebExtensions API para sa pagbuo ng mga add-on at huminto sa pagsuporta sa teknolohiya ng XUL. Ang paglipat sa WebExtensions ay naging posible upang mapag-isa ang pagbuo ng mga add-on sa Chrome, Opera, Safari at Edge platform, pinasimple ang porting ng mga add-on sa pagitan ng iba't ibang mga web browser at naging posible na ganap na magamit ang multi-process na mode ng operasyon (Ang mga add-on ng WebExtension ay maaaring isagawa sa magkakahiwalay na mga proseso, na nakahiwalay sa iba pang bahagi ng browser). Upang pag-isahin ang pagbuo ng mga add-on sa iba pang mga browser, nagbibigay ang Firefox ng halos buong compatibility sa pangalawang bersyon ng Chrome manifest.

Kasalukuyang nagtatrabaho ang Chrome na lumipat sa bersyon 2023 ng manifest, at ihihinto ang suporta para sa bersyon XNUMX sa Enero XNUMX. Dahil ang pangatlong bersyon ng manifest ay sinisiraan at sisira sa maraming content blocking at security add-on, nagpasya si Mozilla na lumayo sa kasanayan sa pagtiyak ng ganap na compatibility sa manifest sa Firefox at ipatupad ang ilang pagbabago sa ibang paraan.

Ang pangunahing hindi kasiyahan sa ikatlong bersyon ng manifesto ay nauugnay sa pagsasalin sa read-only na mode ng webRequest API, na naging posible upang ikonekta ang iyong sariling mga tagapangasiwa na may ganap na access sa mga kahilingan sa network at maaaring baguhin ang trapiko sa mabilisang. Ginagamit ang API na ito sa uBlock Origin at marami pang ibang add-on para harangan ang hindi naaangkop na content at magbigay ng seguridad. Sa halip na webRequest API, ang ikatlong bersyon ng manifest ay nag-aalok ng limitadong kakayahan na declarativeNetRequest API, na nagbibigay ng access sa isang built-in na filtering engine na independiyenteng nagpoproseso ng mga panuntunan sa pag-block, hindi pinapayagan ang paggamit ng sarili nitong mga algorithm sa pag-filter, at hindi payagan ang pagtatakda ng mga kumplikadong panuntunan na magkakapatong sa isa't isa depende sa mga kundisyon.

Sa pagpapatupad ng ikatlong bersyon ng manifest na iminungkahi sa Firefox, isang bagong deklaratibong API para sa pag-filter ng nilalaman ay idinagdag, ngunit hindi tulad ng Chrome, hindi sila tumigil sa pagsuporta sa lumang blocking mode ng pagpapatakbo ng webRequest API. Kasama sa iba pang feature ng bagong manifest na pagpapatupad sa Firefox ang:

  • Tinutukoy ng manifest ang pagpapalit ng mga pahina sa background gamit ang opsyong Mga Manggagawa sa Serbisyo, na tumatakbo bilang mga proseso sa background (Mga Manggagawa sa Serbisyo sa Background). Upang matiyak ang pagiging tugma, ipapatupad ng Firefox ang kinakailangang ito, ngunit mag-aalok din ng bagong mekanismo ng Mga Pahina ng Kaganapan, na mas pamilyar sa mga web developer, hindi nangangailangan ng kumpletong muling paggawa ng mga add-on, at inaalis ang mga limitasyong nauugnay sa paggamit ng Mga Serbisyong Manggagawa. . Ang Mga Pahina ng Kaganapan ay magbibigay-daan sa mga kasalukuyang pagdaragdag ng pahina sa background na umayon sa mga kinakailangan ng ikatlong bersyon ng manifest, habang pinapanatili ang access sa lahat ng mga kakayahan na kailangan upang gumana sa DOM. Sa manifest na pagpapatupad na magagamit para sa pagsubok sa Firefox, ang Mga Pahina ng Kaganapan lamang ang kasalukuyang sinusuportahan, at ang suporta para sa isang solusyon na batay sa Mga Manggagawa ng Serbisyo ay ipinangako na idaragdag sa ibang pagkakataon. Sinuportahan ng Apple ang panukala at ipinatupad ang Mga Pahina ng Kaganapan sa Safari Technology Preview 136.
  • Ang bagong modelo ng kahilingan sa granular na pahintulot - ang add-on ay hindi maa-activate para sa lahat ng page nang sabay-sabay (ang pahintulot na "all_urls" ay inalis), ngunit gagana lamang sa konteksto ng aktibong tab, i.e. kakailanganing kumpirmahin ng user na gumagana ang add-on para sa bawat site. Sa Firefox, ituturing na opsyonal ang lahat ng kahilingan para ma-access ang data ng site, at ang panghuling desisyon sa pagbibigay ng access ay gagawin ng user, na makakapiling magpasya kung aling add-on ang magbibigay ng access sa kanilang data sa isang partikular na site.
  • Pagbabago sa paghawak ng mga Cross-origin na kahilingan - alinsunod sa bagong manifest, ang mga script sa pagpoproseso ng nilalaman ay sasailalim sa parehong mga paghihigpit sa pahintulot tulad ng para sa pangunahing pahina kung saan naka-embed ang mga script na ito (halimbawa, kung ang pahina ay walang access sa location API, hindi rin matatanggap ng mga script add-on ang access na ito). Ang pagbabagong ito ay ganap na ipinatupad sa Firefox.
  • Pangako batay sa API. Sinusuportahan na ng Firefox ang API na ito at ililipat ito sa "chrome.*" namespace para sa ikatlong bersyon ng manifest.
  • Ipinagbabawal ang pagpapatupad ng code na na-download mula sa mga panlabas na server (pinag-uusapan natin ang tungkol sa mga sitwasyon kapag ang add-on ay naglo-load at nagpapatupad ng panlabas na code). Gumagamit na ang Firefox ng panlabas na pag-block ng code, at nagdagdag ang mga developer ng Mozilla ng karagdagang mga diskarte sa pagsubaybay sa pag-download ng code na inaalok sa ikatlong bersyon ng manifest. Para sa mga script sa pagpoproseso ng nilalaman, isang hiwalay na patakaran sa paghihigpit sa pag-access sa nilalaman (CSP, Patakaran sa Seguridad ng Nilalaman) ay ibinigay.

Pinagmulan: opennet.ru

Magdagdag ng komento