NoScript 5.1.4
devtools.chrome.enabled;true
Open a new tab with about:memory, Minimize memory usage
Code: Select all
300 (100.0%) -- js-main-runtime-compartments
├──292 (97.33%) -- system
│ ├────3 (01.00%) ── [System Principal], inProcessTabChildGlobal?ownedBy=chrome://browser/content/browser.xul [3]
Code: Select all
│ ├───13 (04.05%) ── [System Principal], inProcessTabChildGlobal?ownedBy=chrome://browser/content/browser.xul [13]Code: Select all
│ ├───23 (06.71%) ── [System Principal], inProcessTabChildGlobal?ownedBy=chrome://browser/content/browser.xul [23]Code: Select all
Components.utils.import("chrome://noscript/content/importer.jsm");
IMPORT_FOR(this)("UISync");
UISync.prototype.listeners.length = 0;Code: Select all
│ ├────2 (00.62%) ── [System Principal], inProcessTabChildGlobal?ownedBy=chrome://browser/content/browser.xul [2]Code: Select all
--- chrome/content/noscript/UISync.jsm 5.1.4
+++ chrome/content/noscript/UISync.jsm
@@ -11,6 +11,7 @@
function UISync(ctx) {
this.ctx = ctx;
+ this.listeners = [];
this.wire();
this.scheduleSync();
}
@@ -21,7 +22,6 @@
delKey: false,
},
- listeners: [],
addListener(type, handler, ...opts) {
this.ctx.addEventListener(type, handler, ...opts);
this.listeners.push({type, handler, opts});outOfProcessTabChildGlobal are also leaked
If the Firefox Feature "Follow-on Search Telemetry" is enabled (default), chrome documents will also leak.