Mercurial > hg > config
diff chrome/pageloader.js @ 206:beca399c3a16
Bug 685632 - Please collect RSS (memory) data during Talos testing on Android. r=jlebar,njn
author | Joel Maher <jmaher@mozilla.com> |
---|---|
date | Wed, 09 Nov 2011 10:41:03 -0500 |
parents | eaef28f55f92 |
children |
line wrap: on
line diff
--- a/chrome/pageloader.js Mon Oct 10 14:41:18 2011 -0700 +++ b/chrome/pageloader.js Wed Nov 09 10:41:03 2011 -0500 @@ -66,6 +66,7 @@ var timeoutEvent = -1; var running = false; var forceCC = true; +var reportRSS = false; var useMozAfterPaint = false; var gPaintWindow = window; @@ -109,6 +110,7 @@ if (args.timeout) timeout = parseInt(args.timeout); if (args.delay) delay = parseInt(args.delay); if (args.mozafterpaint) useMozAfterPaint = true; + if (args.rss) reportRSS = true; forceCC = !args.noForceCC; doRenderTest = args.doRender; @@ -210,8 +212,11 @@ "addEventListener('load', _contentLoadHandler, true); "; content.messageManager.loadFrameScript(contentScript, false); } - - setTimeout(plLoadPage, 100); + if (reportRSS) { + initializeMemoryCollector(plLoadPage, 100); + } else { + setTimeout(plLoadPage, 100); + } }, 500); }; @@ -222,7 +227,11 @@ content = document.getElementById('contentPageloader'); - setTimeout(plLoadPage, delay); + if (reportRSS) { + initializeMemoryCollector(plLoadPage, delay); + } else { + setTimeout(plLoadPage, delay); + } } } catch(e) { dumpLine(e); @@ -290,7 +299,15 @@ if (timeout > 0) { timeoutEvent = setTimeout('loadFail()', timeout); - } + } + if (reportRSS) { + collectMemory(startAndLoadURI, pageName); + } else { + startAndLoadURI(pageName); + } +} + +function startAndLoadURI(pageName) { start_time = Date.now(); content.loadURI(pageName); } @@ -548,6 +565,14 @@ } function plStop(force) { + if (reportRSS) { + collectMemory(plStopAll, force); + } else { + plStopAll(force); + } +} + +function plStopAll(force) { try { if (force == false) { pageIndex = 0; @@ -573,6 +598,10 @@ dumpLine(e); } + if (reportRSS) { + stopMemCollector(); + } + if (content) { content.removeEventListener('load', plLoadHandlerCapturing, true); content.removeEventListener('load', plLoadHandler, true);