summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js')
-rw-r--r--browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js b/browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js
new file mode 100644
index 0000000000..bac97aed3b
--- /dev/null
+++ b/browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js
@@ -0,0 +1,42 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const kWidgetId = "test-private-browsing-customize-mode-widget";
+
+// Add a widget via the API with showInPrivateBrowsing set to false
+// and ensure it does not appear in the list of unused widgets in private
+// windows.
+add_task(async function testPrivateBrowsingCustomizeModeWidget() {
+ CustomizableUI.createWidget({
+ id: kWidgetId,
+ showInPrivateBrowsing: false,
+ });
+
+ let normalWidgetArray = CustomizableUI.getUnusedWidgets(gNavToolbox.palette);
+ normalWidgetArray = normalWidgetArray.map(w => w.id);
+ ok(
+ normalWidgetArray.indexOf(kWidgetId) > -1,
+ "Widget should appear as unused in non-private window"
+ );
+
+ let privateWindow = await openAndLoadWindow({ private: true });
+ let privateWidgetArray = CustomizableUI.getUnusedWidgets(
+ privateWindow.gNavToolbox.palette
+ );
+ privateWidgetArray = privateWidgetArray.map(w => w.id);
+ is(
+ privateWidgetArray.indexOf(kWidgetId),
+ -1,
+ "Widget should not appear as unused in private window"
+ );
+ await promiseWindowClosed(privateWindow);
+
+ CustomizableUI.destroyWidget(kWidgetId);
+});
+
+add_task(async function asyncCleanup() {
+ await resetCustomization();
+});