mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-07-04 19:29:55 +00:00
66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
/* 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");
|
|
|
|
info("Waiting for panel to close");
|
|
let panelHiddenPromise = promisePanelHidden(window);
|
|
PanelUI.hide();
|
|
yield panelHiddenPromise;
|
|
|
|
info("Waiting for window to open");
|
|
let newWin = yield openAndLoadWindow({}, true);
|
|
|
|
info("Waiting for panel in new window to open");
|
|
let hideTrace = function() {
|
|
info(new Error().stack);
|
|
info("Panel was hidden.");
|
|
};
|
|
newWin.PanelUI.panel.addEventListener("popuphidden", hideTrace);
|
|
|
|
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");
|
|
|
|
newWin.PanelUI.panel.removeEventListener("popuphidden", hideTrace);
|
|
//XXXgijs on Linux, we're sometimes seeing the panel being hidden early
|
|
// in the newly created window, probably because something else steals focus.
|
|
if (newWin.PanelUI.panel.state != "closed") {
|
|
info("Panel is still open in new window, waiting for it to close");
|
|
panelHiddenPromise = promisePanelHidden(newWin);
|
|
newWin.PanelUI.hide();
|
|
yield panelHiddenPromise;
|
|
} else {
|
|
info("panel was already closed");
|
|
}
|
|
|
|
info("Waiting for new window to close");
|
|
yield promiseWindowClosed(newWin);
|
|
});
|
|
|
|
add_task(function asyncCleanUp() {
|
|
yield endCustomizing();
|
|
CustomizableUI.reset();
|
|
});
|
|
|