Spoločnosť Mozilla
Hlavnou myšlienkou prechodu na WebExtensions API bolo zjednotiť technológiu vývoja doplnkov pre Firefox a Chrome, takže v súčasnej podobe je Firefox takmer 100% kompatibilný s aktuálnou druhou verziou manifestu Chrome. Manifest definuje zoznam schopností a prostriedkov poskytovaných doplnkom. V dôsledku zavedenia reštriktívnych opatrení v tretej verzii manifestu, ktoré sú negatívne vnímané vývojármi doplnkov, Mozilla ustúpi od praxe plného dodržiavania manifestu a neprenesie do Firefoxu zmeny, ktoré porušujú kompatibilitu s add-on. ons.
Pripomeňme si, že
Mozilla tiež hodnotí uskutočniteľnosť prechodu na podporu Firefoxu pre niektoré ďalšie zmeny z tretej verzie manifestu Chrome, ktoré narúšajú kompatibilitu s doplnkami:
- Prechod na vykonávanie servisných pracovníkov vo forme procesov na pozadí, ktoré si od vývojárov vyžiadajú zmenu kódu niektorých doplnkov. Hoci je nová metóda z hľadiska výkonu efektívnejšia, Mozilla zvažuje zachovanie podpory pre spúšťanie stránok na pozadí.
- Nový model žiadosti o granulárne povolenia – doplnok nebude možné aktivovať pre všetky stránky naraz (povolenie „all_urls“ bolo odstránené), ale bude fungovať iba v kontexte aktívnej karty, t.j. používateľ bude musieť potvrdiť, že doplnok funguje pre každú lokalitu. Mozilla skúma spôsoby, ako posilniť kontrolu prístupu bez neustáleho rozptyľovania používateľa.
- Zmena v spracovaní žiadostí typu Cross-origin – v súlade s novým manifestom budú skripty spracovania obsahu podliehať rovnakým obmedzeniam povolení ako pre hlavnú stránku, do ktorej sú tieto skripty vložené (ak stránka napríklad nemá prístup k Location API, potom tento prístup nezískajú ani doplnky skriptov). Zmena sa plánuje implementovať do Firefoxu.
- Zákaz spustenia kódu stiahnutého z externých serverov (hovoríme o situáciách, keď sa doplnok načíta a spustí externý kód). Firefox už používa externé blokovanie kódu a vývojári Mozilly sú ochotní posilniť túto ochranu pomocou dodatočných techník sledovania sťahovania kódu ponúkaných v tretej verzii manifestu.
Zdroj: opennet.ru