diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/tests/mochitest/whatwg/postMessage_joined_helper2.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/tests/mochitest/whatwg/postMessage_joined_helper2.html')
-rw-r--r-- | dom/tests/mochitest/whatwg/postMessage_joined_helper2.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dom/tests/mochitest/whatwg/postMessage_joined_helper2.html b/dom/tests/mochitest/whatwg/postMessage_joined_helper2.html new file mode 100644 index 0000000000..0f6c063cc4 --- /dev/null +++ b/dom/tests/mochitest/whatwg/postMessage_joined_helper2.html @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> +<!-- +http://example.org/tests/dom/tests/mochitest/whatwg/postMessage_joined_helper2.html +--> +<head> + <title>postMessage joined domains, innermost frame</title> + <script type="application/javascript"> + function receiveMessage(evt) + { + var response = "subframe-test-finished"; + + if (evt.origin !== "http://sub1.test1.example.org") + { + response += " wrong-origin(" + evt.origin + ")"; + response += " location(" + window.location.href + ")"; + } + + if (evt.data !== "start-test") + response += " incorrect-subframe-data(" + evt.data + ")"; + if (evt.type !== "message") + response += " wrong-type(" + evt.type + ")"; + if (evt.target !== window) + { + response += " wrong-target(" + evt.target + ")"; + response += " location(" + window.location.href + ")"; + } + + if (evt.source !== window.parent) + { + response += " unexpected-source(" + evt.source + ")"; + response += " window-parent-is(" + window.parent + ")"; + response += " location(" + window.location.href + ")"; + } + + // verify that document.domain was actually joined with this domain + try + { + var passed = evt.source.document.domain === document.domain; + } + catch (e) + { + } + + if (!passed) + response += " expected-joined-domains"; + + window.parent.postMessage(response, "http://sub1.test1.example.org"); + } + + function setup() + { + var oldDomain = document.domain; + var newDomain = "example.org"; // join with parent + + document.domain = newDomain; + + var target = document.getElementById("location"); + target.textContent = "Location: " + oldDomain + + ", effective domain: " + newDomain; + + window.addEventListener("message", receiveMessage); + } + + window.addEventListener("load", setup); + </script> +</head> +<body> +<p id="location">No location!</p> +</body> +</html> |