Bug 973932 - Australis' CustomizeMode isn't resetting the currentset attribute on the addon-bar, r=mconley
authorGijs Kruitbosch <gijskruitbosch@gmail.com>
Thu, 27 Feb 2014 13:12:18 +0000
changeset 171621 e942764f652704a3f2fbb914117e55621e485084
parent 171620 963cc574a1003b468bb29c6d48ebe654ba97d939
child 171622 0acfd7cfea948de87fcd8374e7906ffc3fbb41cc
push id270
push userpvanderbeken@mozilla.com
push dateThu, 06 Mar 2014 09:24:21 +0000
reviewersmconley
bugs973932
milestone30.0a1
Bug 973932 - Australis' CustomizeMode isn't resetting the currentset attribute on the addon-bar, r=mconley
browser/base/content/browser.xul
browser/components/customizableui/test/browser.ini
browser/components/customizableui/test/browser_973932_addonbar_currentset.js
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -966,17 +966,18 @@
                          context="placesContext"/>
             </toolbarbutton>
           </hbox>
         </hbox>
       </toolbaritem>
     </toolbar>
 
     <!-- This is a shim which will go away ASAP. See bug 749804 for details -->
-    <toolbar id="addon-bar" toolbar-delegate="nav-bar" mode="icons" iconsize="small">
+    <toolbar id="addon-bar" toolbar-delegate="nav-bar" mode="icons" iconsize="small"
+             customizable="true">
       <hbox id="addonbar-closebutton"/>
       <statusbar id="status-bar"/>
     </toolbar>
 
     <toolbarpalette id="BrowserToolbarPalette">
 
 # Update primaryToolbarButtons in browser/themes/shared/browser.inc when adding
 # or removing default items with the toolbarbutton-1 class.
--- a/browser/components/customizableui/test/browser.ini
+++ b/browser/components/customizableui/test/browser.ini
@@ -64,9 +64,10 @@ skip-if = os == "linux"
 [browser_947987_removable_default.js]
 [browser_948985_non_removable_defaultArea.js]
 [browser_952963_areaType_getter_no_area.js]
 [browser_956602_remove_special_widget.js]
 [browser_969427_recreate_destroyed_widget_after_reset.js]
 [browser_969661_character_encoding_navbar_disabled.js]
 [browser_970511_undo_restore_default.js]
 [browser_972267_customizationchange_events.js]
+[browser_973932_addonbar_currentset.js]
 [browser_panel_toggle.js]
new file mode 100644
--- /dev/null
+++ b/browser/components/customizableui/test/browser_973932_addonbar_currentset.js
@@ -0,0 +1,30 @@
+/* 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";
+
+let addonbarID = CustomizableUI.AREA_ADDONBAR;
+let addonbar = document.getElementById(addonbarID);
+
+// Check that currentset is correctly updated after a reset:
+add_task(function() {
+  let placements = CustomizableUI.getWidgetIdsInArea(addonbarID);
+  is(placements.join(','), addonbar.getAttribute("currentset"), "Addon-bar currentset should match default placements");
+  ok(CustomizableUI.inDefaultState, "Should be in default state");
+  info("Adding a spring to add-on bar shim");
+  CustomizableUI.addWidgetToArea("spring", addonbarID, 1);
+  ok(addonbar.getElementsByTagName("toolbarspring").length, "There should be a spring in the toolbar");
+  ok(!CustomizableUI.inDefaultState, "Should no longer be in default state");
+  placements = CustomizableUI.getWidgetIdsInArea(addonbarID);
+  is(placements.join(','), addonbar.getAttribute("currentset"), "Addon-bar currentset should match placements after spring addition");
+
+  yield startCustomizing();
+  yield gCustomizeMode.reset();
+  ok(CustomizableUI.inDefaultState, "Should be in default state after reset");
+  placements = CustomizableUI.getWidgetIdsInArea(addonbarID);
+  is(placements.join(','), addonbar.getAttribute("currentset"), "Addon-bar currentset should match default placements after reset");
+  ok(!addonbar.getElementsByTagName("toolbarspring").length, "There should be no spring in the toolbar");
+  yield endCustomizing();
+});
+