diff -r 000000000000 -r 6474c204b198 browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/components/customizableui/test/browser_945739_showInPrivateBrowsing_customize_mode.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,35 @@ +/* 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(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 = yield 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"); + yield promiseWindowClosed(privateWindow); + + CustomizableUI.destroyWidget(kWidgetId); +}); + +add_task(function asyncCleanup() { + yield resetCustomization(); +});