blob: 3cfcf367586fe7426409ec729332122c56f89203 [file] [log] [blame]
<html>
<body onload="startTest()">
<script src="../js/resources/js-test-pre.js"></script>
<script>
description("This test checks that an iframe that moves between pages with different visibility will have the correct visibility value.");
var jsTestIsAsync = true;
var window2, iframe;
var numVisibilityChanges = 0;
function window2Loaded() {
debug("Window 2 Loaded");
iframe = window2.document.getElementById("iframe");
shouldBeFalse("window.document.webkitHidden");
shouldBeFalse("window2.document.webkitHidden");
shouldBeFalse("iframe.contentDocument.webkitHidden");
// Change the visibility of the current page to invisible.
if (window.testRunner) {
numVisibilityChanges++;
window.testRunner.setPageVisibility("hidden");
}
}
function onVisibilityChange() {
shouldBeTrue("window.document.webkitHidden");
shouldBeFalse("window2.document.webkitHidden");
shouldBeFalse("iframe.contentDocument.webkitHidden");
window.document.adoptNode(iframe);
window.document.body.appendChild(iframe);
debug("Adopted iframe to Window 1");
shouldBeTrue("window.document.webkitHidden");
shouldBeFalse("window2.document.webkitHidden");
shouldBeTrue("iframe.contentDocument.webkitHidden");
window2.close();
finishJSTest();
}
function startTest() {
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.setCanOpenWindows();
}
debug("Window 1 Loaded");
document.addEventListener("webkitvisibilitychange",
onVisibilityChange, false);
window2 = window.open("resources/page-visibility-iframe-move-new-page.html");
window2.addEventListener("load", window2Loaded, false);
}
</script>
<script src="../js/resources/js-test-post.js"></script>
</body>
</html>