Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body></body>
<script>
const domain_start = document.domain;
const domain_new = domain_start.replace(/^[^.]+\./,'');
async_test(test => {
const iframe = document.createElement('iframe');
iframe.src = './iframe-with-about-blank-iframe.html';
iframe.onload = test.step_func_done(() => {
const doc0 = frames[0].frames[0].document;
const doc1 = frames[0].frames[1].document;
assert_equals(doc0.domain, domain_start);
assert_equals(doc1.domain, domain_start);
doc0.open();
doc1.open();
assert_equals(doc0.domain, domain_start);
assert_equals(doc1.domain, domain_start);
document.domain = domain_new;
assert_equals(doc0.domain, domain_start);
assert_equals(doc1.domain, domain_start);
doc0.close();
doc1.close();
assert_equals(doc0.domain, domain_start);
assert_equals(doc1.domain, domain_start);
});
document.body.appendChild(iframe);
}, "document.open() do not make the callee's origin to alias the caller's"
+ " one");
</script>
</html>