blob: 861f125f272c4247c99ea3a6176bc16def5d59cc [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body onload="runTest()">
<iframe id="crossOriginFrame" src="http://localhost:8000/security/resources/blank.html"></iframe>
<iframe id="sameOriginFrame" src="about:blank"></iframe>
<script>
description("Tests that iframe.contentDocument is not accessible cross-origin.");
jsTestIsAsync = true;
function shouldThrowOrReturnUndefinedOrNull(expression)
{
try {
result = eval(expression);
} catch (e) {
testPassed(expression + " threw exception " + e + ".");
return;
}
if (result === undefined)
testPassed(expression + " returned undefined.");
else if (result === null)
testPassed(expression + " returned null.");
else
testFailed(expression + " returned " + result);
}
function runTest()
{
crossOriginFrame = document.getElementById("crossOriginFrame");
sameOriginFrame = document.getElementById("sameOriginFrame");
shouldThrowOrReturnUndefinedOrNull('crossOriginFrame.contentDocument');
shouldThrowOrReturnUndefinedOrNull('Object.getOwnPropertyDescriptor(sameOriginFrame.__proto__, "contentDocument").get.call(crossOriginFrame)');
shouldThrowOrReturnUndefinedOrNull('Object.getOwnPropertyDescriptor(crossOriginFrame.__proto__, "contentDocument").get.call(crossOriginFrame)');
shouldThrowOrReturnUndefinedOrNull('Object.getOwnPropertyDescriptor(crossOriginFrame, "contentDocument")');
finishJSTest();
}
</script>
</body>
<script src="../../resources/js-test-post.js"></script>
</html>