diff --git a/browser/components/preferences/tests/browser_experimental_features_filter.js b/browser/components/preferences/tests/browser_experimental_features_filter.js
index c9aebc9d171c..4b596786c413 100644
--- a/browser/components/preferences/tests/browser_experimental_features_filter.js
+++ b/browser/components/preferences/tests/browser_experimental_features_filter.js
@@ -17,7 +17,7 @@ add_task(async function testFilterFeatures() {
id: "test-featureA",
preference: "test.featureA",
title: "Experimental Feature 1",
- group: "experimental-features-group-customize-browsing",
+ group: "experimental-features-group-browsing",
description: "This is a fun experimental feature you can enable",
result: true,
},
@@ -25,7 +25,7 @@ add_task(async function testFilterFeatures() {
id: "test-featureB",
preference: "test.featureB",
title: "Experimental Thing 2",
- group: "experimental-features-group-customize-browsing",
+ group: "experimental-features-group-browsing",
description: "This is a very boring experimental tool",
// Visible since it's grouped with other features that match the search.
result: true,
@@ -34,7 +34,7 @@ add_task(async function testFilterFeatures() {
id: "test-featureC",
preference: "test.featureC",
title: "Experimental Thing 3",
- group: "experimental-features-group-customize-browsing",
+ group: "experimental-features-group-browsing",
description: "This is a fun experimental feature for you can enable",
result: true,
},
diff --git a/browser/components/preferences/tests/head.js b/browser/components/preferences/tests/head.js
index 1baa03fa169a..bc53a9a08cfb 100644
--- a/browser/components/preferences/tests/head.js
+++ b/browser/components/preferences/tests/head.js
@@ -203,7 +203,7 @@ class DefinitionServer {
id: "test-feature",
// These l10n IDs are just random so we have some text to display
title: "experimental-features-media-jxl",
- group: "experimental-features-group-customize-browsing",
+ group: "experimental-features-group-browsing",
description: "pane-experimental-description3",
restartRequired: false,
type: "boolean",
diff --git a/browser/components/sessionstore/test/marionette/test_restore_sidebar.py b/browser/components/sessionstore/test/marionette/test_restore_sidebar.py
index 95ccc0fa308c..76dc7d34ee24 100644
--- a/browser/components/sessionstore/test/marionette/test_restore_sidebar.py
+++ b/browser/components/sessionstore/test/marionette/test_restore_sidebar.py
@@ -166,6 +166,7 @@ class TestSessionRestore(SessionStoreTestCase):
self.marionette.execute_script(
"""
const window = BrowserWindowTracker.getTopWindow();
+ window.SidebarController.toolbarButton.click();
return window.SidebarController.sidebarContainer.hidden;
"""
),
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
index 0098aa90a22f..8b4f22ebc13f 100644
--- a/browser/components/sidebar/browser-sidebar.js
+++ b/browser/components/sidebar/browser-sidebar.js
@@ -21,8 +21,7 @@ var SidebarController = {
return document.getElementById(elementId);
},
get title() {
- let element = document.getElementById(elementId);
- return element?.getAttribute("label");
+ return document.getElementById(elementId).getAttribute("label");
},
...rest,
};
@@ -38,9 +37,8 @@ var SidebarController = {
const viewItem = document.getElementById(sidebar.menuId);
viewItem.hidden = !visible;
- let menuItem = document.getElementById(config.elementId);
// Add/remove switcher menu item.
- if (visible && !menuItem) {
+ if (visible) {
switcherMenuitem = this.createMenuItem(commandID, sidebar);
switcherMenuitem.setAttribute("id", config.elementId);
switcherMenuitem.removeAttribute("type");
@@ -69,10 +67,6 @@ var SidebarController = {
return this._sidebars;
}
- return this.generateSidebarsMap();
- },
-
- generateSidebarsMap() {
this._sidebars = new Map([
[
"viewHistorySidebar",
@@ -204,9 +198,6 @@ var SidebarController = {
_switcherTarget: null,
_switcherArrow: null,
_inited: false,
- _switcherListenersAdded: false,
- _verticalNewTabListenerAdded: false,
- _localesObserverAdded: false,
/**
* @type {MutationObserver | null}
@@ -255,6 +246,11 @@ var SidebarController = {
this._switcherPanel = document.getElementById("sidebarMenu-popup");
this._switcherTarget = document.getElementById("sidebar-switcher-target");
this._switcherArrow = document.getElementById("sidebar-switcher-arrow");
+ let newTabButton = document.getElementById("vertical-tabs-newtab-button");
+
+ newTabButton.addEventListener("command", event => {
+ BrowserCommands.openTab({ event });
+ });
if (
Services.prefs.getBoolPref(
"browser.tabs.allow_transparent_browser",
@@ -298,35 +294,22 @@ var SidebarController = {
if (this.sidebarVerticalTabsEnabled) {
this.toggleTabstrip();
}
- let newTabButton = document.getElementById("vertical-tabs-newtab-button");
- if (!this._verticalNewTabListenerAdded) {
- newTabButton.addEventListener("command", event => {
- BrowserCommands.openTab({ event });
- });
- this._verticalNewTabListenerAdded = true;
- }
} else {
this._switcherCloseButton = document.getElementById("sidebar-close");
- if (!this._switcherListenersAdded) {
- this._switcherCloseButton.addEventListener("command", () => {
- this.hide();
- });
- this._switcherTarget.addEventListener("command", () => {
- this.toggleSwitcherPanel();
- });
- this._switcherTarget.addEventListener("keydown", event => {
- this.handleKeydown(event);
- });
- this._switcherListenersAdded = true;
- }
+ this._switcherCloseButton.addEventListener("command", () => {
+ this.hide();
+ });
+ this._switcherTarget.addEventListener("command", () => {
+ this.toggleSwitcherPanel();
+ });
+ this._switcherTarget.addEventListener("keydown", event => {
+ this.handleKeydown(event);
+ });
}
this._inited = true;
- if (!this._localesObserverAdded) {
- Services.obs.addObserver(this, "intl:app-locales-changed");
- this._localesObserverAdded = true;
- }
+ Services.obs.addObserver(this, "intl:app-locales-changed");
this._initDeferred.resolve();
},
@@ -525,41 +508,6 @@ var SidebarController = {
}
},
- /**
- * Show/hide new sidebar based on sidebar.revamp pref
- */
- async toggleRevampSidebar() {
- if (this.isOpen) {
- this.hide();
- }
- // Reset sidebars map but preserve any existing extensions
- let extensionsArr = [];
- for (const [commandID, sidebar] of this.sidebars.entries()) {
- if (sidebar.hasOwnProperty("extensionId")) {
- extensionsArr.push({ commandID, sidebar });
- }
- }
- this.sidebars = this.generateSidebarsMap();
- for (const extension of extensionsArr) {
- this.sidebars.set(extension.commandID, extension.sidebar);
- }
- if (!this.sidebarRevampEnabled) {
- this.sidebarMain.hidden = true;
- document.getElementById("sidebar-header").hidden = false;
- // Disable vertical tabs if revamped sidebar is turned off
- if (this.sidebarVerticalTabsEnabled) {
- Services.prefs.setBoolPref("sidebar.verticalTabs", false);
- }
- } else {
- this.sidebarMain.hidden = false;
- }
- if (!this._sidebars.get(this.lastOpenedId)) {
- this.lastOpenedId = this.DEFAULT_SIDEBAR_ID;
- }
- this.show(this.lastOpenedId);
- this.init();
- },
-
/**
* Try and adopt the status of the sidebar from another window.
*
@@ -1203,7 +1151,7 @@ var SidebarController = {
// until about:blank has loaded (which does not happen as long as the
// element is hidden).
this.browser.setAttribute("src", "about:blank");
- this.browser.docShell?.createAboutBlankDocumentViewer(null, null);
+ this.browser.docShell.createAboutBlankDocumentViewer(null, null);
this._box.removeAttribute("checked");
this._box.hidden = this._splitter.hidden = true;
@@ -1258,11 +1206,6 @@ var SidebarController = {
arrowScrollbox.setAttribute("orient", "vertical");
tabStrip.setAttribute("orient", "vertical");
verticalTabs.append(tabStrip);
-
- // Enable revamped sidebar if vertical tabs is enabled
- if (!this.sidebarRevampEnabled) {
- Services.prefs.setBoolPref("sidebar.revamp", true);
- }
} else {
arrowScrollbox.setAttribute("orient", "horizontal");
tabStrip.setAttribute("orient", "horizontal");
@@ -1298,8 +1241,7 @@ XPCOMUtils.defineLazyPreferenceGetter(
SidebarController,
"sidebarRevampEnabled",
"sidebar.revamp",
- false,
- SidebarController.toggleRevampSidebar.bind(SidebarController)
+ false
);
XPCOMUtils.defineLazyPreferenceGetter(
SidebarController,
diff --git a/browser/components/sidebar/tests/browser/browser.toml b/browser/components/sidebar/tests/browser/browser.toml
index 3541b5485dd5..9bf5ab1235f3 100644
--- a/browser/components/sidebar/tests/browser/browser.toml
+++ b/browser/components/sidebar/tests/browser/browser.toml
@@ -36,4 +36,3 @@ run-if = ["os == 'mac'"] # Mac only feature
["browser_vertical_tabs.js"]
["browser_view_sidebar_menu.js"]
-skip-if = ["os == 'linux' && debug"] # Bug 1896421
diff --git a/browser/components/sidebar/tests/browser/browser_sidebar_prefs.js b/browser/components/sidebar/tests/browser/browser_sidebar_prefs.js
index 2389e3eaad87..deaa9e8952bb 100644
--- a/browser/components/sidebar/tests/browser/browser_sidebar_prefs.js
+++ b/browser/components/sidebar/tests/browser/browser_sidebar_prefs.js
@@ -142,53 +142,3 @@ add_task(async function test_conditional_tools() {
await BrowserTestUtils.closeWindow(win);
});
-
-/**
- * Check that the new sidebar is hidden/shown automatically (without a browser restart)
- * when flipping the sidebar.revamp pref
- */
-add_task(async function test_flip_revamp_pref() {
- const win = await BrowserTestUtils.openNewBrowserWindow();
- const sidebar = win.document.querySelector("sidebar-main");
- await sidebar.updateComplete;
-
- let verticalTabs = win.document.querySelector("#vertical-tabs");
- ok(
- !BrowserTestUtils.isVisible(verticalTabs),
- "Vertical tabs slot is not visible initially"
- );
- // Open history sidebar
- await toggleSidebarPanel(win, "viewHistorySidebar");
-
- await SpecialPowers.pushPrefEnv({ set: [["sidebar.verticalTabs", true]] });
- ok(BrowserTestUtils.isVisible(verticalTabs), "Vertical tabs slot is visible");
-
- ok(sidebar, "Revamped sidebar is shown initially.");
-
- await SpecialPowers.pushPrefEnv({ set: [["sidebar.revamp", false]] });
-
- await TestUtils.waitForCondition(() => {
- let isSidebarMainShown = !win.document.querySelector("sidebar-main").hidden;
- let isSwitcherPanelShown =
- !win.document.getElementById("sidebar-header").hidden;
- // Vertical tabs pref should be turned off when revamp pref is turned off
- let isVerticalTabsShown = BrowserTestUtils.isVisible(verticalTabs);
- return !isSidebarMainShown && isSwitcherPanelShown && !isVerticalTabsShown;
- }, "The new sidebar is hidden and the old sidebar is shown.");
-
- ok(true, "The new sidebar is hidden and the old sidebar is shown.");
-
- await SpecialPowers.pushPrefEnv({
- set: [["sidebar.revamp", true]],
- });
- await sidebar.updateComplete;
- await TestUtils.waitForCondition(() => {
- let isSidebarMainShown = !document.querySelector("sidebar-main").hidden;
- let isSwitcherPanelShown =
- !win.document.getElementById("sidebar-header").hidden;
- return isSidebarMainShown && !isSwitcherPanelShown;
- }, "The old sidebar is hidden and the new sidebar is shown.");
-
- ok(true, "The old sidebar is hidden and the new sidebar is shown.");
- await BrowserTestUtils.closeWindow(win);
-});
diff --git a/browser/components/sidebar/tests/browser/browser_toolbar_sidebar_button.js b/browser/components/sidebar/tests/browser/browser_toolbar_sidebar_button.js
index 50c8c1ee6699..71885e368563 100644
--- a/browser/components/sidebar/tests/browser/browser_toolbar_sidebar_button.js
+++ b/browser/components/sidebar/tests/browser/browser_toolbar_sidebar_button.js
@@ -134,12 +134,7 @@ add_task(async function test_expanded_state_for_always_show() {
await SpecialPowers.popPrefEnv();
});
-/*
-This test is failing after changes in bug 1906140 where we're hot swapping the sidebar.revamp pref.
-We should investigate as part of bug 1896421 - Tidy up tests with extra windows after sidebar revamp
-pref is made the default sidebar.
-
- add_task(async function test_states_for_hide_sidebar() {
+add_task(async function test_states_for_hide_sidebar() {
await SpecialPowers.pushPrefEnv({
set: [[SIDEBAR_VISIBILITY_PREF, "hide-sidebar"]],
});
@@ -206,4 +201,4 @@ pref is made the default sidebar.
await BrowserTestUtils.closeWindow(win);
await BrowserTestUtils.closeWindow(newWin);
await SpecialPowers.popPrefEnv();
-}); */
+});
diff --git a/toolkit/components/featuregates/Features.toml b/toolkit/components/featuregates/Features.toml
index f7cb8d6fe91b..5693b9f2bd08 100644
--- a/toolkit/components/featuregates/Features.toml
+++ b/toolkit/components/featuregates/Features.toml
@@ -14,32 +14,8 @@
# based on the order of appearance in this file. Settings within
# a group will also be determined by their order in this file.
-[sidebar]
-group = "experimental-features-group-customize-browsing"
-title = "sidebar-title"
-description = "sidebar-description"
-description-links = {connect= "https://connect.mozilla.org/t5/discussions/firefox-sidebar-and-vertical-tabs-try-them-out-in-nightly/m-p/63231#M22243"}
-restart-required = false
-preference = "sidebar.revamp"
-type = "boolean"
-bug-numbers = [1906140]
-is-public-jexl = "nightly_build"
-default-value-jexl = "false"
-
-[vertical-tabs]
-group = "experimental-features-group-customize-browsing"
-title = "vertical-tabs-title"
-description = "vertical-tabs-description"
-description-links = {connect= "https://connect.mozilla.org/t5/discussions/firefox-sidebar-and-vertical-tabs-try-them-out-in-nightly/m-p/63231#M22243"}
-restart-required = false
-preference = "sidebar.verticalTabs"
-type = "boolean"
-bug-numbers = [1906140]
-is-public-jexl = "nightly_build"
-default-value-jexl = "false"
-
[genai-chat]
-group = "experimental-features-group-customize-browsing"
+group = "experimental-features-group-browsing"
title = "genai-settings-chat-title"
description = "genai-settings-chat-description"
description-links = {connect= "https://connect.mozilla.org/t5/discussions/share-your-feedback-on-the-ai-services-experiment-in-nightly/m-p/60519#M21202"}
@@ -51,7 +27,7 @@ is-public-jexl = "nightly_build"
default-value-jexl = "false"
[url-bar-ime-search]
-group = "experimental-features-group-customize-browsing"
+group = "experimental-features-group-browsing"
title = "experimental-features-ime-search"
description = "experimental-features-ime-search-description"
restart-required = false
@@ -62,7 +38,7 @@ is-public-jexl = "true"
default-value-jexl = "false"
[auto-pip]
-group = "experimental-features-group-customize-browsing"
+group = "experimental-features-group-browsing"
title = "experimental-features-auto-pip"
description = "experimental-features-auto-pip-description"
restart-required = false
@@ -73,7 +49,7 @@ is-public-jexl = "true"
default-value-jexl = "false"
[webrtc-global-mute-toggles]
-group = "experimental-features-group-customize-browsing"
+group = "experimental-features-group-browsing"
title = "experimental-features-webrtc-global-mute-toggles"
description = "experimental-features-webrtc-global-mute-toggles-description"
restart-required = false
@@ -84,7 +60,7 @@ is-public-jexl = "nightly_build"
default-value-jexl = "false"
[cookie-samesite-none-requires-secure]
-group = "experimental-features-group-customize-browsing"
+group = "experimental-features-group-browsing"
title = "experimental-features-cookie-samesite-none-requires-secure2"
description = "experimental-features-cookie-samesite-none-requires-secure2-description"
restart-required = false
diff --git a/toolkit/locales/en-US/toolkit/featuregates/features.ftl b/toolkit/locales/en-US/toolkit/featuregates/features.ftl
index 34428a13d893..7a94d6447e26 100644
--- a/toolkit/locales/en-US/toolkit/featuregates/features.ftl
+++ b/toolkit/locales/en-US/toolkit/featuregates/features.ftl
@@ -51,18 +51,10 @@ experimental-features-auto-pip =
.label = Picture-in-Picture: auto-open on tab switch
experimental-features-auto-pip-description = Enable Picture-in-Picture on active videos when switching tabs.
-# Updated sidebar settings
-sidebar-title =
- .label = Sidebar
-sidebar-description = Easily access your history, tabs from other devices, sidebar extensions, and more as you browse. Share feedback
-vertical-tabs-title =
- .label = Vertical tabs
-vertical-tabs-description = Move your tabs from the top of the browser to the side. Requires you also try the sidebar. Share feedback
+experimental-features-group-browsing =
+ .label = Browsing
experimental-features-group-developer-tools =
.label = Developer Tools
experimental-features-group-webpage-display =
.label = Webpage Display
-experimental-features-group-customize-browsing =
- .label = Customize your browsing
-experimental-features-group-customize-browsing-description = If you try these features, share your thoughts on Connect