Revert "Bug 1946600 - Add browserSetting verticalTabs. r=zombie,webidl,smaug" for causing multiple issues.

This reverts commit 0f9c499eaf.
This commit is contained in:
iulian moraru
2025-05-23 21:25:07 +03:00
committed by imoraru@mozilla.com
parent 85d13ee19d
commit 4efa73aa61
8 changed files with 1 additions and 187 deletions

View File

@@ -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"]

View File

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

View File

@@ -84,9 +84,6 @@ interface ExtensionBrowserSettings {
[Replaceable]
readonly attribute ExtensionSetting zoomSiteSpecific;
[Replaceable]
readonly attribute ExtensionSetting verticalTabs;
// API child namespaces.
[Replaceable, SameObject,

View File

@@ -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"),

View File

@@ -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."
}
}
},

View File

@@ -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");
}

View File

@@ -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)

View File

@@ -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;
};