iframe-unload.html (1120B)
1 <html> 2 <title>visibilitychange fires on unload with iframes</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <div id="log"></div> 6 <script> 7 8 var frameDocs = []; 9 var docsLoaded = 0; 10 var numFrames = 3; 11 12 var ast = new async_test("visibilitychange fires on unload with iframes"); 13 14 function startTest() { 15 if (++docsLoaded < numFrames) 16 return; 17 18 ast.step(function () { 19 frameDocs.push(window[0].document); 20 frameDocs.push(window[0][0].document); 21 frameDocs.push(window[0][1].document); 22 23 for (var i = 0; i < frameDocs.length; ++i) { 24 frameDocs[i].addEventListener( 25 "visibilitychange", 26 onVisibilityChange.bind(null, i), false); 27 } 28 29 document.body.removeChild(document.getElementById("frame1")); 30 }); 31 } 32 33 var checkedFrames = 0; 34 35 function onVisibilityChange(i) { 36 ast.step(function () { 37 assert_equals(frameDocs[i].visibilityState, "hidden"); 38 }); 39 if (++checkedFrames >= numFrames) { 40 ast.done(); 41 } 42 } 43 44 45 46 </script> 47 <iframe id="frame1" src="resources/iframe-with-subframes.html"></iframe> 48 </body> 49 </html>