mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Fixing strict JS warning (duplicate declaration of var leakDetector). Using XPConnect wrapper as the prototype of the JS LeakDetector constructor function.
This commit is contained in:
parent
7250623e9a
commit
6747183e92
@ -1849,38 +1849,38 @@ function dumpExpr( expr ) {
|
|||||||
dump( expr+"="+eval(expr)+"\n" );
|
dump( expr+"="+eval(expr)+"\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
var leakDetector = null;
|
|
||||||
|
|
||||||
// Initialize the LeakDetector class.
|
// Initialize the LeakDetector class.
|
||||||
function LeakDetector(verbose)
|
function LeakDetector(verbose)
|
||||||
{
|
{
|
||||||
this.verbose = verbose;
|
this.verbose = verbose;
|
||||||
try {
|
}
|
||||||
this.vtable = createInstance("@mozilla.org/xpcom/leakdetector;1", "nsILeakDetector");
|
try {
|
||||||
} catch (err) {
|
LeakDetector.prototype = Components.classes["@mozilla.org/xpcom/leakdetector;1"]
|
||||||
}
|
.createInstance(Components.interfaces.nsILeakDetector);
|
||||||
|
} catch (err) {
|
||||||
|
LeakDetector.prototype = Object.prototype;
|
||||||
}
|
}
|
||||||
var leakDetector = new LeakDetector(false);
|
var leakDetector = new LeakDetector(false);
|
||||||
|
|
||||||
// Dumps current set of memory leaks.
|
// Dumps current set of memory leaks.
|
||||||
function dumpMemoryLeaks()
|
function dumpMemoryLeaks()
|
||||||
{
|
{
|
||||||
leakDetector.vtable.dumpLeaks();
|
leakDetector.dumpLeaks();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Traces all objects reachable from the chrome document.
|
// Traces all objects reachable from the chrome document.
|
||||||
function traceChrome()
|
function traceChrome()
|
||||||
{
|
{
|
||||||
leakDetector.vtable.traceObject(document, leakDetector.verbose);
|
leakDetector.traceObject(document, leakDetector.verbose);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Traces all objects reachable from the content document.
|
// Traces all objects reachable from the content document.
|
||||||
function traceDocument()
|
function traceDocument()
|
||||||
{
|
{
|
||||||
// keep the chrome document out of the dump.
|
// keep the chrome document out of the dump.
|
||||||
leakDetector.vtable.markObject(document, true);
|
leakDetector.markObject(document, true);
|
||||||
leakDetector.vtable.traceObject(window._content, leakDetector.verbose);
|
leakDetector.traceObject(window._content, leakDetector.verbose);
|
||||||
leakDetector.vtable.markObject(document, false);
|
leakDetector.markObject(document, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controls whether or not we do verbose tracing.
|
// Controls whether or not we do verbose tracing.
|
||||||
|
Loading…
Reference in New Issue
Block a user