73 lines
1.9 KiB
HTML
73 lines
1.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=619644
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 619644</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
|
<script type="text/javascript" src="prompt_common.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=619644">Mozilla Bug 619644</a>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
// This is a little yucky, but it works
|
|
// The contents of bug619644_inner.html
|
|
const expectedFinalDoc =
|
|
"<head><\/head><body><p>Original content<\/p>\n<script>\n window.opener.postMessage(\"\", \"*\");\n confirm(\"Message\");\n document.write(\"Extra content\");\n window.opener.postMessage(document.documentElement.innerHTML, \"*\");\n<\/script>Extra content<\/body>";
|
|
|
|
inittest();
|
|
|
|
var promptDone;
|
|
|
|
function inittest() {
|
|
window.addEventListener("message", runtest);
|
|
window.open("bug619644_inner.html", "619644");
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
}
|
|
|
|
function runtest() {
|
|
modalType = Ci.nsIPrompt.MODAL_TYPE_CONTENT;
|
|
|
|
window.removeEventListener("message", runtest);
|
|
window.addEventListener("message", checktest);
|
|
|
|
let state = {
|
|
msg: "Message",
|
|
iconClass: "question-icon",
|
|
titleHidden: true,
|
|
textHidden: true,
|
|
passHidden: true,
|
|
checkHidden: true,
|
|
textValue: "",
|
|
passValue: "",
|
|
checkMsg: "",
|
|
checked: false,
|
|
focused: "button0",
|
|
defButton: "button0",
|
|
};
|
|
let action = {
|
|
buttonClick: "ESC",
|
|
};
|
|
|
|
promptDone = handlePrompt(state, action);
|
|
}
|
|
|
|
function checktest(e) {
|
|
is(e.data, expectedFinalDoc, "ESC press should not abort document load");
|
|
e.source.close();
|
|
promptDone.then(endtest);
|
|
}
|
|
|
|
function endtest() {
|
|
info("Ending test");
|
|
SimpleTest.finish();
|
|
}
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|