summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/page-visibility/iframe-unload.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/page-visibility/iframe-unload.html')
-rw-r--r--testing/web-platform/tests/page-visibility/iframe-unload.html49
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>