Bug 1426492 - Print out memory used by data url for testing with/without xbl
Run via: ./mach run --profile $(mktemp -d) "data:text/html,$(printf '<span></span>'%.0s {1..10})"
MozReview-Commit-ID: 2g1m07VUXN
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1550,16 +1550,29 @@ var gBrowserInit = {
SessionStore.promiseAllWindowsRestored.then(() => {
this._schedulePerWindowIdleTasks();
document.documentElement.setAttribute("sessionrestored", "true");
});
Services.obs.notifyObservers(window, "browser-delayed-startup-finished");
TelemetryTimestamps.add("delayedStartupFinished");
+
+ function printMemoryReport() {
+ var gMgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager);
+ var spanMem = 0;
+ function handleReport(aProcess, aUnsafePath, aKind, aUnits, aAmount, aDescription) {
+ if (aUnsafePath.includes("top(data:text\\html,<span>") && aUnits === 0) {
+ spanMem += aAmount;
+ }
+ }
+ gMgr.minimizeMemoryUsage(() => gMgr.getReports(handleReport, null, () => { dump("\n\n\nTotal bytes:\n" + spanMem + "\n\n\n"); }, null, false))
+ }
+
+ printMemoryReport();
},
_setInitialFocus() {
let initiallyFocusedElement = document.commandDispatcher.focusedElement;
let firstBrowserPaintDeferred = {};
firstBrowserPaintDeferred.promise = new Promise(resolve => {
firstBrowserPaintDeferred.resolve = resolve;