Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<html>
<title>visibilitychange fires on unload with iframes</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var frameDocs = [];
var docsLoaded = 0;
var numFrames = 3;
var ast = new async_test("visibilitychange fires on unload with iframes");
function startTest() {
if (++docsLoaded < numFrames)
return;
ast.step(function () {
frameDocs.push(window[0].document);
frameDocs.push(window[0][0].document);
frameDocs.push(window[0][1].document);
for (var i = 0; i < frameDocs.length; ++i) {
frameDocs[i].addEventListener(
"visibilitychange",
onVisibilityChange.bind(null, i), false);
}
document.body.removeChild(document.getElementById("frame1"));
});
}
var checkedFrames = 0;
function onVisibilityChange(i) {
ast.step(function () {
assert_equals(frameDocs[i].visibilityState, "hidden");
});
if (++checkedFrames >= numFrames) {
ast.done();
}
}
</script>
<iframe id="frame1" src="resources/iframe-with-subframes.html"></iframe>
</body>
</html>