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

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

Issue 715803002: DevTools: merge TracingTimelineModel into TimelineModel (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month 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
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 13 matching lines...) Expand all
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @constructor 32 * @constructor
33 * @implements {WebInspector.FlameChartDataProvider} 33 * @implements {WebInspector.FlameChartDataProvider}
34 * @param {!WebInspector.TracingTimelineModel} model 34 * @param {!WebInspector.TimelineModel} model
35 * @param {!WebInspector.TimelineFrameModelBase} frameModel 35 * @param {!WebInspector.TimelineFrameModelBase} frameModel
36 */ 36 */
37 WebInspector.TimelineFlameChartDataProvider = function(model, frameModel) 37 WebInspector.TimelineFlameChartDataProvider = function(model, frameModel)
38 { 38 {
39 WebInspector.FlameChartDataProvider.call(this); 39 WebInspector.FlameChartDataProvider.call(this);
40 this.reset(); 40 this.reset();
41 this._model = model; 41 this._model = model;
42 this._frameModel = frameModel; 42 this._frameModel = frameModel;
43 this._font = "12px " + WebInspector.fontFamily(); 43 this._font = "12px " + WebInspector.fontFamily();
44 this._linkifier = new WebInspector.Linkifier(); 44 this._linkifier = new WebInspector.Linkifier();
45 this._filters = []; 45 this._filters = [];
46 this.addFilter(WebInspector.TimelineUIUtils.hiddenEventsFilter()); 46 this.addFilter(WebInspector.TimelineUIUtils.hiddenEventsFilter());
47 this.addFilter(new WebInspector.TracingTimelineModel.ExclusiveEventNameFilte r([WebInspector.TracingTimelineModel.RecordType.Program])); 47 this.addFilter(new WebInspector.ExclusiveTraceEventNameFilter([WebInspector. TimelineModel.RecordType.Program]));
48 } 48 }
49 49
50 WebInspector.TimelineFlameChartDataProvider.InstantEventVisibleDurationMs = 0.01 ; 50 WebInspector.TimelineFlameChartDataProvider.InstantEventVisibleDurationMs = 0.01 ;
51 WebInspector.TimelineFlameChartDataProvider.JSFrameCoalesceThresholdMs = 1.1; 51 WebInspector.TimelineFlameChartDataProvider.JSFrameCoalesceThresholdMs = 1.1;
52 52
53 /** 53 /**
54 * @return {!WebInspector.FlameChart.ColorGenerator} 54 * @return {!WebInspector.FlameChart.ColorGenerator}
55 */ 55 */
56 WebInspector.TimelineFlameChartDataProvider.consoleEventsColorGenerator = functi on() 56 WebInspector.TimelineFlameChartDataProvider.consoleEventsColorGenerator = functi on()
57 { 57 {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 entryTitle: function(entryIndex) 105 entryTitle: function(entryIndex)
106 { 106 {
107 var event = this._entryEvents[entryIndex]; 107 var event = this._entryEvents[entryIndex];
108 if (event) { 108 if (event) {
109 if (event.phase === WebInspector.TracingModel.Phase.AsyncStepInto || event.phase === WebInspector.TracingModel.Phase.AsyncStepPast) 109 if (event.phase === WebInspector.TracingModel.Phase.AsyncStepInto || event.phase === WebInspector.TracingModel.Phase.AsyncStepPast)
110 return event.name + ":" + event.args["step"]; 110 return event.name + ":" + event.args["step"];
111 111
112 var name = WebInspector.TimelineUIUtils.eventStyle(event).title; 112 var name = WebInspector.TimelineUIUtils.eventStyle(event).title;
113 // TODO(yurys): support event dividers 113 // TODO(yurys): support event dividers
114 var details = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE vent(event, this._linkifier); 114 var details = WebInspector.TimelineUIUtils.buildDetailsNodeForTraceE vent(event, this._linkifier);
115 if (event.name === WebInspector.TracingTimelineModel.RecordType.JSFr ame && details) 115 if (event.name === WebInspector.TimelineModel.RecordType.JSFrame && details)
116 return details.textContent; 116 return details.textContent;
117 return details ? WebInspector.UIString("%s (%s)", name, details.text Content) : name; 117 return details ? WebInspector.UIString("%s (%s)", name, details.text Content) : name;
118 } 118 }
119 var title = this._entryIndexToTitle[entryIndex]; 119 var title = this._entryIndexToTitle[entryIndex];
120 if (!title) { 120 if (!title) {
121 title = WebInspector.UIString("Unexpected entryIndex %d", entryIndex ); 121 title = WebInspector.UIString("Unexpected entryIndex %d", entryIndex );
122 console.error(title); 122 console.error(title);
123 } 123 }
124 return title; 124 return title;
125 }, 125 },
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 * @param {!Array.<!WebInspector.TimelineFrame>} frames 290 * @param {!Array.<!WebInspector.TimelineFrame>} frames
291 */ 291 */
292 _appendFrameBars: function(frames) 292 _appendFrameBars: function(frames)
293 { 293 {
294 this._frameBarsLevel = this._currentLevel++; 294 this._frameBarsLevel = this._currentLevel++;
295 for (var i = 0; i < frames.length; ++i) 295 for (var i = 0; i < frames.length; ++i)
296 this._appendFrame(frames[i]); 296 this._appendFrame(frames[i]);
297 }, 297 },
298 298
299 /** 299 /**
300 * @param {!WebInspector.TracingTimelineModel.Filter} filter 300 * @param {!WebInspector.TraceEventFilter} filter
301 */ 301 */
302 addFilter: function(filter) 302 addFilter: function(filter)
303 { 303 {
304 this._filters.push(filter); 304 this._filters.push(filter);
305 }, 305 },
306 306
307 /** 307 /**
308 * @param {!WebInspector.TracingModel.Event} event 308 * @param {!WebInspector.TracingModel.Event} event
309 * @return {boolean} 309 * @return {boolean}
310 */ 310 */
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 357
358 /** 358 /**
359 * @param {number} entryIndex 359 * @param {number} entryIndex
360 * @return {string} 360 * @return {string}
361 */ 361 */
362 entryColor: function(entryIndex) 362 entryColor: function(entryIndex)
363 { 363 {
364 var event = this._entryEvents[entryIndex]; 364 var event = this._entryEvents[entryIndex];
365 if (!event) 365 if (!event)
366 return this._entryIndexToFrame[entryIndex] ? "white" : "#555"; 366 return this._entryIndexToFrame[entryIndex] ? "white" : "#555";
367 if (event.name === WebInspector.TracingTimelineModel.RecordType.JSFrame) 367 if (event.name === WebInspector.TimelineModel.RecordType.JSFrame)
368 return this._timelineData.entryLevels[entryIndex] % 2 ? "#efb320" : "#fcc02d"; 368 return this._timelineData.entryLevels[entryIndex] % 2 ? "#efb320" : "#fcc02d";
369 var category = WebInspector.TimelineUIUtils.eventStyle(event).category; 369 var category = WebInspector.TimelineUIUtils.eventStyle(event).category;
370 if (WebInspector.TracingModel.isAsyncPhase(event.phase)) { 370 if (WebInspector.TracingModel.isAsyncPhase(event.phase)) {
371 if (event.category === WebInspector.TracingModel.ConsoleEventCategor y) 371 if (event.category === WebInspector.TracingModel.ConsoleEventCategor y)
372 return WebInspector.TimelineFlameChartDataProvider.consoleEvents ColorGenerator().colorForID(event.name); 372 return WebInspector.TimelineFlameChartDataProvider.consoleEvents ColorGenerator().colorForID(event.name);
373 var color = this._asyncColorByCategory[category.name]; 373 var color = this._asyncColorByCategory[category.name];
374 if (color) 374 if (color)
375 return color; 375 return color;
376 var parsedColor = WebInspector.Color.parse(category.fillColorStop1); 376 var parsedColor = WebInspector.Color.parse(category.fillColorStop1);
377 color = parsedColor.setAlpha(0.7).toString(WebInspector.Color.Format .RGBA) || ""; 377 color = parsedColor.setAlpha(0.7).toString(WebInspector.Color.Format .RGBA) || "";
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 return -1; 642 return -1;
643 } 643 }
644 } 644 }
645 645
646 /** 646 /**
647 * @constructor 647 * @constructor
648 * @extends {WebInspector.VBox} 648 * @extends {WebInspector.VBox}
649 * @implements {WebInspector.TimelineModeView} 649 * @implements {WebInspector.TimelineModeView}
650 * @implements {WebInspector.FlameChartDelegate} 650 * @implements {WebInspector.FlameChartDelegate}
651 * @param {!WebInspector.TimelineModeViewDelegate} delegate 651 * @param {!WebInspector.TimelineModeViewDelegate} delegate
652 * @param {!WebInspector.TracingTimelineModel} tracingModel 652 * @param {!WebInspector.TimelineModel} tracingModel
653 * @param {!WebInspector.TimelineFrameModelBase} frameModel 653 * @param {!WebInspector.TimelineFrameModelBase} frameModel
654 */ 654 */
655 WebInspector.TimelineFlameChart = function(delegate, tracingModel, frameModel) 655 WebInspector.TimelineFlameChart = function(delegate, tracingModel, frameModel)
656 { 656 {
657 WebInspector.VBox.call(this); 657 WebInspector.VBox.call(this);
658 this.element.classList.add("timeline-flamechart"); 658 this.element.classList.add("timeline-flamechart");
659 this._delegate = delegate; 659 this._delegate = delegate;
660 this._model = tracingModel; 660 this._model = tracingModel;
661 this._dataProvider = new WebInspector.TimelineFlameChartDataProvider(tracing Model, frameModel) 661 this._dataProvider = new WebInspector.TimelineFlameChartDataProvider(tracing Model, frameModel)
662 this._mainView = new WebInspector.FlameChart(this._dataProvider, this, true) ; 662 this._mainView = new WebInspector.FlameChart(this._dataProvider, this, true) ;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 /** 788 /**
789 * @constructor 789 * @constructor
790 * @param {!WebInspector.TimelineSelection} selection 790 * @param {!WebInspector.TimelineSelection} selection
791 * @param {number} entryIndex 791 * @param {number} entryIndex
792 */ 792 */
793 WebInspector.TimelineFlameChart.Selection = function(selection, entryIndex) 793 WebInspector.TimelineFlameChart.Selection = function(selection, entryIndex)
794 { 794 {
795 this.timelineSelection = selection; 795 this.timelineSelection = selection;
796 this.entryIndex = entryIndex; 796 this.entryIndex = entryIndex;
797 } 797 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698