Chromium Code Reviews| 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) |
|
alph
2016/09/08 00:03:07
you don't need to pass tracingModel all the time.
|
| + { |
| + 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} |
| */ |