Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1865)

Unified Diff: Source/devtools/front_end/TimelineManager.js

Issue 24027002: DevTools: implement console.timeline/timelineEnd. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Review comments addressed. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/TimelineManager.js
diff --git a/Source/devtools/front_end/TimelineManager.js b/Source/devtools/front_end/TimelineManager.js
index 914230ef509dc95c7f996cf482611821c9c26a85..c8f2a9e47ec482f953795af137aacdf2caf58e78 100644
--- a/Source/devtools/front_end/TimelineManager.js
+++ b/Source/devtools/front_end/TimelineManager.js
@@ -37,6 +37,7 @@ WebInspector.TimelineManager = function()
WebInspector.Object.call(this);
this._dispatcher = new WebInspector.TimelineDispatcher(this);
this._enablementCount = 0;
+ TimelineAgent.enable();
}
WebInspector.TimelineManager.EventTypes = {
@@ -50,33 +51,31 @@ WebInspector.TimelineManager.prototype = {
* @param {number=} maxCallStackDepth
* @param {boolean=} includeDomCounters
* @param {boolean=} includeNativeMemoryStatistics
+ * @param {function(?Protocol.Error)=} callback
*/
- start: function(maxCallStackDepth, includeDomCounters, includeNativeMemoryStatistics)
+ start: function(maxCallStackDepth, includeDomCounters, includeNativeMemoryStatistics, callback)
{
this._enablementCount++;
if (this._enablementCount === 1)
- TimelineAgent.start(maxCallStackDepth, includeDomCounters, includeNativeMemoryStatistics, this._started.bind(this));
+ TimelineAgent.start(maxCallStackDepth, includeDomCounters, includeNativeMemoryStatistics, callback);
+ else if (callback)
+ callback(null);
},
- stop: function()
+ /**
+ * @param {function(?Protocol.Error)=} callback
+ */
+ stop: function(callback)
{
- if (!this._enablementCount) {
- console.error("WebInspector.TimelineManager start/stop calls are unbalanced");
+ this._enablementCount--;
+ if (this._enablementCount < 0) {
+ console.error("WebInspector.TimelineManager start/stop calls are unbalanced " + new Error().stack);
return;
}
- this._enablementCount--;
if (!this._enablementCount)
- TimelineAgent.stop(this._stopped.bind(this));
- },
-
- _started: function()
- {
- this.dispatchEventToListeners(WebInspector.TimelineManager.EventTypes.TimelineStarted);
- },
-
- _stopped: function()
- {
- this.dispatchEventToListeners(WebInspector.TimelineManager.EventTypes.TimelineStopped);
+ TimelineAgent.stop(callback);
+ else if (callback)
+ callback(null);
},
__proto__: WebInspector.Object.prototype
@@ -93,9 +92,32 @@ WebInspector.TimelineDispatcher = function(manager)
}
WebInspector.TimelineDispatcher.prototype = {
+ /**
+ * @param {TimelineAgent.TimelineEvent} record
+ */
eventRecorded: function(record)
{
this._manager.dispatchEventToListeners(WebInspector.TimelineManager.EventTypes.TimelineEventRecorded, record);
+ },
+
+ /**
+ * @param {boolean=} consoleTimeline
+ */
+ started: function(consoleTimeline)
+ {
+ if (consoleTimeline) {
+ // Wake up timeline panel module.
+ WebInspector.panel("timeline");
+ }
+ this._manager.dispatchEventToListeners(WebInspector.TimelineManager.EventTypes.TimelineStarted, consoleTimeline);
+ },
+
+ /**
+ * @param {boolean=} consoleTimeline
+ */
+ stopped: function(consoleTimeline)
+ {
+ this._manager.dispatchEventToListeners(WebInspector.TimelineManager.EventTypes.TimelineStopped, consoleTimeline);
}
}

Powered by Google App Engine
This is Rietveld 408576698