| OLD | NEW |
| (Empty) |
| 1 description("Test that plugin doesn't get a new browser object instance each tim
e") | |
| 2 | |
| 3 function gc() | |
| 4 { | |
| 5 if (window.GCController) | |
| 6 return GCController.collectAll(); | |
| 7 | |
| 8 for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires
about 9K allocations before a collect) | |
| 9 var s = new String("abc"); | |
| 10 } | |
| 11 } | |
| 12 | |
| 13 embed = document.createElement("embed"); | |
| 14 embed.type = "application/x-webkit-test-netscape"; | |
| 15 document.body.appendChild(embed); | |
| 16 | |
| 17 var obj = new XMLHttpRequest; | |
| 18 obj.foo = "bar"; | |
| 19 embed.remember(obj); | |
| 20 obj = null; | |
| 21 gc(); | |
| 22 shouldBe("embed.getAndForgetRememberedObject().foo", "'bar'"); | |
| 23 gc(); | |
| 24 | |
| 25 obj = new XMLHttpRequest; | |
| 26 shouldBe("embed.refCount(obj)", "1"); | |
| 27 shouldBe("embed.refCount(obj)", "1"); | |
| 28 embed.remember(obj); | |
| 29 shouldBe("embed.refCount(obj)", "2"); | |
| 30 shouldBe("embed.getRememberedObject()", "obj"); | |
| 31 shouldBe("embed.getRememberedObject()", "obj"); | |
| 32 shouldBe("embed.refCount(obj)", "2"); | |
| 33 shouldBe("embed.getAndForgetRememberedObject()", "obj"); | |
| 34 shouldBe("embed.refCount(obj)", "1"); | |
| 35 obj = null; | |
| 36 gc(); | |
| 37 | |
| 38 var successfullyParsed = true; | |
| OLD | NEW |