summaryrefslogtreecommitdiff
path: root/legacy.base.js
diff options
context:
space:
mode:
authorSimon Parri <simonparri@ganzeria.com>2025-03-19 00:00:30 -0500
committerSimon Parri <simonparri@ganzeria.com>2025-08-13 10:38:07 -0500
commitde25e333e17f05140b82793776dbce51fdec296d (patch)
tree855b403b873e271308c59aaa455d73982552b9ea /legacy.base.js
parent312a791ae03bddd725dee063344801f959cfe44d (diff)
downloadlegacywolf-de25e333e17f05140b82793776dbce51fdec296d.tar.gz
legacywolf-de25e333e17f05140b82793776dbce51fdec296d.zip
Turn into an extension
Diffstat (limited to 'legacy.base.js')
-rw-r--r--legacy.base.js28
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();
+ }
+ })
+ })
+ }
+ }
+ }
+ }
+}