| 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 * @unrestricted | 5 * @unrestricted |
| 6 */ | 6 */ |
| 7 Network.NetworkLogViewColumns = class { | 7 Network.NetworkLogViewColumns = class { |
| 8 /** | 8 /** |
| 9 * @param {!Network.NetworkLogView} networkLogView | 9 * @param {!Network.NetworkLogView} networkLogView |
| 10 * @param {!Network.NetworkTransferTimeCalculator} timeCalculator | 10 * @param {!Network.NetworkTransferTimeCalculator} timeCalculator |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 | 116 |
| 117 _setupWaterfall() { | 117 _setupWaterfall() { |
| 118 this._waterfallColumn = | 118 this._waterfallColumn = |
| 119 new Network.NetworkWaterfallColumn(this._networkLogView.rowHeight(), thi
s._networkLogView.calculator()); | 119 new Network.NetworkWaterfallColumn(this._networkLogView.rowHeight(), thi
s._networkLogView.calculator()); |
| 120 | 120 |
| 121 this._waterfallColumn.element.addEventListener('contextmenu', handleContextM
enu.bind(this)); | 121 this._waterfallColumn.element.addEventListener('contextmenu', handleContextM
enu.bind(this)); |
| 122 this._waterfallColumn.element.addEventListener('mousewheel', this._onMouseWh
eel.bind(this, false), {passive: true}); | 122 this._waterfallColumn.element.addEventListener('mousewheel', this._onMouseWh
eel.bind(this, false), {passive: true}); |
| 123 this._dataGridScroller.addEventListener('mousewheel', this._onMouseWheel.bin
d(this, true), true); | 123 this._dataGridScroller.addEventListener('mousewheel', this._onMouseWheel.bin
d(this, true), true); |
| 124 | 124 |
| 125 this._waterfallColumn.element.addEventListener('mousemove', event => { | 125 this._waterfallColumn.element.addEventListener('mousemove', event => { |
| 126 var hoveredLogEntry = | 126 var hoveredNode = this._waterfallColumn.getNodeFromPoint(event.offsetX, ev
ent.offsetY + event.target.offsetTop); |
| 127 this._waterfallColumn.getLogEntryFromPoint(event.offsetX, event.offset
Y + event.target.offsetTop); | 127 this._networkLogView.setHoveredNode(hoveredNode, event.shiftKey); |
| 128 this._networkLogView.setHoveredLogEntry(hoveredLogEntry, event.shiftKey); | |
| 129 }, true); | 128 }, true); |
| 130 this._waterfallColumn.element.addEventListener( | 129 this._waterfallColumn.element.addEventListener( |
| 131 'mouseleave', this._networkLogView.setHoveredLogEntry.bind(this._network
LogView, null, false), true); | 130 'mouseleave', this._networkLogView.setHoveredNode.bind(this._networkLogV
iew, null, false), true); |
| 132 | 131 |
| 133 this._waterfallScroller = this._waterfallColumn.contentElement.createChild('
div', 'network-waterfall-v-scroll'); | 132 this._waterfallScroller = this._waterfallColumn.contentElement.createChild('
div', 'network-waterfall-v-scroll'); |
| 134 this._waterfallScroller.addEventListener('scroll', this._syncScrollers.bind(
this), {passive: true}); | 133 this._waterfallScroller.addEventListener('scroll', this._syncScrollers.bind(
this), {passive: true}); |
| 135 this._waterfallScrollerContent = this._waterfallScroller.createChild('div',
'network-waterfall-v-scroll-content'); | 134 this._waterfallScrollerContent = this._waterfallScroller.createChild('div',
'network-waterfall-v-scroll-content'); |
| 136 | 135 |
| 137 this._dataGrid.addEventListener(UI.DataGrid.Events.PaddingChanged, () => { | 136 this._dataGrid.addEventListener(UI.DataGrid.Events.PaddingChanged, () => { |
| 138 this._waterfallScrollerWidthIsStale = true; | 137 this._waterfallScrollerWidthIsStale = true; |
| 139 this._syncScrollers(); | 138 this._syncScrollers(); |
| 140 }); | 139 }); |
| 141 this._dataGrid.addEventListener( | 140 this._dataGrid.addEventListener( |
| 142 UI.ViewportDataGrid.Events.ViewportCalculated, this._redrawWaterfallColu
mn.bind(this)); | 141 UI.ViewportDataGrid.Events.ViewportCalculated, this._redrawWaterfallColu
mn.bind(this)); |
| 143 | 142 |
| 144 this._createWaterfallHeader(); | 143 this._createWaterfallHeader(); |
| 145 this._waterfallColumn.contentElement.classList.add('network-waterfall-view')
; | 144 this._waterfallColumn.contentElement.classList.add('network-waterfall-view')
; |
| 146 | 145 |
| 147 this._waterfallColumn.setMinimumSize(100, 0); | 146 this._waterfallColumn.setMinimumSize(100, 0); |
| 148 this._splitWidget.setSidebarWidget(this._waterfallColumn); | 147 this._splitWidget.setSidebarWidget(this._waterfallColumn); |
| 149 | 148 |
| 150 this.switchViewMode(false); | 149 this.switchViewMode(false); |
| 151 | 150 |
| 152 /** | 151 /** |
| 153 * @param {!Event} event | 152 * @param {!Event} event |
| 154 * @this {Network.NetworkLogViewColumns} | 153 * @this {Network.NetworkLogViewColumns} |
| 155 */ | 154 */ |
| 156 function handleContextMenu(event) { | 155 function handleContextMenu(event) { |
| 157 var logEntry = this._waterfallColumn.getLogEntryFromPoint(event.offsetX, e
vent.offsetY); | 156 var node = this._waterfallColumn.getNodeFromPoint(event.offsetX, event.off
setY); |
| 158 if (!logEntry) | 157 if (!node) |
| 159 return; | 158 return; |
| 160 var contextMenu = new UI.ContextMenu(event); | 159 var contextMenu = new UI.ContextMenu(event); |
| 161 this._networkLogView.handleContextMenuForRequest(contextMenu, logEntry.req
uest()); | 160 this._networkLogView.handleContextMenuForRequest(contextMenu, node.request
()); |
| 162 contextMenu.show(); | 161 contextMenu.show(); |
| 163 } | 162 } |
| 164 } | 163 } |
| 165 | 164 |
| 166 /** | 165 /** |
| 167 * @param {boolean} shouldConsume | 166 * @param {boolean} shouldConsume |
| 168 * @param {!Event} event | 167 * @param {!Event} event |
| 169 */ | 168 */ |
| 170 _onMouseWheel(shouldConsume, event) { | 169 _onMouseWheel(shouldConsume, event) { |
| 171 if (shouldConsume) | 170 if (shouldConsume) |
| 172 event.consume(true); | 171 event.consume(true); |
| 173 this._activeScroller.scrollTop -= event.wheelDeltaY; | 172 this._activeScroller.scrollTop -= event.wheelDeltaY; |
| 174 this._syncScrollers(); | 173 this._syncScrollers(); |
| 175 var logEntry = this._waterfallColumn.getLogEntryFromPoint(event.offsetX, eve
nt.offsetY); | 174 var node = this._waterfallColumn.getNodeFromPoint(event.offsetX, event.offse
tY); |
| 176 this._networkLogView.setHoveredLogEntry(logEntry, event.shiftKey); | 175 this._networkLogView.setHoveredNode(node, event.shiftKey); |
| 177 } | 176 } |
| 178 | 177 |
| 179 _syncScrollers() { | 178 _syncScrollers() { |
| 180 if (!this._waterfallColumn.isShowing()) | 179 if (!this._waterfallColumn.isShowing()) |
| 181 return; | 180 return; |
| 182 this._waterfallScrollerContent.style.height = this._dataGridScroller.scrollH
eight + 'px'; | 181 this._waterfallScrollerContent.style.height = this._dataGridScroller.scrollH
eight + 'px'; |
| 183 this._updateScrollerWidthIfNeeded(); | 182 this._updateScrollerWidthIfNeeded(); |
| 184 this._dataGridScroller.scrollTop = this._waterfallScroller.scrollTop; | 183 this._dataGridScroller.scrollTop = this._waterfallScroller.scrollTop; |
| 185 } | 184 } |
| 186 | 185 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 197 this._updateScrollerWidthIfNeeded(); | 196 this._updateScrollerWidthIfNeeded(); |
| 198 this._waterfallColumn.update( | 197 this._waterfallColumn.update( |
| 199 this._activeScroller.scrollTop, this._eventDividersShown ? this._event
Dividers : undefined); | 198 this._activeScroller.scrollTop, this._eventDividersShown ? this._event
Dividers : undefined); |
| 200 return; | 199 return; |
| 201 } | 200 } |
| 202 var nodes = this._networkLogView.flatNodesList(); | 201 var nodes = this._networkLogView.flatNodesList(); |
| 203 this._waterfallColumn.update(this._activeScroller.scrollTop, this._eventDivi
ders, nodes); | 202 this._waterfallColumn.update(this._activeScroller.scrollTop, this._eventDivi
ders, nodes); |
| 204 } | 203 } |
| 205 | 204 |
| 206 /** | 205 /** |
| 207 * @param {?Network.NetworkLogEntry} logEntry | 206 * @param {?Network.NetworkDataGridNode} node |
| 208 * @param {boolean} highlightInitiatorChain | 207 * @param {boolean} highlightInitiatorChain |
| 209 */ | 208 */ |
| 210 setHoveredLogEntry(logEntry, highlightInitiatorChain) { | 209 setHoveredNode(node, highlightInitiatorChain) { |
| 211 this._waterfallColumn.setHoveredLogEntry(logEntry, highlightInitiatorChain); | 210 this._waterfallColumn.setHoveredNode(node, highlightInitiatorChain); |
| 212 } | 211 } |
| 213 | 212 |
| 214 _createWaterfallHeader() { | 213 _createWaterfallHeader() { |
| 215 this._waterfallHeaderElement = this._waterfallColumn.contentElement.createCh
ild('div', 'network-waterfall-header'); | 214 this._waterfallHeaderElement = this._waterfallColumn.contentElement.createCh
ild('div', 'network-waterfall-header'); |
| 216 this._waterfallHeaderElement.addEventListener('click', waterfallHeaderClicke
d.bind(this)); | 215 this._waterfallHeaderElement.addEventListener('click', waterfallHeaderClicke
d.bind(this)); |
| 217 this._waterfallHeaderElement.addEventListener( | 216 this._waterfallHeaderElement.addEventListener( |
| 218 'contextmenu', event => this._innerHeaderContextMenu(new UI.ContextMenu(
event))); | 217 'contextmenu', event => this._innerHeaderContextMenu(new UI.ContextMenu(
event))); |
| 219 var innerElement = this._waterfallHeaderElement.createChild('div'); | 218 var innerElement = this._waterfallHeaderElement.createChild('div'); |
| 220 innerElement.textContent = Common.UIString('Waterfall'); | 219 innerElement.textContent = Common.UIString('Waterfall'); |
| 221 this._waterfallColumnSortIcon = this._waterfallHeaderElement.createChild('di
v', 'sort-order-icon-container') | 220 this._waterfallColumnSortIcon = this._waterfallHeaderElement.createChild('di
v', 'sort-order-icon-container') |
| (...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 /** | 817 /** |
| 819 * @enum {string} | 818 * @enum {string} |
| 820 */ | 819 */ |
| 821 Network.NetworkLogViewColumns.WaterfallSortIds = { | 820 Network.NetworkLogViewColumns.WaterfallSortIds = { |
| 822 StartTime: 'startTime', | 821 StartTime: 'startTime', |
| 823 ResponseTime: 'responseReceivedTime', | 822 ResponseTime: 'responseReceivedTime', |
| 824 EndTime: 'endTime', | 823 EndTime: 'endTime', |
| 825 Duration: 'duration', | 824 Duration: 'duration', |
| 826 Latency: 'latency' | 825 Latency: 'latency' |
| 827 }; | 826 }; |
| OLD | NEW |