diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html')
-rw-r--r-- | testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html b/testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html new file mode 100644 index 0000000000..6fa196e094 --- /dev/null +++ b/testing/web-platform/tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-failure.https.sub.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Structured cloning of SharedArrayBuffers into same-origin-domain windows</title> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#structuredserialize"> +<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> +"use strict"; +document.domain = "{{host}}"; + +async_test(t => { + const iframe = document.createElement("iframe"); + t.add_cleanup(() => iframe.remove()); + iframe.src = "//{{domains[www1]}}:{{location[port]}}/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/iframe-domain-failure.sub.html"; + let domain; + let childCrossOriginIsolated; + window.onmessage = t.step_func((e) => { + if (e.data.name === "domain") { + domain = e.data.value; + return; + } + if (e.data.name === "crossOriginIsolated") { + childCrossOriginIsolated = e.data.value; + return; + } + if (e.data.name === "hasSharedArrayBuffer") { + const hasSharedArrayBuffer = e.data.value; + + // document.domain mutation is no-op because the surrounding agent + // cluster's cross-origin isolated is true. + assert_equals(domain, "{{domains[www1]}}"); + + // crossOriginIsolated is false in the nested frame because the frame is + // cross-origin and hence the cross-origin isolated capability is false. + // We use assert_equals instead of assert_false here to see if + // `childCrossOriginIsolated` is set. + assert_equals(childCrossOriginIsolated, false); + + assert_false(hasSharedArrayBuffer); + t.done(); + return; + } + assert_unreached("Got a message event, expected a messageerror event"); + }); + document.body.append(iframe); +}, "SharedArrayBuffer and a same-origin-domain (but not same-origin) iframe"); +</script> |