| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @implements {Timeline.TimelineModeView} | 6 * @implements {Timeline.TimelineModeView} |
| 7 * @implements {PerfUI.FlameChartDelegate} | 7 * @implements {PerfUI.FlameChartDelegate} |
| 8 * @implements {UI.Searchable} | 8 * @implements {UI.Searchable} |
| 9 * @unrestricted | 9 * @unrestricted |
| 10 */ | 10 */ |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 this._detailsView = new Timeline.TimelineDetailsView(filters, delegate); | 66 this._detailsView = new Timeline.TimelineDetailsView(filters, delegate); |
| 67 this._detailsSplitWidget.installResizer(this._detailsView.headerElement()); | 67 this._detailsSplitWidget.installResizer(this._detailsView.headerElement()); |
| 68 this._detailsSplitWidget.setMainWidget(this._chartSplitWidget); | 68 this._detailsSplitWidget.setMainWidget(this._chartSplitWidget); |
| 69 this._detailsSplitWidget.setSidebarWidget(this._detailsView); | 69 this._detailsSplitWidget.setSidebarWidget(this._detailsView); |
| 70 this._detailsSplitWidget.show(this.element); | 70 this._detailsSplitWidget.show(this.element); |
| 71 | 71 |
| 72 this._onMainEntrySelected = this._onEntrySelected.bind(this, this._mainDataP
rovider); | 72 this._onMainEntrySelected = this._onEntrySelected.bind(this, this._mainDataP
rovider); |
| 73 this._onNetworkEntrySelected = this._onEntrySelected.bind(this, this._networ
kDataProvider); | 73 this._onNetworkEntrySelected = this._onEntrySelected.bind(this, this._networ
kDataProvider); |
| 74 this._mainFlameChart.addEventListener(PerfUI.FlameChart.Events.EntrySelected
, this._onMainEntrySelected, this); | 74 this._mainFlameChart.addEventListener(PerfUI.FlameChart.Events.EntrySelected
, this._onMainEntrySelected, this); |
| 75 this._networkFlameChart.addEventListener(PerfUI.FlameChart.Events.EntrySelec
ted, this._onNetworkEntrySelected, this); | 75 this._networkFlameChart.addEventListener(PerfUI.FlameChart.Events.EntrySelec
ted, this._onNetworkEntrySelected, this); |
| 76 this._mainFlameChart.addEventListener(PerfUI.FlameChart.Events.EntryHighligh
ted, this._onEntryHighlighted, this); |
| 76 this._nextExtensionIndex = 0; | 77 this._nextExtensionIndex = 0; |
| 77 | 78 |
| 78 this._boundRefresh = this._refresh.bind(this); | 79 this._boundRefresh = this._refresh.bind(this); |
| 79 } | 80 } |
| 80 | 81 |
| 81 /** | 82 /** |
| 82 * @override | 83 * @override |
| 83 * @return {?Element} | 84 * @return {?Element} |
| 84 */ | 85 */ |
| 85 resizerElement() { | 86 resizerElement() { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 _appendExtensionData() { | 144 _appendExtensionData() { |
| 144 if (!this._model) | 145 if (!this._model) |
| 145 return; | 146 return; |
| 146 var extensions = this._model.extensionInfo(); | 147 var extensions = this._model.extensionInfo(); |
| 147 while (this._nextExtensionIndex < extensions.length) | 148 while (this._nextExtensionIndex < extensions.length) |
| 148 this._mainDataProvider.appendExtensionEvents(extensions[this._nextExtensio
nIndex++]); | 149 this._mainDataProvider.appendExtensionEvents(extensions[this._nextExtensio
nIndex++]); |
| 149 this._mainFlameChart.scheduleUpdate(); | 150 this._mainFlameChart.scheduleUpdate(); |
| 150 } | 151 } |
| 151 | 152 |
| 152 /** | 153 /** |
| 154 * @param {!Common.Event} commonEvent |
| 155 */ |
| 156 _onEntryHighlighted(commonEvent) { |
| 157 SDK.DOMModel.hideDOMNodeHighlight(); |
| 158 var entryIndex = /** @type {number} */ (commonEvent.data); |
| 159 var event = this._mainDataProvider.eventByIndex(entryIndex); |
| 160 if (!event) |
| 161 return; |
| 162 var target = this._model && this._model.timelineModel().targetByEvent(event)
; |
| 163 if (!target) |
| 164 return; |
| 165 var timelineData = TimelineModel.TimelineData.forEvent(event); |
| 166 var backendNodeId = timelineData.backendNodeId; |
| 167 if (!backendNodeId) |
| 168 return; |
| 169 new SDK.DeferredDOMNode(target, backendNodeId).highlight(); |
| 170 } |
| 171 |
| 172 /** |
| 153 * @override | 173 * @override |
| 154 * @param {?SDK.TracingModel.Event} event | 174 * @param {?SDK.TracingModel.Event} event |
| 155 */ | 175 */ |
| 156 highlightEvent(event) { | 176 highlightEvent(event) { |
| 157 var entryIndex = | 177 var entryIndex = |
| 158 event ? this._mainDataProvider.entryIndexForSelection(Timeline.TimelineS
election.fromTraceEvent(event)) : -1; | 178 event ? this._mainDataProvider.entryIndexForSelection(Timeline.TimelineS
election.fromTraceEvent(event)) : -1; |
| 159 if (entryIndex >= 0) | 179 if (entryIndex >= 0) |
| 160 this._mainFlameChart.highlightEntry(entryIndex); | 180 this._mainFlameChart.highlightEntry(entryIndex); |
| 161 else | 181 else |
| 162 this._mainFlameChart.hideHighlight(); | 182 this._mainFlameChart.hideHighlight(); |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 context.translate(this._style.lineWidth < 1 || (this._style.lineWidth & 1)
? 0.5 : 0, 0.5); | 524 context.translate(this._style.lineWidth < 1 || (this._style.lineWidth & 1)
? 0.5 : 0, 0.5); |
| 505 context.beginPath(); | 525 context.beginPath(); |
| 506 context.moveTo(x, height); | 526 context.moveTo(x, height); |
| 507 context.setLineDash(this._style.dashStyle); | 527 context.setLineDash(this._style.dashStyle); |
| 508 context.lineTo(x, context.canvas.height); | 528 context.lineTo(x, context.canvas.height); |
| 509 context.stroke(); | 529 context.stroke(); |
| 510 } | 530 } |
| 511 context.restore(); | 531 context.restore(); |
| 512 } | 532 } |
| 513 }; | 533 }; |
| OLD | NEW |