| Index: webkit/data/layout_tests/chrome/plugins/refcount-leaks.html
|
| ===================================================================
|
| --- webkit/data/layout_tests/chrome/plugins/refcount-leaks.html (revision 35112)
|
| +++ webkit/data/layout_tests/chrome/plugins/refcount-leaks.html (working copy)
|
| @@ -1,81 +0,0 @@
|
| -<script>
|
| - function noop(x) {
|
| - }
|
| -
|
| - function doGC() {
|
| - if (window.gc) {
|
| - // GC twice to make sure everything is cleaned up.
|
| - for (var i = 0; i < 2; i++) {
|
| - window.gc();
|
| - }
|
| - }
|
| - }
|
| -
|
| - function runtest() {
|
| - if (window.layoutTestController)
|
| - layoutTestController.dumpAsText();
|
| -
|
| -
|
| - var output = document.getElementById("output");
|
| - output.innerHTML = "";
|
| -
|
| - // Test that objects are deleted after their JS references are released.
|
| - var countOrig = plug.testObjectCount;
|
| - o1 = plug.testCreateTestObject();
|
| - o2 = plug.testCreateTestObject();
|
| - o3 = plug.testCreateTestObject();
|
| - var countAfterCreate = plug.testObjectCount;
|
| - o1 = o2 = o3 = null;
|
| - doGC();
|
| - var countAfterGC = plug.testObjectCount;
|
| -
|
| - output.innerHTML += "--- num test objects:<br>";
|
| - output.innerHTML += "originally: " + countOrig + "<br>";
|
| - output.innerHTML += "after creation: " + countAfterCreate + "<br>";
|
| - output.innerHTML += "after GC: " + countAfterGC + "<br>";
|
| - output.innerHTML += "<br>";
|
| -
|
| - // Test that the object refcount returns to normal after JS references
|
| - // are released.
|
| - var testObj = plug.testObject;
|
| - var refOrig = testObj.refCount;
|
| - var o1 = plug.testObject;
|
| - var o2 = plug.testObject;
|
| - var o3 = plug.testObject;
|
| - var refAfterGet = testObj.refCount;
|
| - o1 = o2 = o3 = null;
|
| - doGC();
|
| - var refAfterGetGC = testObj.refCount;
|
| -
|
| - // Test that calling NPN_Invoke with our object as a parameter returns
|
| - // our refcount to normal (may require a GC).
|
| - plug.testPassTestObject("noop", testObj);
|
| - plug.testPassTestObject("noop", testObj);
|
| - plug.testPassTestObject("noop", testObj);
|
| - doGC();
|
| - var refAfterPass = testObj.refCount;
|
| -
|
| - output.innerHTML += "--- refcount on plug.testObject:<br>";
|
| - output.innerHTML += "originally: " + refOrig + "<br>";
|
| - output.innerHTML += "after get: " + refAfterGet + "<br>";
|
| - output.innerHTML += "after GC: " + refAfterGetGC + "<br>";
|
| - output.innerHTML += "after passing: " + refAfterPass + "<br>";
|
| -
|
| - var success = (countAfterGC == countOrig) && (refAfterPass == refOrig);
|
| - output.innerHTML += (success ? "SUCCESS" : "FAILURE");
|
| - }
|
| -</script>
|
| -
|
| -<body onload="runtest()">
|
| -
|
| -Test that we can get an NPObject returned through a method on
|
| -an NPAPI Object.<P>
|
| -
|
| -Prints "SUCCESS" on success, "FAILURE" on failure.
|
| -
|
| -<embed name="plug" type="application/x-webkit-test-netscape">
|
| -
|
| -<div id=output>FAILURE</div>
|
| -
|
| -</body>
|
| -
|
|
|