Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: webkit/data/layout_tests/chrome/plugins/refcount-leaks.html

Issue 504079: Remove tests that have been upstreamed:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: add test_expectations.txt mods Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <script>
2 function noop(x) {
3 }
4
5 function doGC() {
6 if (window.gc) {
7 // GC twice to make sure everything is cleaned up.
8 for (var i = 0; i < 2; i++) {
9 window.gc();
10 }
11 }
12 }
13
14 function runtest() {
15 if (window.layoutTestController)
16 layoutTestController.dumpAsText();
17
18
19 var output = document.getElementById("output");
20 output.innerHTML = "";
21
22 // Test that objects are deleted after their JS references are released.
23 var countOrig = plug.testObjectCount;
24 o1 = plug.testCreateTestObject();
25 o2 = plug.testCreateTestObject();
26 o3 = plug.testCreateTestObject();
27 var countAfterCreate = plug.testObjectCount;
28 o1 = o2 = o3 = null;
29 doGC();
30 var countAfterGC = plug.testObjectCount;
31
32 output.innerHTML += "--- num test objects:<br>";
33 output.innerHTML += "originally: " + countOrig + "<br>";
34 output.innerHTML += "after creation: " + countAfterCreate + "<br>";
35 output.innerHTML += "after GC: " + countAfterGC + "<br>";
36 output.innerHTML += "<br>";
37
38 // Test that the object refcount returns to normal after JS references
39 // are released.
40 var testObj = plug.testObject;
41 var refOrig = testObj.refCount;
42 var o1 = plug.testObject;
43 var o2 = plug.testObject;
44 var o3 = plug.testObject;
45 var refAfterGet = testObj.refCount;
46 o1 = o2 = o3 = null;
47 doGC();
48 var refAfterGetGC = testObj.refCount;
49
50 // Test that calling NPN_Invoke with our object as a parameter returns
51 // our refcount to normal (may require a GC).
52 plug.testPassTestObject("noop", testObj);
53 plug.testPassTestObject("noop", testObj);
54 plug.testPassTestObject("noop", testObj);
55 doGC();
56 var refAfterPass = testObj.refCount;
57
58 output.innerHTML += "--- refcount on plug.testObject:<br>";
59 output.innerHTML += "originally: " + refOrig + "<br>";
60 output.innerHTML += "after get: " + refAfterGet + "<br>";
61 output.innerHTML += "after GC: " + refAfterGetGC + "<br>";
62 output.innerHTML += "after passing: " + refAfterPass + "<br>";
63
64 var success = (countAfterGC == countOrig) && (refAfterPass == refOrig);
65 output.innerHTML += (success ? "SUCCESS" : "FAILURE");
66 }
67 </script>
68
69 <body onload="runtest()">
70
71 Test that we can get an NPObject returned through a method on
72 an NPAPI Object.<P>
73
74 Prints "SUCCESS" on success, "FAILURE" on failure.
75
76 <embed name="plug" type="application/x-webkit-test-netscape">
77
78 <div id=output>FAILURE</div>
79
80 </body>
81
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698