12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /**
- * Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
- var tests = 3;
- SimpleTest.waitForExplicitFinish();
- testDone = function(event) {
- if (!--tests) SimpleTest.finish();
- }
- // Workers don't inherit CSP
- worker = new Worker("csp_worker.js");
- worker.postMessage({ do: "eval" });
- worker.onmessage = function(event) {
- is(event.data, 42, "Eval succeeded!");
- testDone();
- }
- // blob: workers *do* inherit CSP
- xhr = new XMLHttpRequest;
- xhr.open("GET", "csp_worker.js");
- xhr.responseType = "blob";
- xhr.send();
- xhr.onload = (e) => {
- uri = URL.createObjectURL(e.target.response);
- worker = new Worker(uri);
- worker.postMessage({ do: "eval" })
- worker.onmessage = function(event) {
- is(event.data, "Error: call to eval() blocked by CSP", "Eval threw");
- testDone();
- }
- }
- xhr = new XMLHttpRequest;
- xhr.open("GET", "csp_worker.js");
- xhr.responseType = "blob";
- xhr.send();
- xhr.onload = (e) => {
- uri = URL.createObjectURL(e.target.response);
- worker = new Worker(uri);
- worker.postMessage({ do: "nest", uri: uri, level: 3 })
- worker.onmessage = function(event) {
- is(event.data, "Error: call to eval() blocked by CSP", "Eval threw in nested worker");
- testDone();
- }
- }
|