Mercurial > hg > config
comparison 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 |
comparison
equal
deleted
inserted
replaced
205:eaef28f55f92 | 206:beca399c3a16 |
---|---|
64 var timeout = -1; | 64 var timeout = -1; |
65 var delay = 250; | 65 var delay = 250; |
66 var timeoutEvent = -1; | 66 var timeoutEvent = -1; |
67 var running = false; | 67 var running = false; |
68 var forceCC = true; | 68 var forceCC = true; |
69 var reportRSS = false; | |
69 | 70 |
70 var useMozAfterPaint = false; | 71 var useMozAfterPaint = false; |
71 var gPaintWindow = window; | 72 var gPaintWindow = window; |
72 var gPaintListener = false; | 73 var gPaintListener = false; |
73 | 74 |
107 if (args.filter) pageFilterRegexp = new RegExp(args.filter); | 108 if (args.filter) pageFilterRegexp = new RegExp(args.filter); |
108 if (args.noisy) noisy = true; | 109 if (args.noisy) noisy = true; |
109 if (args.timeout) timeout = parseInt(args.timeout); | 110 if (args.timeout) timeout = parseInt(args.timeout); |
110 if (args.delay) delay = parseInt(args.delay); | 111 if (args.delay) delay = parseInt(args.delay); |
111 if (args.mozafterpaint) useMozAfterPaint = true; | 112 if (args.mozafterpaint) useMozAfterPaint = true; |
113 if (args.rss) reportRSS = true; | |
112 | 114 |
113 forceCC = !args.noForceCC; | 115 forceCC = !args.noForceCC; |
114 doRenderTest = args.doRender; | 116 doRenderTest = args.doRender; |
115 | 117 |
116 if (forceCC && | 118 if (forceCC && |
208 " }" + | 210 " }" + |
209 "} " + | 211 "} " + |
210 "addEventListener('load', _contentLoadHandler, true); "; | 212 "addEventListener('load', _contentLoadHandler, true); "; |
211 content.messageManager.loadFrameScript(contentScript, false); | 213 content.messageManager.loadFrameScript(contentScript, false); |
212 } | 214 } |
213 | 215 if (reportRSS) { |
214 setTimeout(plLoadPage, 100); | 216 initializeMemoryCollector(plLoadPage, 100); |
217 } else { | |
218 setTimeout(plLoadPage, 100); | |
219 } | |
215 }, 500); | 220 }, 500); |
216 }; | 221 }; |
217 | 222 |
218 browserWindow.addEventListener('load', browserLoadFunc, true); | 223 browserWindow.addEventListener('load', browserLoadFunc, true); |
219 } else { | 224 } else { |
220 gPaintWindow = window; | 225 gPaintWindow = window; |
221 window.resizeTo(winWidth, winHeight); | 226 window.resizeTo(winWidth, winHeight); |
222 | 227 |
223 content = document.getElementById('contentPageloader'); | 228 content = document.getElementById('contentPageloader'); |
224 | 229 |
225 setTimeout(plLoadPage, delay); | 230 if (reportRSS) { |
231 initializeMemoryCollector(plLoadPage, delay); | |
232 } else { | |
233 setTimeout(plLoadPage, delay); | |
234 } | |
226 } | 235 } |
227 } catch(e) { | 236 } catch(e) { |
228 dumpLine(e); | 237 dumpLine(e); |
229 plStop(true); | 238 plStop(true); |
230 } | 239 } |
288 }; | 297 }; |
289 } | 298 } |
290 | 299 |
291 if (timeout > 0) { | 300 if (timeout > 0) { |
292 timeoutEvent = setTimeout('loadFail()', timeout); | 301 timeoutEvent = setTimeout('loadFail()', timeout); |
293 } | 302 } |
303 if (reportRSS) { | |
304 collectMemory(startAndLoadURI, pageName); | |
305 } else { | |
306 startAndLoadURI(pageName); | |
307 } | |
308 } | |
309 | |
310 function startAndLoadURI(pageName) { | |
294 start_time = Date.now(); | 311 start_time = Date.now(); |
295 content.loadURI(pageName); | 312 content.loadURI(pageName); |
296 } | 313 } |
297 | 314 |
298 function loadFail() { | 315 function loadFail() { |
546 | 563 |
547 renderReport.recordTime(pageIndex, end - start); | 564 renderReport.recordTime(pageIndex, end - start); |
548 } | 565 } |
549 | 566 |
550 function plStop(force) { | 567 function plStop(force) { |
568 if (reportRSS) { | |
569 collectMemory(plStopAll, force); | |
570 } else { | |
571 plStopAll(force); | |
572 } | |
573 } | |
574 | |
575 function plStopAll(force) { | |
551 try { | 576 try { |
552 if (force == false) { | 577 if (force == false) { |
553 pageIndex = 0; | 578 pageIndex = 0; |
554 if (cycle < NUM_CYCLES-1) { | 579 if (cycle < NUM_CYCLES-1) { |
555 cycle++; | 580 cycle++; |
569 dumpLine(renderReport.getReport(fmt)); | 594 dumpLine(renderReport.getReport(fmt)); |
570 } | 595 } |
571 } | 596 } |
572 } catch (e) { | 597 } catch (e) { |
573 dumpLine(e); | 598 dumpLine(e); |
599 } | |
600 | |
601 if (reportRSS) { | |
602 stopMemCollector(); | |
574 } | 603 } |
575 | 604 |
576 if (content) { | 605 if (content) { |
577 content.removeEventListener('load', plLoadHandlerCapturing, true); | 606 content.removeEventListener('load', plLoadHandlerCapturing, true); |
578 content.removeEventListener('load', plLoadHandler, true); | 607 content.removeEventListener('load', plLoadHandler, true); |