56 lines
1.6 KiB
HTML
56 lines
1.6 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="main"/>
|
|
<script>
|
|
description("This tests that several ways of making an iframe that isn't inserted into a document tree"
|
|
+ " but has a child frame will fail.");
|
|
jsTestIsAsync = true;
|
|
|
|
main = document.getElementById("main");
|
|
|
|
try {
|
|
container = main.appendChild(document.createElement("div"));
|
|
helperFrame = container.appendChild(document.createElement("iframe"));
|
|
targetFrame1 = document.createElement("iframe");
|
|
|
|
helperFrame.contentWindow.onunload = function() {
|
|
container.insertBefore(targetFrame1, helperFrame);
|
|
}
|
|
|
|
main.removeChild(container);
|
|
} catch (e) { }
|
|
shouldBeTrue("targetFrame1.contentWindow == undefined");
|
|
|
|
try {
|
|
container = main.appendChild(document.createElement("div"));
|
|
helperElement = container.appendChild(document.createElement("input"));
|
|
helperElement.focus();
|
|
targetFrame2 = document.createElement("iframe");
|
|
|
|
helperElement.onblur = function() {
|
|
container.appendChild(targetFrame2);
|
|
}
|
|
|
|
main.removeChild(container);
|
|
} catch (e) { }
|
|
shouldBeTrue("targetFrame2.contentWindow == undefined");
|
|
|
|
try {
|
|
container = document.createElement("div");
|
|
targetFrame3 = container.appendChild(document.createElement("iframe"));
|
|
helperFrame = targetFrame3.appendChild(document.createElement("iframe"));
|
|
helperFrame.src = "javascript:top.container.removeChild(top.targetFrame3)";
|
|
document.body.appendChild(container);
|
|
} catch (e) { }
|
|
|
|
setTimeout(() => {
|
|
shouldBeTrue("targetFrame3.contentWindow == undefined");
|
|
finishJSTest();
|
|
}, 0);
|
|
</script>
|
|
</body>
|
|
</html>
|