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

Side by Side Diff: third_party/WebKit/LayoutTests/plugins/refcount-leaks.html

Issue 1483733002: Remove support for NPObjects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix bad rebase. Created 4 years, 9 months 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
OLDNEW
(Empty)
1 <script>
2 function noop(x) {
3 }
4
5 function doGC() {
6 if (window.GCController) {
7 window.GCController.collectAll();
8 }
9 }
10
11 function runtest() {
12 if (window.testRunner)
13 testRunner.dumpAsText();
14
15
16 var output = document.getElementById("output");
17 output.innerHTML = "";
18
19 // Test that objects are deleted after their JS references are released.
20 var countOrig = plug.testObjectCount;
21 o1 = plug.testCreateTestObject();
22 o2 = plug.testCreateTestObject();
23 o3 = plug.testCreateTestObject();
24 var countAfterCreate = plug.testObjectCount;
25 o1 = o2 = o3 = null;
26 doGC();
27 var countAfterGC = plug.testObjectCount;
28
29 output.innerHTML += "--- num test objects:<br>";
30 output.innerHTML += "countAfterCreate == countOrig + 3? "
31 + ((countAfterCreate == countOrig + 3) ? "PASS" : "FAIL")
32 + "<br>";
33 output.innerHTML += "countOrig == countAfterGC? "
34 + ((countOrig == countAfterGC) ? "PASS" : "FAIL")
35 + "<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 GC: " + refAfterGetGC + "<br>";
61 output.innerHTML += "after passing: " + refAfterPass + "<br>";
62
63 var success = (countAfterGC == countOrig) && (refAfterPass == refOrig);
64 output.innerHTML += (success ? "SUCCESS" : "FAILURE");
65 }
66 </script>
67
68 <body onload="runtest()">
69
70 Test that we can get an NPObject returned through a method on
71 an NPAPI Object.<P>
72
73 Prints "SUCCESS" on success, "FAILURE" on failure.
74
75 <embed name="plug" type="application/x-webkit-test-netscape">
76
77 <div id=output>FAILURE</div>
78
79 </body>
80
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698