Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

"use strict";
/**
* Check inserting before a node that has moved from the toolbar into a
* non-customizable bit of the browser works.
*/
add_task(async function () {
for (let toolbar of ["nav-bar", "TabsToolbar"]) {
CustomizableUI.createWidget({
id: "real-button",
label: "test real button",
});
CustomizableUI.addWidgetToArea("real-button", toolbar);
CustomizableUI.addWidgetToArea("moved-button-not-here", toolbar);
let placements = CustomizableUI.getWidgetIdsInArea(toolbar);
Assert.deepEqual(
placements.slice(-2),
["real-button", "moved-button-not-here"],
"Should have correct placements"
);
let otherButton = document.createXULElement("toolbarbutton");
otherButton.id = "moved-button-not-here";
if (toolbar == "nav-bar") {
gURLBar.textbox.parentNode.appendChild(otherButton);
} else {
gBrowser.tabContainer.appendChild(otherButton);
}
CustomizableUI.destroyWidget("real-button");
CustomizableUI.createWidget({
id: "real-button",
label: "test real button",
});
let button = document.getElementById("real-button");
ok(button, "Button should exist");
if (button) {
let expectedContainer = CustomizableUI.getCustomizationTarget(
document.getElementById(toolbar)
);
is(
button.parentNode,
expectedContainer,
"Button should be in the toolbar"
);
}
CustomizableUI.destroyWidget("real-button");
otherButton.remove();
CustomizableUI.reset();
}
});