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(); -});