<!
DOCTYPE HTML>
<
html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=396851
-->
<
head>
<
title>Test for Bug
396851</
title>
<
script src=
"/tests/SimpleTest/SimpleTest.js"></
script>
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css"/>
<
script type=
"text/javascript">
function throws(func, pattern, msg) {
try {
func();
ok(false, msg);
} catch (e) {
ok(pattern.test(e), `${msg}: Expect exception mathing ${pattern}`);
}
}
function go() {
var iframe = $(
"ifr");
var win =
iframe.contentWindow;
throws(() => win.document,
/Permission denied/,
"Unprivileged code should not be able to access cross-origin document");
if (SpecialPowers.useRemoteSubframes) {
throws(() => win.document,
/Permission denied/,
"Privileged code should not be able to access cross-process document");
} else {
ok(SpecialPowers.wrap(win).document != null,
"Able to access the cross-origin document");
}
SimpleTest.finish();
}
</
script>
</
head>
<
body>
<
a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=396851">Mozill
a Bug 396851</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<script type="text/javascript">
SimpleTest.waitForExplicitFinish();
</script>
<iframe id="ifr"
src="http://example.org/tests/js/xpconnect/tests/mochitest/inner.html"
onload="go()">
</iframe>
</body>
</html>