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_ExtensionControlledPopup.js"]
|
||||||
|
|
||||||
["browser_browserSetting_vertical_tabs.js"]
|
|
||||||
|
|
||||||
["browser_ext_action_popup_allowed_urls.js"]
|
["browser_ext_action_popup_allowed_urls.js"]
|
||||||
|
|
||||||
["browser_ext_activeScript.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]
|
[Replaceable]
|
||||||
readonly attribute ExtensionSetting zoomSiteSpecific;
|
readonly attribute ExtensionSetting zoomSiteSpecific;
|
||||||
|
|
||||||
[Replaceable]
|
|
||||||
readonly attribute ExtensionSetting verticalTabs;
|
|
||||||
|
|
||||||
// API child namespaces.
|
// API child namespaces.
|
||||||
|
|
||||||
[Replaceable, SameObject,
|
[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 {
|
this.browserSettings = class extends ExtensionAPI {
|
||||||
homePageOverrideListener(fire) {
|
homePageOverrideListener(fire) {
|
||||||
let listener = () => {
|
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: {
|
colorManagement: {
|
||||||
mode: makeSettingsAPI("colorManagement.mode"),
|
mode: makeSettingsAPI("colorManagement.mode"),
|
||||||
useNativeSRGB: makeSettingsAPI("colorManagement.useNativeSRGB"),
|
useNativeSRGB: makeSettingsAPI("colorManagement.useNativeSRGB"),
|
||||||
|
|||||||
@@ -110,10 +110,6 @@
|
|||||||
"zoomSiteSpecific": {
|
"zoomSiteSpecific": {
|
||||||
"$ref": "types.Setting",
|
"$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."
|
"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,
|
"gfx.webrender.compositor": true,
|
||||||
});
|
});
|
||||||
|
|
||||||
await testSetting("verticalTabs", false, {
|
|
||||||
"sidebar.verticalTabs": false,
|
|
||||||
});
|
|
||||||
|
|
||||||
await testSetting("verticalTabs", true, {
|
|
||||||
"sidebar.verticalTabs": true,
|
|
||||||
});
|
|
||||||
|
|
||||||
await extension.unload();
|
await extension.unload();
|
||||||
await promiseShutdownManager();
|
await promiseShutdownManager();
|
||||||
});
|
});
|
||||||
@@ -424,24 +416,6 @@ add_task(async function test_bad_value_android() {
|
|||||||
"closeTabsByDoubleClick.clear rejects on 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");
|
browser.test.sendMessage("done");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(
|
|||||||
mOpenSearchResultsInNewTabsSetting, mOpenUrlbarResultsInNewTabsSetting,
|
mOpenSearchResultsInNewTabsSetting, mOpenUrlbarResultsInNewTabsSetting,
|
||||||
mWebNotificationsDisabledSetting, mOverrideDocumentColorsSetting,
|
mWebNotificationsDisabledSetting, mOverrideDocumentColorsSetting,
|
||||||
mOverrideContentColorSchemeSetting, mUseDocumentFontsSetting,
|
mOverrideContentColorSchemeSetting, mUseDocumentFontsSetting,
|
||||||
mVerticalTabsSetting, mZoomFullPageSetting, mZoomSiteSpecificSetting,
|
mZoomFullPageSetting, mZoomSiteSpecificSetting, mColorManagementNamespace);
|
||||||
mColorManagementNamespace);
|
|
||||||
|
|
||||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ExtensionBrowserSettings)
|
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ExtensionBrowserSettings)
|
||||||
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
|
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
|
||||||
@@ -72,8 +71,6 @@ NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"zoomFullPage"_ns,
|
|||||||
ZoomFullPage)
|
ZoomFullPage)
|
||||||
NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"zoomSiteSpecific"_ns,
|
NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"zoomSiteSpecific"_ns,
|
||||||
ZoomSiteSpecific)
|
ZoomSiteSpecific)
|
||||||
NS_IMPL_WEBEXT_SETTING(ExtensionBrowserSettings, u"verticalTabs"_ns,
|
|
||||||
VerticalTabs)
|
|
||||||
|
|
||||||
ExtensionBrowserSettings::ExtensionBrowserSettings(
|
ExtensionBrowserSettings::ExtensionBrowserSettings(
|
||||||
nsIGlobalObject* aGlobal, ExtensionBrowser* aExtensionBrowser)
|
nsIGlobalObject* aGlobal, ExtensionBrowser* aExtensionBrowser)
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ class ExtensionBrowserSettings final : public nsISupports,
|
|||||||
ExtensionSetting* UseDocumentFonts();
|
ExtensionSetting* UseDocumentFonts();
|
||||||
ExtensionSetting* ZoomFullPage();
|
ExtensionSetting* ZoomFullPage();
|
||||||
ExtensionSetting* ZoomSiteSpecific();
|
ExtensionSetting* ZoomSiteSpecific();
|
||||||
ExtensionSetting* VerticalTabs();
|
|
||||||
|
|
||||||
ExtensionBrowserSettingsColorManagement*
|
ExtensionBrowserSettingsColorManagement*
|
||||||
GetExtensionBrowserSettingsColorManagement();
|
GetExtensionBrowserSettingsColorManagement();
|
||||||
@@ -100,7 +99,6 @@ class ExtensionBrowserSettings final : public nsISupports,
|
|||||||
RefPtr<ExtensionSetting> mUseDocumentFontsSetting;
|
RefPtr<ExtensionSetting> mUseDocumentFontsSetting;
|
||||||
RefPtr<ExtensionSetting> mZoomFullPageSetting;
|
RefPtr<ExtensionSetting> mZoomFullPageSetting;
|
||||||
RefPtr<ExtensionSetting> mZoomSiteSpecificSetting;
|
RefPtr<ExtensionSetting> mZoomSiteSpecificSetting;
|
||||||
RefPtr<ExtensionSetting> mVerticalTabsSetting;
|
|
||||||
RefPtr<ExtensionBrowserSettingsColorManagement> mColorManagementNamespace;
|
RefPtr<ExtensionBrowserSettingsColorManagement> mColorManagementNamespace;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user