Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / workers / resources / shared-worker-common.js
blobc975d1c5f963174fe599265784656bc0a48804ef
1 function generateError()
3     // Generate an exception by accessing an undefined variable.
4     foo.bar = 0;
7 onconnect = function(event) {
8     event.ports[0].onmessage = function(evt) { handleMessage(evt, event.ports[0]); };
9 };
11 function gc()
13     for (var i = 0; i < 10000; i++) { // force garbage collection (FF requires about 9K allocations before a collect)
14         var s = new String("abc");
15     }
18 function handleMessage(event, port) {
19     self.port = port;
20     if (event.data == "ping")
21         port.postMessage("PASS: Received ping message");
22     else if (event.data == "close")
23         close();
24     else if (event.data == "done")
25         port.postMessage("DONE");
26     else if (event.data == "throw")
27         generateError();
28     else if (event.data == "testingNameAttribute")
29         port.postMessage(self.name);
30     else if (/eval.+/.test(event.data)) {
31         try {
32             port.postMessage(event.data.substr(5) + ": " + eval(event.data.substr(5)));
33         } catch (ex) {
34             port.postMessage(event.data.substr(5) + ": " + ex);
35         }
36     }
37     else
38         port.postMessage("FAILURE: Received unknown message: " + event.data);