diff options
Diffstat (limited to 'legacy.base.js')
-rw-r--r-- | legacy.base.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/legacy.base.js b/legacy.base.js new file mode 100644 index 0000000..0531c16 --- /dev/null +++ b/legacy.base.js @@ -0,0 +1,28 @@ +this.legacy = class extends ExtensionAPI { + getAPI() { + return { + legacy: { + register() { + let {XPIDatabase} = ChromeUtils.importESModule('resource://gre/modules/addons/XPIDatabase.sys.mjs'); + XPIDatabase.isDisabledLegacy = (addon) => false; + XPIDatabase.mustSign = (aType) => false; + + const {AddonManager} = ChromeUtils.importESModule('resource://gre/modules/AddonManager.sys.mjs'); + AddonManager.addExternalExtensionLoader(BootstrapLoader); + }, + finalize() { + // from xiaoxiaoflood's bootstrapLoader.xpi + const {AddonManager} = ChromeUtils.importESModule('resource://gre/modules/AddonManager.sys.mjs'); + AddonManager.getAllAddons().then(addons => { + addons.forEach(addon => { + if (addon.type == 'extension' && !addon.isWebExtension && !addon.userDisabled) { + addon.disable(); + addon.enable(); + } + }) + }) + } + } + } + } +} |