forked from mirrors/gecko-dev
Unfortunately, GetRestoringDocument can be false by the time we reach LoadComplete, if part of the restoration process managed to set up and then remove onload blockers. If that happens, we still don't want to fire a load event for a document that has already has one fired. Note that we could also use a boolean on the document to record whether we've fired a load event, as long as we were careful to unset it when the readyState transitions backwards from COMPLETE (e.g. document.open). It's not clear which approach is more robust.
73 lines
2.1 KiB
HTML
73 lines
2.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=
|
|
-->
|
|
<head>
|
|
<title>Test for Bug </title>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body onload="nextTest()">
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
|
|
/** Test for Bug **/
|
|
|
|
var testFiles =
|
|
[ "file_bug462076_1.html", // Dynamic frames before onload
|
|
"file_bug462076_2.html", // Dynamic frames when handling onload
|
|
"file_bug462076_3.html", // Dynamic frames after onload
|
|
"file_bug508537_1.html", // Dynamic frames and forward-back
|
|
"file_document_write_1.html", // Session history + document.write
|
|
//"file_static_and_dynamic_1.html",// Static and dynamic frames and forward-back
|
|
"file_bug534178.html", // Session history transaction clean-up.
|
|
"file_fragment_handling_during_load.html",
|
|
"file_nested_frames.html",
|
|
"file_shiftReload_and_pushState.html",
|
|
"file_scrollRestoration.html",
|
|
"file_bug1300461.html",
|
|
"file_bug1326251.html",
|
|
"file_bug1379762-1.html",
|
|
"file_bug1379762-2.html",
|
|
];
|
|
var testCount = 0; // Used by the test files.
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SimpleTest.requestFlakyTimeout("untriaged");
|
|
|
|
var testWindow;
|
|
function nextTest_() {
|
|
if (testFiles.length) {
|
|
testCount = 0;
|
|
let nextFile = testFiles.shift();
|
|
info("Running " + nextFile);
|
|
testWindow = window.open(nextFile, "", "width=360,height=480");
|
|
testWindow.onunload = function () { } // to prevent bfcache
|
|
} else {
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
// Needed by file_document_write_1.html
|
|
window.file_document_write_1_loadCount = 0;
|
|
function isTestDynamic() {
|
|
var dyn = testWindow.document.getElementById("dynamic");
|
|
is(dyn, null, "Should have gone back to the static page!");
|
|
nextTest();
|
|
testWindow.close();
|
|
}
|
|
|
|
function nextTest() {
|
|
setTimeout(nextTest_, 0);
|
|
}
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|