Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 109 /** | 109 /** |
| 110 * @param {number} startTime | 110 * @param {number} startTime |
| 111 * @param {number} endTime | 111 * @param {number} endTime |
| 112 * @return {?Array.<number>} | 112 * @return {?Array.<number>} |
| 113 */ | 113 */ |
| 114 dividerOffsets: function(startTime, endTime) | 114 dividerOffsets: function(startTime, endTime) |
| 115 { | 115 { |
| 116 return null; | 116 return null; |
| 117 }, | 117 }, |
| 118 | 118 |
| 119 /** | |
| 120 * @param {number} index | |
|
alph
2014/07/21 14:21:07
@override
yurys
2014/07/21 14:30:00
Done.
| |
| 121 * @return {string} | |
| 122 */ | |
| 123 markerColor: function(index) | |
| 124 { | |
| 125 var event = this._markerEvents[index]; | |
| 126 return WebInspector.TimelineUIUtilsImpl.markerEventColor(event.name); | |
| 127 }, | |
| 128 | |
| 129 /** | |
| 130 * @param {number} index | |
|
alph
2014/07/21 14:21:07
ditto
yurys
2014/07/21 14:30:00
Done.
| |
| 131 * @return {string} | |
| 132 */ | |
| 133 markerTitle: function(index) | |
| 134 { | |
| 135 var event = this._markerEvents[index]; | |
| 136 return WebInspector.TracingTimelineUIUtils.eventTitle(event, this._model ); | |
| 137 }, | |
| 138 | |
| 119 reset: function() | 139 reset: function() |
| 120 { | 140 { |
| 121 this._timelineData = null; | 141 this._timelineData = null; |
| 122 /** @type {!Array.<!WebInspector.TracingModel.Event>} */ | 142 /** @type {!Array.<!WebInspector.TracingModel.Event>} */ |
| 123 this._entryEvents = []; | 143 this._entryEvents = []; |
| 124 this._entryIndexToTitle = {}; | 144 this._entryIndexToTitle = {}; |
| 145 this._markerEvents = []; | |
| 125 }, | 146 }, |
| 126 | 147 |
| 127 /** | 148 /** |
| 128 * @return {!WebInspector.FlameChart.TimelineData} | 149 * @return {!WebInspector.FlameChart.TimelineData} |
| 129 */ | 150 */ |
| 130 timelineData: function() | 151 timelineData: function() |
| 131 { | 152 { |
| 132 if (this._timelineData) | 153 if (this._timelineData) |
| 133 return this._timelineData; | 154 return this._timelineData; |
| 134 | 155 |
| 135 /** | 156 this._timelineData = new WebInspector.FlameChart.TimelineData([], [], [] ); |
| 136 * @type {?WebInspector.FlameChart.TimelineData} | |
| 137 */ | |
| 138 this._timelineData = { | |
| 139 entryLevels: [], | |
| 140 entryTotalTimes: [], | |
| 141 entryStartTimes: [] | |
| 142 }; | |
| 143 | 157 |
| 144 this._minimumBoundary = this._model.minimumRecordTime(); | 158 this._minimumBoundary = this._model.minimumRecordTime(); |
| 145 this._timeSpan = Math.max(this._model.maximumRecordTime() - this._minimu mBoundary, 1000); | 159 this._timeSpan = Math.max(this._model.maximumRecordTime() - this._minimu mBoundary, 1000); |
| 146 this._currentLevel = 0; | 160 this._currentLevel = 0; |
| 147 this._appendThreadTimelineData(WebInspector.UIString("Main Thread"), thi s._model.mainThreadEvents()); | 161 this._appendThreadTimelineData(WebInspector.UIString("Main Thread"), thi s._model.mainThreadEvents()); |
| 148 var threads = this._model.virtualThreads(); | 162 var threads = this._model.virtualThreads(); |
| 149 for (var threadName in threads) { | 163 for (var threadName in threads) { |
| 150 if (threadName !== WebInspector.TimelineModel.MainThreadName) | 164 if (threadName !== WebInspector.TimelineModel.MainThreadName) |
| 151 this._appendThreadTimelineData(threadName, threads[threadName]); | 165 this._appendThreadTimelineData(threadName, threads[threadName]); |
| 152 } | 166 } |
| 153 return this._timelineData; | 167 return this._timelineData; |
| 154 }, | 168 }, |
| 155 | 169 |
| 156 /** | 170 /** |
| 157 * @param {string} headerName | 171 * @param {string} headerName |
| 158 * @param {!Array.<!WebInspector.TracingModel.Event>} events | 172 * @param {!Array.<!WebInspector.TracingModel.Event>} events |
| 159 */ | 173 */ |
| 160 _appendThreadTimelineData: function(headerName, events) | 174 _appendThreadTimelineData: function(headerName, events) |
| 161 { | 175 { |
| 162 var maxStackDepth = 0; | 176 var maxStackDepth = 0; |
| 163 var openEvents = []; | 177 var openEvents = []; |
| 164 var levels = []; | 178 var levels = []; |
| 165 var jsHeights = []; | 179 var jsHeights = []; |
| 166 var headerAppended = false; | 180 var headerAppended = false; |
| 167 var level = 0; | 181 var level = 0; |
| 168 var jsStackHeight = 0; | 182 var jsStackHeight = 0; |
| 169 for (var i = 0; i < events.length; ++i) { | 183 for (var i = 0; i < events.length; ++i) { |
| 170 var e = events[i]; | 184 var e = events[i]; |
| 171 if (!e.endTime && e.phase !== WebInspector.TracingModel.Phase.Instan t) | 185 // FIXME: clean up once phase name is unified between Blink and Chro mium. |
| 186 if (!e.endTime && e.phase !== WebInspector.TracingModel.Phase.Instan t && e.phase !== "I") | |
| 172 continue; | 187 continue; |
| 188 if (WebInspector.TracingTimelineUIUtils.isMarkerEvent(e)) { | |
| 189 this._markerEvents.push(e); | |
| 190 this._timelineData.markerTimestamps.push(e.startTime); | |
| 191 } | |
| 173 if (!this._isVisible(e)) | 192 if (!this._isVisible(e)) |
| 174 continue; | 193 continue; |
| 175 while (openEvents.length && openEvents.peekLast().endTime <= e.start Time) { | 194 while (openEvents.length && openEvents.peekLast().endTime <= e.start Time) { |
| 176 openEvents.pop(); | 195 openEvents.pop(); |
| 177 level = levels.pop(); | 196 level = levels.pop(); |
| 178 jsStackHeight = jsHeights.pop(); | 197 jsStackHeight = jsHeights.pop(); |
| 179 } | 198 } |
| 180 if (!headerAppended) { | 199 if (!headerAppended) { |
| 181 this._appendHeaderRecord(headerName, this._currentLevel); | 200 this._appendHeaderRecord(headerName, this._currentLevel); |
| 182 ++level; | 201 ++level; |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 625 /** | 644 /** |
| 626 * @constructor | 645 * @constructor |
| 627 * @param {!WebInspector.TimelineSelection} selection | 646 * @param {!WebInspector.TimelineSelection} selection |
| 628 * @param {number} entryIndex | 647 * @param {number} entryIndex |
| 629 */ | 648 */ |
| 630 WebInspector.TimelineFlameChart.Selection = function(selection, entryIndex) | 649 WebInspector.TimelineFlameChart.Selection = function(selection, entryIndex) |
| 631 { | 650 { |
| 632 this.timelineSelection = selection; | 651 this.timelineSelection = selection; |
| 633 this.entryIndex = entryIndex; | 652 this.entryIndex = entryIndex; |
| 634 } | 653 } |
| OLD | NEW |