diff options
Diffstat (limited to 'js/xpconnect/tests/chrome/test_watchpoints.xul')
-rw-r--r-- | js/xpconnect/tests/chrome/test_watchpoints.xul | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/js/xpconnect/tests/chrome/test_watchpoints.xul b/js/xpconnect/tests/chrome/test_watchpoints.xul deleted file mode 100644 index 2262b1a90..000000000 --- a/js/xpconnect/tests/chrome/test_watchpoints.xul +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<?xml-stylesheet type="text/css" href="chrome://global/skin"?> -<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?> -<!-- -https://bugzilla.mozilla.org/show_bug.cgi?id=693527 ---> -<window title="Mozilla Bug " - xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> - - <!-- test results are displayed in the html:body --> - <body xmlns="http://www.w3.org/1999/xhtml"> - <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=" - target="_blank">Mozilla Bug 693527</a> - </body> - - <!-- test code goes here --> - <script type="application/javascript"> - <![CDATA[ - /** Test for Bug 693527 **/ - - let Cu = Components.utils; - let Ci = Components.interfaces; - - /* Create a weak reference, with a single-element weak map. */ - let make_weak_ref = function (obj) { - let m = new WeakMap; - m.set(obj, {}); - return m; - }; - - /* Check to see if a weak reference is dead. */ - let weak_ref_dead = function (r) { - return ThreadSafeChromeUtils.nondeterministicGetWeakMapKeys(r).length == 0; - } - - - let make_cycle = function () { - var p = document.createElement("p"); - p.children.x = p; - var f = function() { }; - p.watch("y", f); - var d = document.createElement("div"); - d.appendChild(p); - f.loop = d; - f.bar = {}; // observing f directly makes the leak go away even without the CC somehow - return make_weak_ref(f.bar); - }; - - var cycle_ref = make_cycle(); - - - /* set up for running precise GC/CC then checking the results */ - - SimpleTest.waitForExplicitFinish(); - - Cu.schedulePreciseGC(function () { - window.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils) - .cycleCollect(); - window.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils) - .garbageCollect(); - window.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils) - .garbageCollect(); - - ok(weak_ref_dead(cycle_ref), "Garbage gray watchpoint cycle should be collected."); - - SimpleTest.finish(); - }); - - ]]> - </script> -</window> |