diff --git a/toolkit/components/extensions/ext-browserSettings.js b/toolkit/components/extensions/ext-browserSettings.js
index 5efaef086ab8..e7d45e25b63d 100644
--- a/toolkit/components/extensions/ext-browserSettings.js
+++ b/toolkit/components/extensions/ext-browserSettings.js
@@ -2,8 +2,6 @@
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
-XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
- "resource://gre/modules/AppConstants.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Services",
"resource://gre/modules/Services.jsm");
@@ -13,10 +11,6 @@ XPCOMUtils.defineLazyServiceGetter(this, "aboutNewTabService",
Cu.import("resource://gre/modules/ExtensionPreferencesManager.jsm");
-var {
- ExtensionError,
-} = ExtensionUtils;
-
const HOMEPAGE_OVERRIDE_SETTING = "homepage_override";
const HOMEPAGE_URL_PREF = "browser.startup.homepage";
const URL_STORE_TYPE = "url_overrides";
@@ -88,16 +82,6 @@ ExtensionPreferencesManager.addSetting("imageAnimationBehavior", {
},
});
-ExtensionPreferencesManager.addSetting("contextMenuShowEvent", {
- prefNames: [
- "ui.context_menus.after_mouseup",
- ],
-
- setCallback(value) {
- return {[this.prefNames[0]]: value === "mouseup"};
- },
-});
-
ExtensionPreferencesManager.addSetting("webNotificationsDisabled", {
prefNames: [
"permissions.default.desktop-notification",
@@ -140,35 +124,6 @@ this.browserSettings = class extends ExtensionAPI {
() => {
return aboutNewTabService.newTabURL;
}, URL_STORE_TYPE, true),
- contextMenuShowEvent: Object.assign(
- getSettingsAPI(
- extension,
- "contextMenuShowEvent",
- () => {
- if (AppConstants.platform === "win") {
- return "mouseup";
- }
- let prefValue = Services.prefs.getBoolPref(
- "ui.context_menus.after_mouseup", null);
- return prefValue ? "mouseup" : "mousedown";
- }
- ),
- {
- set: details => {
- if (!["mouseup", "mousedown"].includes(details.value)) {
- throw new ExtensionError(
- `${details.value} is not a valid value for contextMenuShowEvent.`);
- }
- if (AppConstants.platform === "android" ||
- (AppConstants.platform === "win" &&
- details.value === "mousedown")) {
- return false;
- }
- return ExtensionPreferencesManager.setSetting(
- extension.id, "contextMenuShowEvent", details.value);
- },
- }
- ),
webNotificationsDisabled: getSettingsAPI(extension,
"webNotificationsDisabled",
() => {
diff --git a/toolkit/components/extensions/schemas/browser_settings.json b/toolkit/components/extensions/schemas/browser_settings.json
index 791240a1865a..adf4ef4c163c 100644
--- a/toolkit/components/extensions/schemas/browser_settings.json
+++ b/toolkit/components/extensions/schemas/browser_settings.json
@@ -27,12 +27,6 @@
"type": "string",
"enum": ["normal", "none", "once"],
"description": "How images should be animated in the browser."
- },
- {
- "id": "ContextMenuMouseEvent",
- "type": "string",
- "enum": ["mouseup", "mousedown"],
- "description": "After which mouse event context menus should popup."
}
],
"properties": {
@@ -56,10 +50,6 @@
"$ref": "types.Setting",
"description": "Returns the value of the overridden new tab page. Read-only."
},
- "contextMenuShowEvent": {
- "$ref": "types.Setting",
- "description": "Controls after which mouse event context menus popup. This setting's value is of type ContextMenuMouseEvent, which has possible values of mouseup
and mousedown
."
- },
"webNotificationsDisabled": {
"$ref": "types.Setting",
"description": "Disables webAPI notifications."
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js b/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js
index 08ba62e6dc5a..b2e3b4d01e4a 100644
--- a/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js
@@ -28,20 +28,13 @@ add_task(async function test_browser_settings() {
"dom.popup_allowed_events": Preferences.get("dom.popup_allowed_events"),
"image.animation_mode": "none",
"permissions.default.desktop-notification": PERM_UNKNOWN_ACTION,
- "ui.context_menus.after_mouseup": false,
};
async function background() {
browser.test.onMessage.addListener(async (msg, apiName, value) => {
let apiObj = browser.browserSettings[apiName];
- let result = await apiObj.set({value});
- if (msg === "set") {
- browser.test.assertTrue(result, "set returns true.");
- browser.test.sendMessage("settingData", await apiObj.get({}));
- } else {
- browser.test.assertFalse(result, "set returns false for a no-op.");
- browser.test.sendMessage("no-op set");
- }
+ await apiObj.set({value});
+ browser.test.sendMessage("settingData", await apiObj.get({}));
});
}
@@ -80,14 +73,6 @@ add_task(async function test_browser_settings() {
}
}
- async function testNoOpSetting(setting, value, expected) {
- extension.sendMessage("setNoOp", setting, value);
- await extension.awaitMessage("no-op set");
- for (let pref in expected) {
- equal(Preferences.get(pref), expected[pref], `${pref} set correctly for ${value}`);
- }
- }
-
await testSetting(
"cacheEnabled", false,
{
@@ -125,48 +110,7 @@ add_task(async function test_browser_settings() {
AppConstants.MOZ_BUILD_APP !== "browser" ? undefined : PERM_UNKNOWN_ACTION,
});
- // This setting is a no-op on Android.
- if (AppConstants.platform === "android") {
- await testNoOpSetting("contextMenuShowEvent", "mouseup",
- {"ui.context_menus.after_mouseup": false});
- } else {
- await testSetting(
- "contextMenuShowEvent", "mouseup",
- {"ui.context_menus.after_mouseup": true});
- }
-
- // "mousedown" is also a no-op on Windows.
- if (["android", "win"].includes(AppConstants.platform)) {
- await testNoOpSetting("contextMenuShowEvent", "mousedown",
- {"ui.context_menus.after_mouseup": false});
- } else {
- await testSetting(
- "contextMenuShowEvent", "mousedown",
- {"ui.context_menus.after_mouseup": false});
- }
-
await extension.unload();
+
await promiseShutdownManager();
});
-
-add_task(async function test_bad_value() {
- async function background() {
- await browser.test.assertRejects(
- browser.browserSettings.contextMenuShowEvent.set({value: "bad"}),
- /bad is not a valid value for contextMenuShowEvent/,
- "contextMenuShowEvent.set rejects with an invalid value.");
-
- browser.test.sendMessage("done");
- }
-
- let extension = ExtensionTestUtils.loadExtension({
- background,
- manifest: {
- permissions: ["browserSettings"],
- },
- });
-
- await extension.startup();
- await extension.awaitMessage("done");
- await extension.unload();
-});