| function generateError() |
| { |
| // Generate an exception by accessing an undefined variable. |
| foo.bar = 0; |
| } |
| |
| onconnect = function(event) { |
| event.ports[0].onmessage = function(evt) { handleMessage(evt, event.ports[0]); }; |
| }; |
| |
| function handleMessage(event, port) { |
| self.port = port; |
| if (event.data == "ping") |
| port.postMessage("PASS: Received ping message"); |
| else if (event.data == "close") |
| close(); |
| else if (event.data == "done") |
| port.postMessage("DONE"); |
| else if (event.data == "throw") |
| generateError(); |
| else if (event.data == "testingNameAttribute") |
| port.postMessage(self.name); |
| else if (/eval.+/.test(event.data)) { |
| try { |
| port.postMessage(event.data.substr(5) + ": " + eval(event.data.substr(5))); |
| } catch (ex) { |
| port.postMessage(event.data.substr(5) + ": " + ex); |
| } |
| } |
| else |
| port.postMessage("FAILURE: Received unknown message: " + event.data); |
| } |