From 6bd1e17d62694453a5a5d54aed081760b07560e3 Mon Sep 17 00:00:00 2001 From: Victor Porof Date: Mon, 20 Oct 2014 14:22:56 -0400 Subject: [PATCH] Bug 1085407 - Make the timeline actor's 'memory' and 'ticks' events use the docshell absolute time instead of Date.now(), r=jsantell,ttromey --- toolkit/devtools/server/actors/timeline.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/toolkit/devtools/server/actors/timeline.js b/toolkit/devtools/server/actors/timeline.js index da09e7f87231..57cc90ffeda7 100644 --- a/toolkit/devtools/server/actors/timeline.js +++ b/toolkit/devtools/server/actors/timeline.js @@ -138,20 +138,24 @@ let TimelineActor = exports.TimelineActor = protocol.ActorClass({ if (!this._isRecording) { return; } + if (!this.docShells.length) { + return; + } + let endTime = this.docShells[0].now(); let markers = []; + for (let docShell of this.docShells) { markers = [...markers, ...docShell.popProfileTimelineMarkers()]; } if (markers.length > 0) { - let endTime = this.docShells[0].now(); events.emit(this, "markers", markers, endTime); } if (this._memoryActor) { - events.emit(this, "memory", Date.now(), this._memoryActor.measure()); + events.emit(this, "memory", endTime, this._memoryActor.measure()); } if (this._framerateActor) { - events.emit(this, "ticks", Date.now(), this._framerateActor.getPendingTicks()); + events.emit(this, "ticks", endTime, this._framerateActor.getPendingTicks()); } this._dataPullTimeout = setTimeout(() => {