diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js index 2fe1c5d9e34..3902a34c586 100644 --- a/browser/components/customizableui/content/panelUI.js +++ b/browser/components/customizableui/content/panelUI.js @@ -121,18 +121,25 @@ const PanelUI = { */ show: function(aEvent) { let deferred = Promise.defer(); - if (this.panel.state == "open" || - document.documentElement.hasAttribute("customizing")) { - deferred.resolve(); - return deferred.promise; - } this.ensureReady().then(() => { + if (this.panel.state == "open" || + document.documentElement.hasAttribute("customizing")) { + deferred.resolve(); + return; + } + let editControlPlacement = CustomizableUI.getPlacementOfWidget("edit-controls"); if (editControlPlacement && editControlPlacement.area == CustomizableUI.AREA_PANEL) { updateEditUIVisibility(); } + let personalBookmarksPlacement = CustomizableUI.getPlacementOfWidget("personal-bookmarks"); + if (personalBookmarksPlacement && + personalBookmarksPlacement.area == CustomizableUI.AREA_PANEL) { + PlacesToolbarHelper.customizeChange(); + } + let anchor; if (!aEvent || aEvent.type == "command") { diff --git a/browser/components/customizableui/test/browser.ini b/browser/components/customizableui/test/browser.ini index b1c99b7677d..c37c133a0b0 100644 --- a/browser/components/customizableui/test/browser.ini +++ b/browser/components/customizableui/test/browser.ini @@ -65,6 +65,7 @@ skip-if = os == "linux" [browser_948985_non_removable_defaultArea.js] [browser_952963_areaType_getter_no_area.js] [browser_956602_remove_special_widget.js] +[browser_968447_bookmarks_toolbar_items_in_panel.js] [browser_969427_recreate_destroyed_widget_after_reset.js] [browser_969661_character_encoding_navbar_disabled.js] [browser_970511_undo_restore_default.js] diff --git a/browser/components/customizableui/test/browser_968447_bookmarks_toolbar_items_in_panel.js b/browser/components/customizableui/test/browser_968447_bookmarks_toolbar_items_in_panel.js new file mode 100644 index 00000000000..a2248325e2b --- /dev/null +++ b/browser/components/customizableui/test/browser_968447_bookmarks_toolbar_items_in_panel.js @@ -0,0 +1,32 @@ +/* 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"; + +// Bug 968447 - The Bookmarks Toolbar Items doesn't appear as a +// normal menu panel button in new windows. +add_task(function() { + const buttonId = "bookmarks-toolbar-placeholder"; + yield startCustomizing(); + CustomizableUI.addWidgetToArea("personal-bookmarks", CustomizableUI.AREA_PANEL); + yield endCustomizing(); + yield PanelUI.show(); + let bookmarksToolbarPlaceholder = document.getElementById(buttonId); + ok(bookmarksToolbarPlaceholder.classList.contains("toolbarbutton-1"), + "Button should have toolbarbutton-1 class"); + is(bookmarksToolbarPlaceholder.getAttribute("wrap"), "true", + "Button should have the 'wrap' attribute"); + yield PanelUI.hide(); + + let newWin = yield openAndLoadWindow(); + yield newWin.PanelUI.show(); + let newWinBookmarksToolbarPlaceholder = newWin.document.getElementById(buttonId); + ok(newWinBookmarksToolbarPlaceholder.classList.contains("toolbarbutton-1"), + "Button in new window should have toolbarbutton-1 class"); + is(newWinBookmarksToolbarPlaceholder.getAttribute("wrap"), "true", + "Button in new window should have 'wrap' attribute"); + yield newWin.PanelUI.hide(); + newWin.close(); + CustomizableUI.reset(); +});