Bug 1332447 Part 3 - Add pref for controlling tab hiding API ; r?bwinton
MozReview-Commit-ID: 721IqbwgsmB
--- a/browser/components/extensions/ext-windows.js
+++ b/browser/components/extensions/ext-windows.js
@@ -237,20 +237,28 @@ this.windows = class extends ExtensionAP
windowTracker.removeListener("domwindowclosed", listener);
resolve();
};
windowTracker.addListener("domwindowclosed", listener);
});
},
getTabsVisibility(windowId) {
+ let pref = Services.prefs.getBoolPref("extensions.webextensions.tabHidingApi");
+ if (!pref) {
+ throw new ExtensionError("Tab hiding API is disabled");
+ }
let win = windowManager.get(windowId, context);
return Promise.resolve(win.tabVisibilityManager.tabsVisibility);
},
setTabsVisibility(windowId, visible) {
+ let pref = Services.prefs.getBoolPref("extensions.webextensions.tabHidingApi");
+ if (!pref) {
+ throw new ExtensionError("Tab hiding API is disabled");
+ }
let win = windowManager.get(windowId, context);
win.tabVisibilityManager.setTabsVisibility(context, visible);
},
},
};
}
};
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5004,16 +5004,18 @@ pref("extensions.allow-non-mpc-extension
pref("extensions.webextensions.keepStorageOnUninstall", false);
pref("extensions.webextensions.keepUuidOnUninstall", false);
// Redirect basedomain used by identity api
pref("extensions.webextensions.identity.redirectDomain", "extensions.allizom.org");
// Whether or not webextension themes are supported.
pref("extensions.webextensions.themes.enabled", false);
pref("extensions.webextensions.themes.icons.enabled", false);
pref("extensions.webextensions.remote", false);
+// Whether the tab hiding API is enabled
+pref("extensions.webextensions.tabHidingApi", false);
// Whether or not the moz-extension resource loads are remoted. For debugging
// purposes only. Setting this to false will break moz-extension URI loading
// unless other process sandboxing and extension remoting prefs are changed.
pref("extensions.webextensions.protocol.remote", true);
// Report Site Issue button
pref("extensions.webcompat-reporter.newIssueEndpoint", "https://webcompat.com/issues/new");
#if defined(MOZ_DEV_EDITION) || defined(NIGHTLY_BUILD)