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

Side by Side Diff: Source/devtools/front_end/TimelineFlameChart.js

Issue 185533004: FlameChart: convert colors magic into dataProvider.entryColor getter (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: minor changes Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/devtools/front_end/FlameChart.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 /** 121 /**
122 * @return {!WebInspector.FlameChart.TimelineData} 122 * @return {!WebInspector.FlameChart.TimelineData}
123 */ 123 */
124 timelineData: function() 124 timelineData: function()
125 { 125 {
126 if (!this._timelineData) { 126 if (!this._timelineData) {
127 this._resetData(); 127 this._resetData();
128 WebInspector.TimelinePresentationModel.forAllRecords(this._model.rec ords, this._appendRecord.bind(this)); 128 WebInspector.TimelinePresentationModel.forAllRecords(this._model.rec ords, this._appendRecord.bind(this));
129 this._zeroTime = this._model.minimumRecordTime(); 129 this._zeroTime = this._model.minimumRecordTime();
130 } 130 }
131 return this._timelineData; 131 return /** @type {!WebInspector.FlameChart.TimelineData} */(this._timeli neData);
132 }, 132 },
133 133
134 /** 134 /**
135 * @return {number} 135 * @return {number}
136 */ 136 */
137 zeroTime: function() 137 zeroTime: function()
138 { 138 {
139 return this._zeroTime; 139 return this._zeroTime;
140 }, 140 },
141 141
(...skipping 14 matching lines...) Expand all
156 }, 156 },
157 157
158 _resetData: function() 158 _resetData: function()
159 { 159 {
160 this._startTime = 0; 160 this._startTime = 0;
161 this._endTime = 0; 161 this._endTime = 0;
162 this._maxStackDepth = 5; 162 this._maxStackDepth = 5;
163 this._totalTime = 1000; 163 this._totalTime = 1000;
164 this._zeroTime = 0; 164 this._zeroTime = 0;
165 165
166 /**
167 * @type {?WebInspector.FlameChart.TimelineData}
168 */
166 this._timelineData = { 169 this._timelineData = {
167 entryLevels: [], 170 entryLevels: [],
168 entryTotalTimes: [], 171 entryTotalTimes: [],
169 entryOffsets: [], 172 entryOffsets: [],
170 colorEntryIndexes: []
171 }; 173 };
172 this._entryTitles = []; 174
175 /** @type {!Array.<string>} */
176 this._entryTitles = [];
177
178 /** @type {!Array.<string>} */
179 this._entryColors = [];
173 }, 180 },
174 181
175 _appendRecord: function(record, depth) 182 _appendRecord: function(record, depth)
176 { 183 {
177 var timelineData = this._timelineData; 184 var timelineData = this._timelineData;
178 185
179 this._startTime = this._startTime ? Math.min(this._startTime, record.sta rtTime) : record.startTime; 186 this._startTime = this._startTime ? Math.min(this._startTime, record.sta rtTime) : record.startTime;
180 var startTime = this._startTime; 187 var startTime = this._startTime;
181 var endTime = record.endTime || record.startTime - startTime; 188 var endTime = record.endTime || record.startTime - startTime;
182 this._endTime = Math.max(this._endTime, endTime); 189 this._endTime = Math.max(this._endTime, endTime);
183 this._totalTime = Math.max(1000, this._endTime - this._startTime); 190 this._totalTime = Math.max(1000, this._endTime - this._startTime);
184 191
185 if (this._mainThread) { 192 if (this._mainThread) {
186 if (record.type === WebInspector.TimelineModel.RecordType.GPUTask || !!record.thread) 193 if (record.type === WebInspector.TimelineModel.RecordType.GPUTask || !!record.thread)
187 return; 194 return;
188 } else { 195 } else {
189 if (record.type === WebInspector.TimelineModel.RecordType.Program || !record.thread) 196 if (record.type === WebInspector.TimelineModel.RecordType.Program || !record.thread)
190 return; 197 return;
191 } 198 }
192 199
193 var index = this._entryTitles.length; 200 var index = this._entryTitles.length;
194 this._entryTitles[index] = record.type; 201 this._entryTitles[index] = record.type;
195 timelineData.entryOffsets[index] = record.startTime - startTime; 202 timelineData.entryOffsets[index] = record.startTime - startTime;
196 timelineData.entryLevels[index] = depth - 1; 203 timelineData.entryLevels[index] = depth - 1;
197 timelineData.entryTotalTimes[index] = endTime - record.startTime; 204 timelineData.entryTotalTimes[index] = endTime - record.startTime;
198 205 this._entryColors[index] = this._colorGenerator.colorForID(WebInspector. TimelineUIUtils.categoryForRecord(record).name);
199 var color = this._colorGenerator.colorForID(WebInspector.TimelineUIUtils .categoryForRecord(record).name);
200 var indexesForColor = timelineData.colorEntryIndexes[color.index];
201 if (!indexesForColor)
202 indexesForColor = timelineData.colorEntryIndexes[color.index] = [];
203 indexesForColor.push(index);
204
205 this._maxStackDepth = Math.max(this._maxStackDepth, depth + 1); 206 this._maxStackDepth = Math.max(this._maxStackDepth, depth + 1);
206 }, 207 },
207 208
208 /** 209 /**
209 * @param {number} entryIndex 210 * @param {number} entryIndex
210 * @return {?Array.<!{title: string, text: string}>} 211 * @return {?Array.<!{title: string, text: string}>}
211 */ 212 */
212 prepareHighlightedEntryInfo: function(entryIndex) 213 prepareHighlightedEntryInfo: function(entryIndex)
213 { 214 {
214 return null; 215 return null;
215 }, 216 },
216 217
217 /** 218 /**
218 * @param {number} entryIndex 219 * @param {number} entryIndex
219 * @return {boolean} 220 * @return {boolean}
220 */ 221 */
221 canJumpToEntry: function(entryIndex) 222 canJumpToEntry: function(entryIndex)
222 { 223 {
223 return false; 224 return false;
224 }, 225 },
225 226
226 /** 227 /**
227 * @param {number} entryIndex 228 * @param {number} entryIndex
228 * @return {?Object} 229 * @return {?Object}
229 */ 230 */
230 entryData: function(entryIndex) 231 entryData: function(entryIndex)
231 { 232 {
232 return null; 233 return null;
234 },
235
236 /**
237 * @param {number} entryIndex
238 * @return {!string}
239 */
240 entryColor: function(entryIndex)
241 {
242 return this._entryColors[entryIndex];
233 } 243 }
234 } 244 }
235 245
236 /** 246 /**
237 * @constructor 247 * @constructor
238 * @extends {WebInspector.View} 248 * @extends {WebInspector.View}
239 * @implements {WebInspector.TimelineModeView} 249 * @implements {WebInspector.TimelineModeView}
240 * @implements {WebInspector.TimeRangeController} 250 * @implements {WebInspector.TimeRangeController}
241 * @param {!WebInspector.TimelineModeViewDelegate} delegate 251 * @param {!WebInspector.TimelineModeViewDelegate} delegate
242 * @param {!WebInspector.TimelineModel} model 252 * @param {!WebInspector.TimelineModel} model
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 346
337 /** 347 /**
338 * @param {?WebInspector.TimelinePresentationModel.Record} record 348 * @param {?WebInspector.TimelinePresentationModel.Record} record
339 */ 349 */
340 setSelectedRecord: function(record) 350 setSelectedRecord: function(record)
341 { 351 {
342 }, 352 },
343 353
344 __proto__: WebInspector.View.prototype 354 __proto__: WebInspector.View.prototype
345 } 355 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/FlameChart.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698