Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. onmessage = function(event) {
  2. var scriptId = event.data.id;
  3. var cmd = event.data.cmd;
  4. var args = event.data.args;
  5.  
  6. switch (cmd) {
  7. case "init":
  8. // code here to lock down the worker and disable everything potentially insecure, except for postMessage
  9. break;
  10. case "run":
  11. if (!workerInitialized()) return;
  12. // run user given code
  13. var code = args.code;
  14. // ...
  15. postMessage({cmd: "start", args: scriptId}); // signal that script started
  16. runScript(code); // runs eval(code) with proper error reporting etc.
  17. postMessage({cmd: "stop", args: scriptId}); // signal that script stopped
  18. break;
  19. // ...
  20. }
  21. }
  22.  
  23. postMessage({cmd: "start", args: scriptId}); // signal that script started
  24. setTimeout((function(scriptId) { return function() { postMessage({cmd: "stop", args: scriptId}); };})(scriptId), 0); // signal that script stopped, right after this function returned
  25. scriptId = null;
  26. runScript(code); // runs eval(code) with proper error reporting etc.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement