commit d88fce9a0c41a2f964864311edb4818d0a9b3cac
parent 412ac33182f5e15eb8bc80c602c80c2a763149c0
Author: Jonathan Sudiaman <jsudiaman@mozilla.com>
Date: Tue, 28 Oct 2025 14:21:17 +0000
Bug 1996317 - Ensure that SidebarPinsPromo triggers a check for pinned tabs. r=kcochrane
Differential Revision: https://phabricator.services.mozilla.com/D270268
Diffstat:
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/browser/components/sidebar/sidebar-pins-promo.mjs b/browser/components/sidebar/sidebar-pins-promo.mjs
@@ -69,6 +69,7 @@ export default class SidebarPinsPromo extends MozLitElement {
this.addEventListener("drop", this);
this.addEventListener("dragleave", this);
lazy.SidebarManager.addEventListener("checkForPinnedTabsComplete", this);
+ lazy.SidebarManager.checkForPinnedTabs();
this.launcherObserver.observe(window.SidebarController.sidebarMain, {
attributeFilter: ["expanded"],
});
diff --git a/browser/components/sidebar/tests/marionette/test_initialize_vertical_tabs.py b/browser/components/sidebar/tests/marionette/test_initialize_vertical_tabs.py
@@ -262,3 +262,32 @@ class TestInitializeVerticalTabs(MarionetteTestCase):
"""
)
self.assertEqual(pref_value, "hide-sidebar")
+
+ def test_hide_drag_to_pin_promo_if_horizontal_tabs_pinned(self):
+ # Pin a tab using the horizontal tabstrip.
+ self.restart_with_prefs(
+ {
+ "sidebar.revamp": False,
+ "sidebar.verticalTabs": False,
+ }
+ )
+ self.marionette.execute_async_script(
+ """
+ let resolve = arguments[0];
+ let tab = gBrowser.selectedTab;
+ tab.addEventListener("TabPinned", resolve, { once: true });
+ gBrowser.pinTab(tab);
+ """
+ )
+
+ # Switch to vertical tabs.
+ self.marionette.execute_script(
+ """
+ Services.prefs.setBoolPref("sidebar.verticalTabs", true);
+ """
+ )
+
+ promo_card = self.marionette.find_element(By.ID, "drag-to-pin-promo-card")
+ self.assertFalse(
+ promo_card.is_displayed(), "Drag-to-pin promo card is not displayed."
+ )