From 6747183e92a490ae29190179c498bef3b6ca1b88 Mon Sep 17 00:00:00 2001 From: "beard%netscape.com" Date: Sat, 16 Sep 2000 05:18:51 +0000 Subject: [PATCH] Fixing strict JS warning (duplicate declaration of var leakDetector). Using XPConnect wrapper as the prototype of the JS LeakDetector constructor function. --- xpfe/browser/resources/content/navigator.js | 22 ++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/xpfe/browser/resources/content/navigator.js b/xpfe/browser/resources/content/navigator.js index 6d584a7e2975..5be3bbd3f1e6 100644 --- a/xpfe/browser/resources/content/navigator.js +++ b/xpfe/browser/resources/content/navigator.js @@ -1849,38 +1849,38 @@ function dumpExpr( expr ) { dump( expr+"="+eval(expr)+"\n" ); } -var leakDetector = null; - // Initialize the LeakDetector class. function LeakDetector(verbose) { this.verbose = verbose; - try { - this.vtable = createInstance("@mozilla.org/xpcom/leakdetector;1", "nsILeakDetector"); - } catch (err) { - } +} +try { + LeakDetector.prototype = Components.classes["@mozilla.org/xpcom/leakdetector;1"] + .createInstance(Components.interfaces.nsILeakDetector); +} catch (err) { + LeakDetector.prototype = Object.prototype; } var leakDetector = new LeakDetector(false); // Dumps current set of memory leaks. function dumpMemoryLeaks() { - leakDetector.vtable.dumpLeaks(); + leakDetector.dumpLeaks(); } // Traces all objects reachable from the chrome document. function traceChrome() { - leakDetector.vtable.traceObject(document, leakDetector.verbose); + leakDetector.traceObject(document, leakDetector.verbose); } // Traces all objects reachable from the content document. function traceDocument() { // keep the chrome document out of the dump. - leakDetector.vtable.markObject(document, true); - leakDetector.vtable.traceObject(window._content, leakDetector.verbose); - leakDetector.vtable.markObject(document, false); + leakDetector.markObject(document, true); + leakDetector.traceObject(window._content, leakDetector.verbose); + leakDetector.markObject(document, false); } // Controls whether or not we do verbose tracing.