summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/fetch/test_fetch_csp_block.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/tests/mochitest/fetch/test_fetch_csp_block.html
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dom/tests/mochitest/fetch/test_fetch_csp_block.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/dom/tests/mochitest/fetch/test_fetch_csp_block.html b/dom/tests/mochitest/fetch/test_fetch_csp_block.html
new file mode 100644
index 0000000000..0347c7319e
--- /dev/null
+++ b/dom/tests/mochitest/fetch/test_fetch_csp_block.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Test fetch() rejects when CSP blocks</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<script type="application/javascript">
+SimpleTest.waitForExplicitFinish();
+
+function withFrame(url) {
+ return new Promise(resolve => {
+ let frame = document.createElement('iframe');
+ frame.addEventListener('load', _ => {
+ resolve(frame);
+ }, { once: true });
+ frame.src = url;
+ document.body.appendChild(frame);
+ });
+}
+
+function asyncTest(frame) {
+ return new Promise((resolve, reject) => {
+ addEventListener('message', evt => {
+ if (evt.data === 'REJECTED') {
+ resolve();
+ } else {
+ reject();
+ }
+ }, { once: true });
+ frame.contentWindow.postMessage('GO', '*');
+ });
+}
+
+withFrame('file_fetch_csp_block_frame.html').then(frame => {
+ asyncTest(frame).then(_ => {
+ ok(true, 'fetch rejected correctly');
+ }).catch(e => {
+ ok(false, 'fetch resolved when it should have been CSP blocked');
+ }).then(_ => {
+ frame.remove();
+ SimpleTest.finish();
+ });
+});
+
+</script>
+</body>
+</html>