diff options
Diffstat (limited to 'testing/web-platform/tests/page-visibility/iframe-unload.html')
-rw-r--r-- | testing/web-platform/tests/page-visibility/iframe-unload.html | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/page-visibility/iframe-unload.html b/testing/web-platform/tests/page-visibility/iframe-unload.html new file mode 100644 index 0000000000..6d049a846d --- /dev/null +++ b/testing/web-platform/tests/page-visibility/iframe-unload.html @@ -0,0 +1,49 @@ +<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> |