| <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> |