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

Unified Diff: third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js

Issue 2073343002: Timeline addTraceProvider API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: timelineFlameChart.js Created 4 years, 6 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: third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js b/third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js
index 08ff67151f025d211a62d9d39822a6d4a9700d57..10aa475cb74ef051c3fc4480dc49bbf98f82b179 100644
--- a/third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js
@@ -160,7 +160,9 @@ WebInspector.TimelineModel.RecordType = {
// CpuProfile is a virtual event created on frontend to support
// serialization of CPU Profiles within tracing timeline data.
- CpuProfile: "CpuProfile"
+ CpuProfile: "CpuProfile",
+
+ Extension: "Extension"
caseq 2016/07/11 18:58:38 This shouldn't be necessary.
}
WebInspector.TimelineModel.Category = {
@@ -180,6 +182,7 @@ WebInspector.TimelineModel.WarningType = {
}
WebInspector.TimelineModel.MainThreadName = "main";
+WebInspector.TimelineModel.ExtensionThreadName = "extension";
caseq 2016/07/11 18:58:38 ditto.
WebInspector.TimelineModel.WorkerThreadName = "DedicatedWorker Thread";
WebInspector.TimelineModel.RendererMainThreadName = "CrRendererMain";
@@ -481,9 +484,10 @@ WebInspector.TimelineModel.prototype = {
/**
* @param {!WebInspector.TracingModel} tracingModel
+ * @param {!Array.<!WebInspector.ExtensionTraceProvider>} traceProviders
* @param {boolean=} produceTraceStartedInPage
*/
- setEvents: function(tracingModel, produceTraceStartedInPage)
+ setEvents: function(tracingModel, traceProviders, produceTraceStartedInPage)
{
this.reset();
this._resetProcessingState();
@@ -508,6 +512,7 @@ WebInspector.TimelineModel.prototype = {
this._inspectedTargetEvents.sort(WebInspector.TracingModel.Event.compareStartTime);
this._processBrowserEvents(tracingModel);
+ this._processExtensionEvents(traceProviders);
this._buildTimelineRecords();
this._buildGPUEvents(tracingModel);
this._insertFirstPaintEvent();
@@ -628,6 +633,18 @@ WebInspector.TimelineModel.prototype = {
this._mergeAsyncEvents(this._mainThreadAsyncEventsByGroup, asyncEventsByGroup);
},
+ /**
+ * @param {!Array.<!WebInspector.ExtensionTraceProvider>} traceProviders
+ */
+ _processExtensionEvents: function(traceProviders)
+ {
+ for (var traceProvider of traceProviders) {
+ traceProvider.tracingModel.threadByName("Extension", "Thread 0").events().forEach(function(entry) {
+ this._extensionEvents.push(entry);
+ }, this);
+ }
+ },
+
_buildTimelineRecords: function()
{
var topLevelRecords = this._buildTimelineRecordsForThread(this.mainThreadEvents());
@@ -1075,6 +1092,8 @@ WebInspector.TimelineModel.prototype = {
this._virtualThreads = [];
/** @type {!Array<!WebInspector.TracingModel.Event>} */
this._mainThreadEvents = [];
+ /** @type {!Array<!WebInspector.TracingModel.Event>} */
+ this._extensionEvents = [];
/** @type {!Map<!WebInspector.TimelineModel.AsyncEventGroup, !Array<!WebInspector.TracingModel.AsyncEvent>>} */
this._mainThreadAsyncEventsByGroup = new Map();
/** @type {!Array<!WebInspector.TracingModel.Event>} */
@@ -1130,6 +1149,14 @@ WebInspector.TimelineModel.prototype = {
},
/**
+ * @return {!Array.<!WebInspector.TracingModel.Event>}
+ */
+ extensionEvents: function()
+ {
+ return this._extensionEvents;
+ },
+
+ /**
* @param {!Array.<!WebInspector.TracingModel.Event>} events
*/
_setMainThreadEvents: function(events)

Powered by Google App Engine
This is Rietveld 408576698