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

Unified Diff: third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js

Issue 2313093004: Timeline: always create filmstrip model and share single instance of it (Closed)
Patch Set: Timeline: always create filmstrip model Created 4 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/timeline/TimelineEventOverview.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js b/third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js
index c335527d8700d535a4f28edef2032a211a75d772..7b416245b39978c913ccf00bf1592f9e50be192f 100644
--- a/third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/components_lazy/FilmStripModel.js
@@ -11,34 +11,7 @@
*/
WebInspector.FilmStripModel = function(tracingModel, zeroTime)
{
- this._tracingModel = tracingModel;
- this._zeroTime = zeroTime || tracingModel.minimumRecordTime();
-
- /** @type {!Array<!WebInspector.FilmStripModel.Frame>} */
- this._frames = [];
-
- var browserProcess = tracingModel.processByName("Browser");
- if (!browserProcess)
- return;
- var mainThread = browserProcess.threadByName("CrBrowserMain");
- if (!mainThread)
- return;
-
- var events = mainThread.events();
- for (var i = 0; i < events.length; ++i) {
- var event = events[i];
- if (event.startTime < this._zeroTime)
- continue;
- if (!event.hasCategory(WebInspector.FilmStripModel._category))
- continue;
- if (event.name === WebInspector.FilmStripModel.TraceEvents.CaptureFrame) {
- var data = event.args["data"];
- if (data)
- this._frames.push(WebInspector.FilmStripModel.Frame._fromEvent(this, event, this._frames.length));
- } else if (event.name === WebInspector.FilmStripModel.TraceEvents.Screenshot) {
- this._frames.push(WebInspector.FilmStripModel.Frame._fromSnapshot(this, /** @type {!WebInspector.TracingModel.ObjectSnapshot} */ (event), this._frames.length));
- }
- }
+ this.reset(tracingModel, zeroTime);
}
WebInspector.FilmStripModel._category = "disabled-by-default-devtools.screenshot";
@@ -50,6 +23,42 @@ WebInspector.FilmStripModel.TraceEvents = {
WebInspector.FilmStripModel.prototype = {
/**
+ * @param {!WebInspector.TracingModel} tracingModel
+ * @param {number=} zeroTime
+ */
+ reset: function(tracingModel, zeroTime)
+ {
+ this._zeroTime = zeroTime || tracingModel.minimumRecordTime();
+ this._spanTime = tracingModel.maximumRecordTime() - this._zeroTime;
+
+ /** @type {!Array<!WebInspector.FilmStripModel.Frame>} */
+ this._frames = [];
+
+ var browserProcess = tracingModel.processByName("Browser");
+ if (!browserProcess)
+ return;
+ var mainThread = browserProcess.threadByName("CrBrowserMain");
+ if (!mainThread)
+ return;
+
+ var events = mainThread.events();
+ for (var i = 0; i < events.length; ++i) {
+ var event = events[i];
+ if (event.startTime < this._zeroTime)
+ continue;
+ if (!event.hasCategory(WebInspector.FilmStripModel._category))
+ continue;
+ if (event.name === WebInspector.FilmStripModel.TraceEvents.CaptureFrame) {
+ var data = event.args["data"];
+ if (data)
+ this._frames.push(WebInspector.FilmStripModel.Frame._fromEvent(this, event, this._frames.length));
+ } else if (event.name === WebInspector.FilmStripModel.TraceEvents.Screenshot) {
+ this._frames.push(WebInspector.FilmStripModel.Frame._fromSnapshot(this, /** @type {!WebInspector.TracingModel.ObjectSnapshot} */ (event), this._frames.length));
+ }
+ }
+ },
+
+ /**
* @return {!Array<!WebInspector.FilmStripModel.Frame>}
*/
frames: function()
@@ -66,6 +75,14 @@ WebInspector.FilmStripModel.prototype = {
},
/**
+ * @return {number}
+ */
+ spanTime: function()
+ {
+ return this._spanTime;
+ },
+
+ /**
* @param {number} timestamp
* @return {?WebInspector.FilmStripModel.Frame}
*/
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/timeline/TimelineEventOverview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698