Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- onmessage = function(event) {
- var scriptId = event.data.id;
- var cmd = event.data.cmd;
- var args = event.data.args;
- switch (cmd) {
- case "init":
- // code here to lock down the worker and disable everything potentially insecure, except for postMessage
- break;
- case "run":
- if (!workerInitialized()) return;
- // run user given code
- var code = args.code;
- // ...
- postMessage({cmd: "start", args: scriptId}); // signal that script started
- runScript(code); // runs eval(code) with proper error reporting etc.
- postMessage({cmd: "stop", args: scriptId}); // signal that script stopped
- break;
- // ...
- }
- }
- postMessage({cmd: "start", args: scriptId}); // signal that script started
- setTimeout((function(scriptId) { return function() { postMessage({cmd: "stop", args: scriptId}); };})(scriptId), 0); // signal that script stopped, right after this function returned
- scriptId = null;
- runScript(code); // runs eval(code) with proper error reporting etc.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement