diff options
Diffstat (limited to 'dom/workers/test/csp_worker.js')
-rw-r--r-- | dom/workers/test/csp_worker.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/dom/workers/test/csp_worker.js b/dom/workers/test/csp_worker.js new file mode 100644 index 000000000..63b3adeaf --- /dev/null +++ b/dom/workers/test/csp_worker.js @@ -0,0 +1,28 @@ +/** + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ +onmessage = function(event) { + if (event.data.do == "eval") { + var res; + try { + res = eval("40+2"); + } + catch(ex) { + res = ex+""; + } + postMessage(res); + } + else if (event.data.do == "nest") { + var worker = new Worker(event.data.uri); + if (--event.data.level) { + worker.postMessage(event.data); + } + else { + worker.postMessage({ do: "eval" }); + } + worker.onmessage = (e) => { + postMessage(e.data); + } + } +} |