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

Unified Diff: Source/devtools/front_end/timeline/TimelineModel.js

Issue 318343003: Move trace event based implementation parts of TimelineModel into TracingTimelineModel (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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: Source/devtools/front_end/timeline/TimelineModel.js
diff --git a/Source/devtools/front_end/timeline/TimelineModel.js b/Source/devtools/front_end/timeline/TimelineModel.js
index 9fb5dd44fd5d8144923be0ea6b879acb5e6759c9..35ebfb508f4abf7979b4da5c3ed17af72e566416 100644
--- a/Source/devtools/front_end/timeline/TimelineModel.js
+++ b/Source/devtools/front_end/timeline/TimelineModel.js
@@ -30,13 +30,13 @@
/**
* @constructor
- * @extends {WebInspector.Object}
+ * @extends {WebInspector.TargetAwareObject}
* @param {!WebInspector.Target} target
*/
WebInspector.TimelineModel = function(target)
{
+ WebInspector.TargetAwareObject.call(this, target);
this._filters = [];
- this._target = target;
}
WebInspector.TimelineModel.RecordType = {
@@ -143,14 +143,6 @@ WebInspector.TimelineModel.forAllRecords = function(recordsArray, preOrderCallba
WebInspector.TimelineModel.prototype = {
/**
- * @return {!WebInspector.Target}
- */
- target: function()
- {
- return this._target;
- },
-
- /**
* @return {boolean}
*/
loadedFromFile: function()
@@ -224,52 +216,6 @@ WebInspector.TimelineModel.prototype = {
this.dispatchEventToListeners(WebInspector.TimelineModel.Events.RecordFilterChanged);
},
- willStartRecordingTraceEvents: function()
- {
- this.reset();
- this.dispatchEventToListeners(WebInspector.TimelineModel.Events.RecordingStarted);
- },
-
- /**
- * @param {!Array.<!WebInspector.TracingModel.Event>} mainThreadEvents
- */
- didStopRecordingTraceEvents: function(mainThreadEvents)
- {
- var recordStack = [];
- for (var i = 0, size = mainThreadEvents.length; i < size; ++i) {
- var event = mainThreadEvents[i];
- while (recordStack.length) {
- var top = recordStack.peekLast();
- if (top._event.endTime >= event.startTime)
- break;
- recordStack.pop();
- }
- var parentRecord = recordStack.peekLast() || null;
- var record = new WebInspector.TimelineModel.TraceEventRecord(this, event, parentRecord);
- if (WebInspector.TimelineUIUtils.isEventDivider(record))
- this._eventDividerRecords.push(record);
- if (!recordStack.length)
- this._addTopLevelRecord(record);
- if (event.endTime)
- recordStack.push(record);
- }
- this.dispatchEventToListeners(WebInspector.TimelineModel.Events.RecordingStopped);
- },
-
- /**
- * @param {!WebInspector.TimelineModel.TraceEventRecord} record
- */
- _addTopLevelRecord: function(record)
- {
- this._updateBoundaries(record);
- this._records.push(record);
- if (record.type() === WebInspector.TimelineModel.RecordType.Program)
- this._mainThreadTasks.push(record);
- if (record.type() === WebInspector.TimelineModel.RecordType.GPUTask)
- this._gpuThreadTasks.push(record);
- this.dispatchEventToListeners(WebInspector.TimelineModel.Events.RecordAdded, record);
- },
-
/**
* @return {!Array.<!WebInspector.TimelineModel.Record>}
*/
@@ -370,7 +316,7 @@ WebInspector.TimelineModel.prototype = {
return this._eventDividerRecords;
},
- __proto__: WebInspector.Object.prototype
+ __proto__: WebInspector.TargetAwareObject.prototype
}
/**
@@ -485,216 +431,6 @@ WebInspector.TimelineModel.Record.prototype = {
testContentMatching: function(regExp) { }
}
-
-/**
- * @constructor
- * @implements {WebInspector.TimelineModel.Record}
- * @param {!WebInspector.TimelineModel} model
- * @param {!WebInspector.TracingModel.Event} traceEvent
- * @param {?WebInspector.TimelineModel.TraceEventRecord} parentRecord
- */
-WebInspector.TimelineModel.TraceEventRecord = function(model, traceEvent, parentRecord)
-{
- this._model = model;
- this._event = traceEvent;
- traceEvent._timelineRecord = this;
- if (parentRecord) {
- this.parent = parentRecord;
- parentRecord._children.push(this);
- }
- this._children = [];
-}
-
-WebInspector.TimelineModel.TraceEventRecord.prototype = {
- /**
- * @return {?Array.<!ConsoleAgent.CallFrame>}
- */
- callSiteStackTrace: function()
- {
- var initiator = this._event.initiator;
- return initiator ? initiator.stackTrace : null;
- },
-
- /**
- * @return {?WebInspector.TimelineModel.Record}
- */
- initiator: function()
- {
- var initiator = this._event.initiator;
- return initiator ? initiator._timelineRecord : null;
- },
-
- /**
- * @return {!WebInspector.Target}
- */
- target: function()
- {
- return this._model.target();
- },
-
- /**
- * @return {number}
- */
- selfTime: function()
- {
- return this._event.selfTime;
- },
-
- /**
- * @return {!Array.<!WebInspector.TimelineModel.Record>}
- */
- children: function()
- {
- return this._children;
- },
-
- /**
- * @return {!WebInspector.TimelineCategory}
- */
- category: function()
- {
- var style = WebInspector.TimelineUIUtils.styleForTimelineEvent(this._event.name);
- return style.category;
- },
-
- /**
- * @return {string}
- */
- title: function()
- {
- return WebInspector.TimelineUIUtils.recordTitle(this, this._model);
- },
-
- /**
- * @return {number}
- */
- startTime: function()
- {
- return this._event.startTime;
- },
-
- /**
- * @return {string|undefined}
- */
- thread: function()
- {
- return "CPU";
- },
-
- /**
- * @return {number}
- */
- endTime: function()
- {
- return this._event.endTime || this._event.startTime;
- },
-
- /**
- * @param {number} endTime
- */
- setEndTime: function(endTime)
- {
- throw new Error("Unsupported operation setEndTime");
- },
-
- /**
- * @return {!Object}
- */
- data: function()
- {
- return this._event.args.data;
- },
-
- /**
- * @return {string}
- */
- type: function()
- {
- return this._event.name;
- },
-
- /**
- * @return {string}
- */
- frameId: function()
- {
- switch (this._event.name) {
- case WebInspector.TracingTimelineModel.RecordType.ScheduleStyleRecalculation:
- case WebInspector.TracingTimelineModel.RecordType.RecalculateStyles:
- case WebInspector.TracingTimelineModel.RecordType.InvalidateLayout:
- return this._event.args["frameId"];
- case WebInspector.TracingTimelineModel.RecordType.Layout:
- return this._event.args["beginData"]["frameId"];
- default:
- var data = this._event.args.data;
- return (data && data["frame"]) || "";
- }
- },
-
- /**
- * @return {?Array.<!ConsoleAgent.CallFrame>}
- */
- stackTrace: function()
- {
- return this._event.stackTrace;
- },
-
- /**
- * @param {string} key
- * @return {?Object}
- */
- getUserObject: function(key)
- {
- if (key === "TimelineUIUtils::preview-element")
- return this._event.previewElement;
- throw new Error("Unexpected key: " + key);
- },
-
- /**
- * @param {string} key
- * @param {?Object|undefined} value
- */
- setUserObject: function(key, value)
- {
- if (key !== "TimelineUIUtils::preview-element")
- throw new Error("Unexpected key: " + key);
- this._event.previewElement = /** @type {?Element} */ (value);
- },
-
- /**
- * @return {!Object.<string, number>}
- */
- aggregatedStats: function()
- {
- return {};
- },
-
- /**
- * @return {?Array.<string>}
- */
- warnings: function()
- {
- if (this._event.warning)
- return [this._event.warning];
- return null;
- },
-
- /**
- * @param {!RegExp} regExp
- * @return {boolean}
- */
- testContentMatching: function(regExp)
- {
- var tokens = [this.title()];
- var data = this._event.args.data;
- if (data) {
- for (var key in data)
- tokens.push(data[key]);
- }
- return regExp.test(tokens.join("|"));
- }
-}
-
/**
* @constructor
*/

Powered by Google App Engine
This is Rietveld 408576698