2009-03-28 00:50:36 -07:00
|
|
|
/* Make sure that the context menu appears on form elements */
|
|
|
|
|
|
|
|
function test() {
|
|
|
|
waitForExplicitFinish();
|
|
|
|
|
2009-09-15 01:07:25 -07:00
|
|
|
gBrowser.selectedTab = gBrowser.addTab();
|
2009-03-28 00:50:36 -07:00
|
|
|
|
2009-09-16 03:21:19 -07:00
|
|
|
gBrowser.selectedBrowser.addEventListener("load", function() {
|
|
|
|
gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
|
2009-03-28 00:50:36 -07:00
|
|
|
|
2009-09-16 03:21:19 -07:00
|
|
|
let doc = gBrowser.contentDocument;
|
2009-03-28 00:50:36 -07:00
|
|
|
let testInput = function(type, expected) {
|
|
|
|
let element = doc.createElement("input");
|
|
|
|
element.setAttribute("type", type);
|
|
|
|
doc.body.appendChild(element);
|
|
|
|
document.popupNode = element;
|
|
|
|
|
|
|
|
let contentAreaContextMenu = document.getElementById("contentAreaContextMenu");
|
2013-01-27 10:31:14 -08:00
|
|
|
let contextMenu = new nsContextMenu(contentAreaContextMenu);
|
2009-03-28 00:50:36 -07:00
|
|
|
|
|
|
|
is(contextMenu.shouldDisplay, expected, "context menu behavior for <input type=" + type + "> is wrong");
|
|
|
|
};
|
|
|
|
let testElement = function(tag, expected) {
|
|
|
|
let element = doc.createElement(tag);
|
|
|
|
doc.body.appendChild(element);
|
|
|
|
document.popupNode = element;
|
|
|
|
|
|
|
|
let contentAreaContextMenu = document.getElementById("contentAreaContextMenu");
|
2013-01-27 10:31:14 -08:00
|
|
|
let contextMenu = new nsContextMenu(contentAreaContextMenu);
|
2009-03-28 00:50:36 -07:00
|
|
|
|
|
|
|
is(contextMenu.shouldDisplay, expected, "context menu behavior for <" + tag + "> is wrong");
|
|
|
|
};
|
|
|
|
|
|
|
|
testInput("text", true);
|
|
|
|
testInput("password", true);
|
|
|
|
testInput("image", true);
|
2012-12-12 22:09:49 -08:00
|
|
|
testInput("button", true);
|
|
|
|
testInput("submit", true);
|
|
|
|
testInput("reset", true);
|
|
|
|
testInput("checkbox", true);
|
|
|
|
testInput("radio", true);
|
|
|
|
testElement("button", true);
|
|
|
|
testElement("select", true);
|
|
|
|
testElement("option", true);
|
|
|
|
testElement("optgroup", true);
|
2009-03-28 00:50:36 -07:00
|
|
|
|
|
|
|
// cleanup
|
|
|
|
document.popupNode = null;
|
|
|
|
gBrowser.removeCurrentTab();
|
|
|
|
finish();
|
|
|
|
}, true);
|
2009-09-16 03:21:19 -07:00
|
|
|
content.location = "data:text/html,test";
|
2009-03-28 00:50:36 -07:00
|
|
|
}
|