OLD | NEW |
| 1 <script src="../../../resources/gc.js"></script> |
1 <script> | 2 <script> |
2 function gc() | |
3 { | |
4 if (window.GCController) | |
5 return GCController.collect(); | |
6 | |
7 for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires
about 9K allocations before a collect) | |
8 var s = new String("abc"); | |
9 } | |
10 } | |
11 | |
12 var port; | 3 var port; |
13 function onMessage(evt) { | 4 function onMessage(evt) { |
14 if (evt.data == "ping") | 5 if (evt.data == "ping") |
15 port.postMessage("pong"); | 6 port.postMessage("pong"); |
16 else if (evt.data == "newPort") | 7 else if (evt.data == "newPort") |
17 evt.ports[0].postMessage("yo"); | 8 evt.ports[0].postMessage("yo"); |
18 else if (evt.data == "newConversation") | 9 else if (evt.data == "newConversation") |
19 if (evt.origin == "") | 10 if (evt.origin == "") |
20 evt.ports[0].postMessage("hey"); | 11 evt.ports[0].postMessage("hey"); |
21 else | 12 else |
22 alert("Incorrect security origin in conversation: '" + evt.origin +
"'."); | 13 alert("Incorrect security origin in conversation: '" + evt.origin +
"'."); |
23 else if (/alert.+/.test(evt.data)) | 14 else if (/alert.+/.test(evt.data)) |
24 alert(evt.data.substr(6)); | 15 alert(evt.data.substr(6)); |
25 else if (evt.data == "freeze") | 16 else if (evt.data == "freeze") |
26 while (1) {} | 17 while (1) {} |
27 else if (evt.data == "closePort") | 18 else if (evt.data == "closePort") |
28 this.close(); | 19 this.close(); |
29 else if (evt.data == "closeFrame") { | 20 else if (evt.data == "closeFrame") { |
30 frameElement.parentNode.removeChild(frameElement); | 21 frameElement.parentNode.removeChild(frameElement); |
31 gc(); | 22 gc(); |
32 } | 23 } |
33 } | 24 } |
34 | 25 |
35 window.addEventListener("message", function(evt) { | 26 window.addEventListener("message", function(evt) { |
36 port = evt.ports[0]; | 27 port = evt.ports[0]; |
37 port.onmessage = onMessage; | 28 port.onmessage = onMessage; |
38 port.start(); | 29 port.start(); |
39 }, false); | 30 }, false); |
40 </script> | 31 </script> |
OLD | NEW |