From ae7263428e252a25007f1c6e53baec204cb2a1d6 Mon Sep 17 00:00:00 2001 From: daijro Date: Tue, 11 Feb 2025 12:22:08 -0600 Subject: [PATCH] Add an `allowAddonNewtab` toggle #188 --- patches/disable-extension-newtab.patch | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/patches/disable-extension-newtab.patch b/patches/disable-extension-newtab.patch index 84013bc..b76a1a6 100644 --- a/patches/disable-extension-newtab.patch +++ b/patches/disable-extension-newtab.patch @@ -1,24 +1,28 @@ diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js -index e7a516dcd3..afb84679db 100644 +index 179816fa96..c7de1c2278 100644 --- a/browser/components/extensions/parent/ext-browser.js +++ b/browser/components/extensions/parent/ext-browser.js -@@ -62,6 +62,7 @@ extensions.on("page-shutdown", (type, context) => { +@@ -62,6 +62,9 @@ extensions.on("page-shutdown", (type, context) => { /* eslint-enable mozilla/balanced-listeners */ global.openOptionsPage = extension => { -+ if (true) {return Promise.reject({ message: "Rejected by Camoufox." })}; ++ if (!ChromeUtils.camouGetBool('allowAddonNewtab', false)) { ++ return Promise.reject({ message: "Rejected by Camoufox." }); ++ } let window = windowTracker.topWindow; if (!window) { return Promise.reject({ message: "No browser window available" }); diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js -index 4b8d296d67..09342331e2 100644 +index b47f0510e3..649caccc60 100644 --- a/browser/components/extensions/parent/ext-tabs.js +++ b/browser/components/extensions/parent/ext-tabs.js -@@ -683,6 +683,7 @@ this.tabs = class extends ExtensionAPIPersistent { +@@ -700,6 +700,9 @@ this.tabs = class extends ExtensionAPIPersistent { }).api(), create(createProperties) { -+ if (true) {return Promise.reject({ message: "Rejected by Camoufox." })}; ++ if (!ChromeUtils.camouGetBool('allowAddonNewtab', false)) { ++ return Promise.reject({ message: "Rejected by Camoufox." }); ++ } return new Promise(resolve => { let window = createProperties.windowId !== null