38 lines
1.5 KiB
HTML
38 lines
1.5 KiB
HTML
<script src="../../resources/js-test.js"></script>
|
|
<script>
|
|
description("Checks the value of detached subframe properties.");
|
|
onload = function()
|
|
{
|
|
detachedWindow = frames[0];
|
|
document.body.removeChild(document.getElementsByTagName("iframe")[0]);
|
|
|
|
// Chrome and Firefox agree with us.
|
|
shouldBeTrue("!!detachedWindow.postMessage");
|
|
shouldBeTrue("!!detachedWindow.close");
|
|
shouldBeTrue("!!detachedWindow.locationbar");
|
|
shouldBeTrue("!!detachedWindow.history");
|
|
shouldBeTrue("!!detachedWindow.screen");
|
|
shouldBeTrue("!!detachedWindow.location");
|
|
shouldBeTrue("!!detachedWindow.navigator");
|
|
shouldBeTrue("detachedWindow.closed");
|
|
shouldBeNull("detachedWindow.top");
|
|
shouldBeNull("detachedWindow.opener");
|
|
shouldBeNull("detachedWindow.parent");
|
|
shouldBeNull("detachedWindow.frameElement"); // Technically, Chrome returns undefined here, not null.
|
|
shouldBe("detachedWindow.window", "detachedWindow");
|
|
shouldBe("detachedWindow.frames", "detachedWindow");
|
|
shouldBe("detachedWindow.self", "detachedWindow");
|
|
|
|
// Chrome returns undefined but Firefox has a valid object.
|
|
shouldBeTrue("!detachedWindow.localStorage");
|
|
shouldBeTrue("!!detachedWindow.document");
|
|
shouldBeTrue("!!detachedWindow.XMLHttpRequest");
|
|
shouldBeTrue("!!detachedWindow.getComputedStyle");
|
|
|
|
// Chrome returns undefined but Firefox throws an exception.
|
|
shouldBe("detachedWindow.innerHeight", "0");
|
|
shouldBe("detachedWindow.innerWidth", "0");
|
|
}
|
|
</script>
|
|
<iframe src="about:blank"></iframe>
|