fune/browser/base/content/test/general/browser_popupUI.js
Blake Kaplan db63bd70d1 Bug 1330822 - Remove CPOWs from browser_popupUI.js. r=Felipe
Finding the popup window after the fact was going to be messy (maintaining
window identity across the message manager is a tricky task). Instead, it's
much easier to wait for the new window to open and grab a reference to it
then.

--HG--
extra : rebase_source : f2b316eb673a531d8f8040678c04d48c0b2424bd
2016-11-15 15:12:28 -08:00

37 lines
1.5 KiB
JavaScript

function test() {
waitForExplicitFinish();
SpecialPowers.pushPrefEnv({ set: [[ "dom.disable_open_during_load", false ]] });
let popupOpened = BrowserTestUtils.waitForNewWindow(true, "about:blank");
BrowserTestUtils.openNewForegroundTab(gBrowser,
"data:text/html,<html><script>popup=open('about:blank','','width=300,height=200')</script>"
);
popupOpened.then((win) => testPopupUI(win));
}
function testPopupUI(win) {
var doc = win.document;
ok(win.gURLBar, "location bar exists in the popup");
isnot(win.gURLBar.clientWidth, 0, "location bar is visible in the popup");
ok(win.gURLBar.readOnly, "location bar is read-only in the popup");
isnot(doc.getElementById("Browser:OpenLocation").getAttribute("disabled"), "true",
"'open location' command is not disabled in the popup");
let historyButton = doc.getAnonymousElementByAttribute(win.gURLBar, "anonid",
"historydropmarker");
is(historyButton.clientWidth, 0, "history dropdown button is hidden in the popup");
EventUtils.synthesizeKey("t", { accelKey: true }, win);
is(win.gBrowser.browsers.length, 1, "Accel+T doesn't open a new tab in the popup");
is(gBrowser.browsers.length, 3, "Accel+T opened a new tab in the parent window");
gBrowser.removeCurrentTab();
EventUtils.synthesizeKey("w", { accelKey: true }, win);
ok(win.closed, "Accel+W closes the popup");
if (!win.closed)
win.close();
gBrowser.removeCurrentTab();
finish();
}