Revert "Bug 1946600 - Add browserSetting verticalTabs. r=zombie,webidl,smaug" for causing multiple issues.
This reverts commit 0f9c499eaf.
This commit is contained in:
committed by
imoraru@mozilla.com
parent
85d13ee19d
commit
4efa73aa61
@@ -55,8 +55,6 @@ skip-if = [
|
||||
|
||||
["browser_ExtensionControlledPopup.js"]
|
||||
|
||||
["browser_browserSetting_vertical_tabs.js"]
|
||||
|
||||
["browser_ext_action_popup_allowed_urls.js"]
|
||||
|
||||
["browser_ext_activeScript.js"]
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/**
|
||||
* This file tests the behaviour of the browserSetting verticalTabs against
|
||||
* sidebar verticalTabs.
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const SIDEBAR_VERTICAL_TABS = "sidebar.verticalTabs";
|
||||
|
||||
const isSidebarVerticalTabs = () => {
|
||||
const isEnabled = Services.prefs.getBoolPref(SIDEBAR_VERTICAL_TABS);
|
||||
Assert.equal(
|
||||
isEnabled,
|
||||
CustomizableUI.verticalTabsEnabled,
|
||||
"Preference is synced with CustomizableUI bool."
|
||||
);
|
||||
return isEnabled;
|
||||
};
|
||||
|
||||
add_task(async function test_multiple_extensions_overriding_home_page() {
|
||||
function background() {
|
||||
browser.test.onMessage.addListener(async (msg, value) => {
|
||||
switch (msg) {
|
||||
case "tryGet": {
|
||||
let getResult = await browser.browserSettings.verticalTabs.get({});
|
||||
browser.test.sendMessage("verticalTabsGet", getResult);
|
||||
break;
|
||||
}
|
||||
case "trySet": {
|
||||
await browser.browserSettings.verticalTabs.set({
|
||||
value,
|
||||
});
|
||||
browser.test.sendMessage("verticalTabsSet");
|
||||
break;
|
||||
}
|
||||
case "tryClear": {
|
||||
await browser.browserSettings.verticalTabs.clear({});
|
||||
browser.test.sendMessage("verticalTabsClear");
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let extObj = {
|
||||
manifest: {
|
||||
chrome_settings_overrides: {},
|
||||
permissions: ["browserSettings"],
|
||||
},
|
||||
useAddonManager: "temporary",
|
||||
background,
|
||||
};
|
||||
|
||||
let ext = ExtensionTestUtils.loadExtension(extObj);
|
||||
await ext.startup();
|
||||
|
||||
async function checkVerticalTabsGet(expectedValue) {
|
||||
ext.sendMessage("tryGet");
|
||||
let verticalTabsGet = await ext.awaitMessage("verticalTabsGet");
|
||||
is(
|
||||
verticalTabsGet.value,
|
||||
expectedValue,
|
||||
`verticalTabs setting returns the expected value: ${expectedValue}.`
|
||||
);
|
||||
}
|
||||
|
||||
// Changes through sidebar.verticalTabs are reflected in browserSettings.verticalTabs.
|
||||
await SpecialPowers.pushPrefEnv({
|
||||
set: [[SIDEBAR_VERTICAL_TABS, false]],
|
||||
});
|
||||
|
||||
await checkVerticalTabsGet(false);
|
||||
ok(!isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be false.`);
|
||||
|
||||
await SpecialPowers.pushPrefEnv({
|
||||
set: [[SIDEBAR_VERTICAL_TABS, true]],
|
||||
});
|
||||
|
||||
await checkVerticalTabsGet(true);
|
||||
ok(isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be true.`);
|
||||
|
||||
await SpecialPowers.pushPrefEnv({
|
||||
set: [[SIDEBAR_VERTICAL_TABS, false]],
|
||||
});
|
||||
|
||||
await checkVerticalTabsGet(false);
|
||||
ok(!isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be false.`);
|
||||
|
||||
// Changes through browserSettings.verticalTabs are reflected in sidebar.verticalTabs.
|
||||
ext.sendMessage("trySet", true);
|
||||
await ext.awaitMessage("verticalTabsSet");
|
||||
await checkVerticalTabsGet(true);
|
||||
ok(isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be true.`);
|
||||
|
||||
ext.sendMessage("trySet", false);
|
||||
await ext.awaitMessage("verticalTabsSet");
|
||||
await checkVerticalTabsGet(false);
|
||||
ok(!isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be false.`);
|
||||
|
||||
ext.sendMessage("trySet", true);
|
||||
await ext.awaitMessage("verticalTabsSet");
|
||||
|
||||
ext.sendMessage("tryClear");
|
||||
await ext.awaitMessage("verticalTabsClear");
|
||||
await checkVerticalTabsGet(false);
|
||||
ok(!isSidebarVerticalTabs(), `expect ${SIDEBAR_VERTICAL_TABS} to be false.`);
|
||||
|
||||
await ext.unload();
|
||||
});
|
||||
@@ -84,9 +84,6 @@ interface ExtensionBrowserSettings {
|
||||
[Replaceable]
|
||||
readonly attribute ExtensionSetting zoomSiteSpecific;
|
||||
|
||||
[Replaceable]
|
||||
readonly attribute ExtensionSetting verticalTabs;
|
||||
|
||||
// API child namespaces.
|
||||
|
||||
[Replaceable, SameObject,
|
||||
|
||||
@@ -334,27 +334,6 @@ ExtensionPreferencesManager.addSetting("zoomSiteSpecific", {
|
||||
},
|
||||
});
|
||||
|
||||
ExtensionPreferencesManager.addSetting("verticalTabs", {
|
||||
permission: "browserSettings",
|
||||
prefNames: ["sidebar.verticalTabs"],
|
||||
|
||||
setCallback(value) {
|
||||
return { [this.prefNames[0]]: value };
|
||||
},
|
||||
|
||||
getCallback() {
|
||||
return Services.prefs.getBoolPref("sidebar.verticalTabs");
|
||||
},
|
||||
|
||||
validate() {
|
||||
if (AppConstants.platform == "android") {
|
||||
throw new ExtensionError(
|
||||
`android is not a supported platform for verticalTabs.`
|
||||
);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
this.browserSettings = class extends ExtensionAPI {
|
||||
homePageOverrideListener(fire) {
|
||||
let listener = () => {
|
||||
@@ -600,20 +579,6 @@ this.browserSettings = class extends ExtensionAPI {
|
||||
);
|
||||
},
|
||||
}),
|
||||
verticalTabs: Object.assign(makeSettingsAPI("verticalTabs"), {
|
||||
set: details => {
|
||||
if (typeof details.value !== "boolean") {
|
||||
throw new ExtensionError(
|
||||
`${details.value} is not a valid value for verticalTabs.`
|
||||
);
|
||||
}
|
||||
return ExtensionPreferencesManager.setSetting(
|
||||
extension.id,
|
||||
"verticalTabs",
|
||||
details.value
|
||||
);
|
||||
},
|
||||
}),
|
||||
colorManagement: {
|
||||
mode: makeSettingsAPI("colorManagement.mode"),
|
||||
useNativeSRGB: makeSettingsAPI("colorManagement.useNativeSRGB"),
|
||||
|
||||
@@ -110,10 +110,6 @@
|
||||
"zoomSiteSpecific": {
|
||||
"$ref": "types.Setting",
|
||||
"description": "This boolean setting controls whether zoom is applied on a per-site basis or to the current tab only. If privacy.resistFingerprinting is true, this setting has no effect and zoom is applied to the current tab only."
|
||||
},
|
||||
"verticalTabs": {
|
||||
"$ref": "types.Setting",
|
||||
"description": "This boolean setting controls whether vertical tabs are enabled."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -317,14 +317,6 @@ add_task(async function test_browser_settings() {
|
||||
"gfx.webrender.compositor": true,
|
||||
});
|
||||
|
||||
await testSetting("verticalTabs", false, {
|
||||
"sidebar.verticalTabs": false,
|
||||
});
|
||||
|
||||
await testSetting("verticalTabs", true, {
|
||||
"sidebar.verticalTabs": true,
|
||||
});
|
||||
|
||||
await extension.unload();
|
||||
await promiseShutdownManager();
|
||||
});
|
||||
@@ -424,24 +416,6 @@ add_task(async function test_bad_value_android() {
|
||||
"closeTabsByDoubleClick.clear rejects on Android."
|
||||
);
|
||||
|
||||
await browser.test.assertRejects(
|
||||
browser.browserSettings.verticalTabs.set({ value: true }),
|
||||
/android is not a supported platform for verticalTabs/,
|
||||
"verticalTabs.set rejects on Android."
|
||||
);
|
||||
|
||||
await browser.test.assertRejects(
|
||||
browser.browserSettings.verticalTabs.get({}),
|
||||
/android is not a supported platform for verticalTabs/,
|
||||
"verticalTabs.get rejects on Android."
|
||||
);
|
||||
|
||||
await browser.test.assertRejects(
|
||||
browser.browserSettings.verticalTabs.clear({}),
|
||||
/android is not a supported platform for verticalTabs/,
|
||||
"verticalTabs.clear rejects on Android."
|
||||
);
|
||||
|
||||
browser.test.sendMessage("done");
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,7 @@ NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(
|
||||
mOpenSearchResultsInNewTabsSetting, mOpenUrlbarResultsInNewTabsSetting,
|
||||
mWebNotificationsDisabledSetting, mOverrideDocumentColorsSetting,
|
||||
mOverrideContentColorSchemeSetting, mUseDocumentFontsSetting,
|
||||
mVerticalTabsSetting, mZoomFullPageSetting, mZoomSiteSpecificSetting,
|
||||
mColorManagementNamespace);
|
||||
mZoomFullPageSetting, mZoomSiteSpecificSetting, mColorManagementNamespace);
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ExtensionBrowserSettings)
|
||||
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
|
||||
@@ -72,8 +71,6 @@ NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"zoomFullPage"_ns,
|
||||
ZoomFullPage)
|
||||
NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"zoomSiteSpecific"_ns,
|
||||
ZoomSiteSpecific)
|
||||
NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"verticalTabs"_ns,
|
||||
VerticalTabs)
|
||||
|
||||
ExtensionBrowserSettings::ExtensionBrowserSettings(
|
||||
nsIGlobalObject* aGlobal, ExtensionBrowser* aExtensionBrowser)
|
||||
|
||||
@@ -69,7 +69,6 @@ class ExtensionBrowserSettings final : public nsISupports,
|
||||
ExtensionSetting* UseDocumentFonts();
|
||||
ExtensionSetting* ZoomFullPage();
|
||||
ExtensionSetting* ZoomSiteSpecific();
|
||||
ExtensionSetting* VerticalTabs();
|
||||
|
||||
ExtensionBrowserSettingsColorManagement*
|
||||
GetExtensionBrowserSettingsColorManagement();
|
||||
@@ -100,7 +99,6 @@ class ExtensionBrowserSettings final : public nsISupports,
|
||||
RefPtr<ExtensionSetting> mUseDocumentFontsSetting;
|
||||
RefPtr<ExtensionSetting> mZoomFullPageSetting;
|
||||
RefPtr<ExtensionSetting> mZoomSiteSpecificSetting;
|
||||
RefPtr<ExtensionSetting> mVerticalTabsSetting;
|
||||
RefPtr<ExtensionBrowserSettingsColorManagement> mColorManagementNamespace;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user