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/html/test/file_iframe_sandbox_g_if1.html | |
parent | Initial commit. (diff) | |
download | firefox-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/html/test/file_iframe_sandbox_g_if1.html | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/dom/html/test/file_iframe_sandbox_g_if1.html b/dom/html/test/file_iframe_sandbox_g_if1.html new file mode 100644 index 0000000000..67604f1f64 --- /dev/null +++ b/dom/html/test/file_iframe_sandbox_g_if1.html @@ -0,0 +1,60 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>Test for Bug 341604</title> + <script src="/tests/SimpleTest/EventUtils.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<script type="text/javascript"> + function ok(result, desc) { + window.parent.postMessage({ok: result, desc}, "*"); + } + + function doStuff() { + // test data URI + + // self.onmessage = function(event) { + // self.postMessage('make it so'); + // }; + var data_url = "data:text/plain;charset=utf-8;base64,c2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgeyAgDQogICAgc2VsZi5wb3N0TWVzc2FnZSgnbWFrZSBpdCBzbycpOyAgDQp9Ow=="; + var worker_data = new Worker(data_url); + worker_data.addEventListener('message', function(event) { + ok(true, "a worker in a sandboxed document should be able to be loaded from a data: URI"); + }); + + worker_data.postMessage("engage!"); + + // test a blob URI we created (will have the same null principal + // as us + var b = new Blob(["onmessage = function(event) { self.postMessage('make it so');};"]); + + var blobURL = URL.createObjectURL(b); + + var worker_blob = new Worker(blobURL); + + worker_blob.addEventListener('message', function(event) { + ok(true, "a worker in a sandboxed document should be able to be loaded from a blob URI " + + "created by that sandboxed document"); + }); + + worker_blob.postMessage("engage!"); + + // test loading with relative url - this should fail since we are + // sandboxed and have a null principal + var worker_js = new Worker('file_iframe_sandbox_worker.js'); + worker_js.onerror = function(error) { + ok(true, "a worker in a sandboxed document should tell the load error via error event"); + } + + worker_js.addEventListener('message', function(event) { + ok(false, "a worker in a sandboxed document should not be able to load from a relative URI"); + }); + + worker_js.postMessage('engage'); + } +</script> +<body onload='doStuff();'> + I am sandboxed but with "allow-scripts" +</body> +</html> |