Skip to content

Commit

Permalink
Bug 1591944 [wpt PR 19947] - HTML: COOP+COEP blob URL popup, a=testonly
Browse files Browse the repository at this point in the history
Automatic update from web-platform-tests
HTML: COOP+COEP blob URL popup

Part of web-platform-tests/wpt#18354.
--

wpt-commits: 29e2c69f221b3cdb865daad8fb1ba012d335c87b
wpt-pr: 19947

UltraBlame original commit: 4a3afa78635a289a8562d6234f24bcedd014a66d
  • Loading branch information
marco-c committed Jan 28, 2020
1 parent 2f5ed83 commit 32b83fa
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,13 @@
t.add_cleanup(() => { frame.remove(); });
const path = new URL("resources/blob-url-factory.html", window.location).pathname;
frame.src = `${origin}${path}?id=${id}&variant=${variant}&crossOrigin=${crossOrigin}`;
window.addEventListener("message", t.step_func(({ data }) => {
window.addEventListener("message", t.step_func_done(({ data }) => {
if (data.id !== id) {
return;
}
assert_equals(data.origin, origin);
assert_true(data.sameOriginNoCORPSuccess, "Same-origin without CORP did not succeed");
assert_true(data.crossOriginNoCORPFailure, "Cross-origin without CORP did not fail");
t.done();
}));
document.body.append(frame);
}, `Cross-Origin-Embedder-Policy and blob: URL from ${origin} in subframe via ${variant}`);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<!doctype html>
<title>Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy: blob URL popup</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/common/get-host-info.sub.js></script>
<script src=../cross-origin-embedder-policy/resources/script-factory.js></script>
<script>
["window.open()", "<a>", "<a rel=noopener>"].forEach(type => {
promise_test(t => {
const origins = get_host_info();
const id = `tut mir leid ${type}`;
const blob = new Blob([createScript(origins.ORIGIN, origins.HTTPS_REMOTE_ORIGIN, "opener", id)], {type: "text/html"});
const blobURL = URL.createObjectURL(blob);

if (type === "window.open()") {
const popup = window.open(blobURL);
t.add_cleanup(() => popup.close());
popup.onload = t.step_func(() => {
assert_equals(popup.opener, window);
assert_equals(popup.location.href, blobURL);
assert_equals(popup.document.URL, blobURL);
assert_equals(popup.origin, window.origin);
});
} else {
const a = document.createElement("a");
a.target = type;
if (type === "<a rel=noopener>") {
a.rel = "noopener";
}
a.href = blobURL;
a.click();
}

return new Promise(resolve => {
window.addEventListener("message", t.step_func(({ data }) => {
assert_equals(data.id, id);
assert_equals(data.origin, window.origin);
assert_true(data.sameOriginNoCORPSuccess, "Same-origin without CORP did not succeed");
assert_true(data.crossOriginNoCORPFailure, "Cross-origin without CORP did not fail");
resolve();
}));
});
}, `COOP+COEP blob URL popup: ${type}`);
});
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

0 comments on commit 32b83fa

Please sign in to comment.