diff options
author | Simon Parri <simonparri@ganzeria.com> | 2025-03-19 00:00:30 -0500 |
---|---|---|
committer | Simon Parri <simonparri@ganzeria.com> | 2025-08-13 10:38:07 -0500 |
commit | de25e333e17f05140b82793776dbce51fdec296d (patch) | |
tree | 855b403b873e271308c59aaa455d73982552b9ea /legacy.base.js | |
parent | 312a791ae03bddd725dee063344801f959cfe44d (diff) | |
download | legacywolf-de25e333e17f05140b82793776dbce51fdec296d.tar.gz legacywolf-de25e333e17f05140b82793776dbce51fdec296d.zip |
Turn into an extension
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(); + } + }) + }) + } + } + } + } +} |