Bug 968447 - The Bookmarks Toolbar Items doesn't appear as a normal menu panel button in new windows. r=Gijs

--HG--
extra : rebase_source : 446af8d36736c74cff9e02614f80ac61b757d9ff
This commit is contained in:
Jared Wein 2014-02-27 09:44:33 -05:00
parent a18c2212b0
commit 0a0a96549d
3 changed files with 45 additions and 5 deletions

View File

@ -121,18 +121,25 @@ const PanelUI = {
*/
show: function(aEvent) {
let deferred = Promise.defer();
this.ensureReady().then(() => {
if (this.panel.state == "open" ||
document.documentElement.hasAttribute("customizing")) {
deferred.resolve();
return deferred.promise;
return;
}
this.ensureReady().then(() => {
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") {

View File

@ -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]

View File

@ -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();
});