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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/FilmStripModel.js

Issue 2623743002: DevTools: extract modules (non-extensions) (Closed)
Patch Set: rebaseline Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 The Chromium Authors. All rights reserved. 2 * Copyright 2015 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 /** 7 /**
8 * @unrestricted 8 * @unrestricted
9 */ 9 */
10 Components.FilmStripModel = class { 10 SDK.FilmStripModel = class {
11 /** 11 /**
12 * @param {!SDK.TracingModel} tracingModel 12 * @param {!SDK.TracingModel} tracingModel
13 * @param {number=} zeroTime 13 * @param {number=} zeroTime
14 */ 14 */
15 constructor(tracingModel, zeroTime) { 15 constructor(tracingModel, zeroTime) {
16 this.reset(tracingModel, zeroTime); 16 this.reset(tracingModel, zeroTime);
17 } 17 }
18 18
19 /** 19 /**
20 * @param {!SDK.TracingModel} tracingModel 20 * @param {!SDK.TracingModel} tracingModel
21 * @param {number=} zeroTime 21 * @param {number=} zeroTime
22 */ 22 */
23 reset(tracingModel, zeroTime) { 23 reset(tracingModel, zeroTime) {
24 this._zeroTime = zeroTime || tracingModel.minimumRecordTime(); 24 this._zeroTime = zeroTime || tracingModel.minimumRecordTime();
25 this._spanTime = tracingModel.maximumRecordTime() - this._zeroTime; 25 this._spanTime = tracingModel.maximumRecordTime() - this._zeroTime;
26 26
27 /** @type {!Array<!Components.FilmStripModel.Frame>} */ 27 /** @type {!Array<!SDK.FilmStripModel.Frame>} */
28 this._frames = []; 28 this._frames = [];
29 var browserMain = SDK.TracingModel.browserMainThread(tracingModel); 29 var browserMain = SDK.TracingModel.browserMainThread(tracingModel);
30 if (!browserMain) 30 if (!browserMain)
31 return; 31 return;
32 32
33 var events = browserMain.events(); 33 var events = browserMain.events();
34 for (var i = 0; i < events.length; ++i) { 34 for (var i = 0; i < events.length; ++i) {
35 var event = events[i]; 35 var event = events[i];
36 if (event.startTime < this._zeroTime) 36 if (event.startTime < this._zeroTime)
37 continue; 37 continue;
38 if (!event.hasCategory(Components.FilmStripModel._category)) 38 if (!event.hasCategory(SDK.FilmStripModel._category))
39 continue; 39 continue;
40 if (event.name === Components.FilmStripModel.TraceEvents.CaptureFrame) { 40 if (event.name === SDK.FilmStripModel.TraceEvents.CaptureFrame) {
41 var data = event.args['data']; 41 var data = event.args['data'];
42 if (data) 42 if (data)
43 this._frames.push(Components.FilmStripModel.Frame._fromEvent(this, eve nt, this._frames.length)); 43 this._frames.push(SDK.FilmStripModel.Frame._fromEvent(this, event, thi s._frames.length));
44 } else if (event.name === Components.FilmStripModel.TraceEvents.Screenshot ) { 44 } else if (event.name === SDK.FilmStripModel.TraceEvents.Screenshot) {
45 this._frames.push(Components.FilmStripModel.Frame._fromSnapshot( 45 this._frames.push(SDK.FilmStripModel.Frame._fromSnapshot(
46 this, /** @type {!SDK.TracingModel.ObjectSnapshot} */ (event), this. _frames.length)); 46 this, /** @type {!SDK.TracingModel.ObjectSnapshot} */ (event), this. _frames.length));
47 } 47 }
48 } 48 }
49 } 49 }
50 50
51 /** 51 /**
52 * @return {!Array<!Components.FilmStripModel.Frame>} 52 * @return {!Array<!SDK.FilmStripModel.Frame>}
53 */ 53 */
54 frames() { 54 frames() {
55 return this._frames; 55 return this._frames;
56 } 56 }
57 57
58 /** 58 /**
59 * @return {number} 59 * @return {number}
60 */ 60 */
61 zeroTime() { 61 zeroTime() {
62 return this._zeroTime; 62 return this._zeroTime;
63 } 63 }
64 64
65 /** 65 /**
66 * @return {number} 66 * @return {number}
67 */ 67 */
68 spanTime() { 68 spanTime() {
69 return this._spanTime; 69 return this._spanTime;
70 } 70 }
71 71
72 /** 72 /**
73 * @param {number} timestamp 73 * @param {number} timestamp
74 * @return {?Components.FilmStripModel.Frame} 74 * @return {?SDK.FilmStripModel.Frame}
75 */ 75 */
76 frameByTimestamp(timestamp) { 76 frameByTimestamp(timestamp) {
77 var index = this._frames.upperBound(timestamp, (timestamp, frame) => timesta mp - frame.timestamp) - 1; 77 var index = this._frames.upperBound(timestamp, (timestamp, frame) => timesta mp - frame.timestamp) - 1;
78 return index >= 0 ? this._frames[index] : null; 78 return index >= 0 ? this._frames[index] : null;
79 } 79 }
80 }; 80 };
81 81
82 Components.FilmStripModel._category = 'disabled-by-default-devtools.screenshot'; 82 SDK.FilmStripModel._category = 'disabled-by-default-devtools.screenshot';
83 83
84 Components.FilmStripModel.TraceEvents = { 84 SDK.FilmStripModel.TraceEvents = {
85 CaptureFrame: 'CaptureFrame', 85 CaptureFrame: 'CaptureFrame',
86 Screenshot: 'Screenshot' 86 Screenshot: 'Screenshot'
87 }; 87 };
88 88
89 /** 89 /**
90 * @unrestricted 90 * @unrestricted
91 */ 91 */
92 Components.FilmStripModel.Frame = class { 92 SDK.FilmStripModel.Frame = class {
93 /** 93 /**
94 * @param {!Components.FilmStripModel} model 94 * @param {!SDK.FilmStripModel} model
95 * @param {number} timestamp 95 * @param {number} timestamp
96 * @param {number} index 96 * @param {number} index
97 */ 97 */
98 constructor(model, timestamp, index) { 98 constructor(model, timestamp, index) {
99 this._model = model; 99 this._model = model;
100 this.timestamp = timestamp; 100 this.timestamp = timestamp;
101 this.index = index; 101 this.index = index;
102 /** @type {?string} */ 102 /** @type {?string} */
103 this._imageData = null; 103 this._imageData = null;
104 /** @type {?SDK.TracingModel.ObjectSnapshot} */ 104 /** @type {?SDK.TracingModel.ObjectSnapshot} */
105 this._snapshot = null; 105 this._snapshot = null;
106 } 106 }
107 107
108 /** 108 /**
109 * @param {!Components.FilmStripModel} model 109 * @param {!SDK.FilmStripModel} model
110 * @param {!SDK.TracingModel.Event} event 110 * @param {!SDK.TracingModel.Event} event
111 * @param {number} index 111 * @param {number} index
112 * @return {!Components.FilmStripModel.Frame} 112 * @return {!SDK.FilmStripModel.Frame}
113 */ 113 */
114 static _fromEvent(model, event, index) { 114 static _fromEvent(model, event, index) {
115 var frame = new Components.FilmStripModel.Frame(model, event.startTime, inde x); 115 var frame = new SDK.FilmStripModel.Frame(model, event.startTime, index);
116 frame._imageData = event.args['data']; 116 frame._imageData = event.args['data'];
117 return frame; 117 return frame;
118 } 118 }
119 119
120 /** 120 /**
121 * @param {!Components.FilmStripModel} model 121 * @param {!SDK.FilmStripModel} model
122 * @param {!SDK.TracingModel.ObjectSnapshot} snapshot 122 * @param {!SDK.TracingModel.ObjectSnapshot} snapshot
123 * @param {number} index 123 * @param {number} index
124 * @return {!Components.FilmStripModel.Frame} 124 * @return {!SDK.FilmStripModel.Frame}
125 */ 125 */
126 static _fromSnapshot(model, snapshot, index) { 126 static _fromSnapshot(model, snapshot, index) {
127 var frame = new Components.FilmStripModel.Frame(model, snapshot.startTime, i ndex); 127 var frame = new SDK.FilmStripModel.Frame(model, snapshot.startTime, index);
128 frame._snapshot = snapshot; 128 frame._snapshot = snapshot;
129 return frame; 129 return frame;
130 } 130 }
131 131
132 /** 132 /**
133 * @return {!Components.FilmStripModel} 133 * @return {!SDK.FilmStripModel}
134 */ 134 */
135 model() { 135 model() {
136 return this._model; 136 return this._model;
137 } 137 }
138 138
139 /** 139 /**
140 * @return {!Promise<?string>} 140 * @return {!Promise<?string>}
141 */ 141 */
142 imageDataPromise() { 142 imageDataPromise() {
143 if (this._imageData || !this._snapshot) 143 if (this._imageData || !this._snapshot)
144 return Promise.resolve(this._imageData); 144 return Promise.resolve(this._imageData);
145 145
146 return /** @type {!Promise<?string>} */ (this._snapshot.objectPromise()); 146 return /** @type {!Promise<?string>} */ (this._snapshot.objectPromise());
147 } 147 }
148 }; 148 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698