Skip to content

Commit

Permalink
HTML: COOP+COEP blob URL popup
Browse files Browse the repository at this point in the history
Part of #18354.
  • Loading branch information
annevk committed Jan 13, 2020
1 parent 296eabe commit 941e4ec
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 2 deletions.
3 changes: 1 addition & 2 deletions html/cross-origin-embedder-policy/blob.https.html
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
28 changes: 28 additions & 0 deletions html/cross-origin-opener-policy/coep-blob-popup.https.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!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>
async_test(t => {
const origins = get_host_info();
const id = "tut mir leid";
const blob = new Blob([createScript(origins.ORIGIN, origins.HTTPS_REMOTE_ORIGIN, "opener", id)], {type: "text/html"});
const blobURL = URL.createObjectURL(blob);
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);
});
window.addEventListener("message", t.step_func_done(({ 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");
}));
});
</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 941e4ec

Please sign in to comment.