servo/tests/wpt/web-platform-tests/origin-isolation/parent-no-child-yes-same.sub.https.html

32 lines
1,010 B
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>Parent is not isolated, child is isolated, child is same-origin to the parent</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script type="module">
import { insertIframe, sendWasmModule, setBothDocumentDomains } from "./resources/helpers.mjs";
let frameWindow;
promise_setup(async () => {
frameWindow = await insertIframe("{{hosts[][]}}", "?1");
});
// Since they're same-origin, and the parent loaded without isolation, the
// child's request for isolation gets ignored, and both end up site-keyed.
promise_test(async () => {
const whatHappened = await sendWasmModule(frameWindow);
assert_equals(whatHappened, "WebAssembly.Module message received");
}, "message event must occur");
promise_test(async () => {
await setBothDocumentDomains(frameWindow);
// Must not throw
frameWindow.document;
}, "setting document.domain must give sync access");
</script>