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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js

Issue 2647803002: [Devtools] Fixed network to sort items as they are received. (Closed)
Patch Set: changes Created 3 years, 11 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
OLDNEW
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 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 } 184 }
185 } 185 }
186 186
187 _redrawWaterfallColumn() { 187 _redrawWaterfallColumn() {
188 if (!this._waterfallRequestsAreStale) { 188 if (!this._waterfallRequestsAreStale) {
189 this._updateScrollerWidthIfNeeded(); 189 this._updateScrollerWidthIfNeeded();
190 this._waterfallColumn.update( 190 this._waterfallColumn.update(
191 this._activeScroller.scrollTop, this._eventDividersShown ? this._event Dividers : undefined); 191 this._activeScroller.scrollTop, this._eventDividersShown ? this._event Dividers : undefined);
192 return; 192 return;
193 } 193 }
194 this._syncScrollers();
194 var nodes = this._networkLogView.flatNodesList(); 195 var nodes = this._networkLogView.flatNodesList();
195 this._waterfallColumn.update(this._activeScroller.scrollTop, this._eventDivi ders, nodes); 196 this._waterfallColumn.update(this._activeScroller.scrollTop, this._eventDivi ders, nodes);
196 } 197 }
197 198
198 _createWaterfallHeader() { 199 _createWaterfallHeader() {
199 this._waterfallHeaderElement = this._waterfallColumn.contentElement.createCh ild('div', 'network-waterfall-header'); 200 this._waterfallHeaderElement = this._waterfallColumn.contentElement.createCh ild('div', 'network-waterfall-header');
200 this._waterfallHeaderElement.addEventListener('click', waterfallHeaderClicke d.bind(this)); 201 this._waterfallHeaderElement.addEventListener('click', waterfallHeaderClicke d.bind(this));
201 this._waterfallHeaderElement.addEventListener( 202 this._waterfallHeaderElement.addEventListener(
202 'contextmenu', event => this._innerHeaderContextMenu(new UI.ContextMenu( event))); 203 'contextmenu', event => this._innerHeaderContextMenu(new UI.ContextMenu( event)));
203 var innerElement = this._waterfallHeaderElement.createChild('div'); 204 var innerElement = this._waterfallHeaderElement.createChild('div');
(...skipping 13 matching lines...) Expand all
217 } 218 }
218 } 219 }
219 220
220 /** 221 /**
221 * @param {!Network.NetworkTimeCalculator} x 222 * @param {!Network.NetworkTimeCalculator} x
222 */ 223 */
223 setCalculator(x) { 224 setCalculator(x) {
224 this._waterfallColumn.setCalculator(x); 225 this._waterfallColumn.setCalculator(x);
225 } 226 }
226 227
227 dataChanged() {
228 this._waterfallRequestsAreStale = true;
229 }
230
231 scheduleRefresh() { 228 scheduleRefresh() {
232 this._waterfallColumn.scheduleDraw(); 229 this._waterfallColumn.scheduleDraw();
233 } 230 }
234 231
235 _updateRowsSize() { 232 _updateRowsSize() {
236 var largeRows = !!this._networkLogLargeRowsSetting.get(); 233 var largeRows = !!this._networkLogLargeRowsSetting.get();
237 this._dataGrid.element.classList.toggle('small', !largeRows); 234 this._dataGrid.element.classList.toggle('small', !largeRows);
238 this._dataGrid.scheduleUpdate(); 235 this._dataGrid.scheduleUpdate();
239 236
240 this._waterfallScrollerWidthIsStale = true; 237 this._waterfallScrollerWidthIsStale = true;
(...skipping 17 matching lines...) Expand all
258 return this._dataGrid; 255 return this._dataGrid;
259 } 256 }
260 257
261 sortByCurrentColumn() { 258 sortByCurrentColumn() {
262 this._sortHandler(); 259 this._sortHandler();
263 } 260 }
264 261
265 _sortHandler() { 262 _sortHandler() {
266 var columnId = this._dataGrid.sortColumnId(); 263 var columnId = this._dataGrid.sortColumnId();
267 this._networkLogView.removeAllNodeHighlights(); 264 this._networkLogView.removeAllNodeHighlights();
265 this._waterfallRequestsAreStale = true;
268 if (columnId === 'waterfall') { 266 if (columnId === 'waterfall') {
269 this._waterfallColumnSortIcon.classList.remove('sort-ascending', 'sort-des cending'); 267 this._waterfallColumnSortIcon.classList.remove('sort-ascending', 'sort-des cending');
270 268
271 if (this._dataGrid.sortOrder() === DataGrid.DataGrid.Order.Ascending) 269 if (this._dataGrid.sortOrder() === DataGrid.DataGrid.Order.Ascending)
272 this._waterfallColumnSortIcon.classList.add('sort-ascending'); 270 this._waterfallColumnSortIcon.classList.add('sort-ascending');
273 else 271 else
274 this._waterfallColumnSortIcon.classList.add('sort-descending'); 272 this._waterfallColumnSortIcon.classList.add('sort-descending');
275 273
276 this._waterfallRequestsAreStale = true;
277 var sortFunction = Network.NetworkRequestNode.RequestPropertyComparator.bi nd(null, this._activeWaterfallSortId); 274 var sortFunction = Network.NetworkRequestNode.RequestPropertyComparator.bi nd(null, this._activeWaterfallSortId);
278 this._dataGrid.sortNodes(sortFunction, !this._dataGrid.isSortOrderAscendin g()); 275 this._dataGrid.sortNodes(sortFunction, !this._dataGrid.isSortOrderAscendin g());
279 this._networkLogView.dataGridSorted(); 276 this._networkLogView.dataGridSorted();
280 return; 277 return;
281 } 278 }
282 279
283 var columnConfig = this._columns.find(columnConfig => columnConfig.id === co lumnId); 280 var columnConfig = this._columns.find(columnConfig => columnConfig.id === co lumnId);
284 if (!columnConfig || !columnConfig.sortingFunction) 281 if (!columnConfig || !columnConfig.sortingFunction)
285 return; 282 return;
286 283
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 /** 803 /**
807 * @enum {string} 804 * @enum {string}
808 */ 805 */
809 Network.NetworkLogViewColumns.WaterfallSortIds = { 806 Network.NetworkLogViewColumns.WaterfallSortIds = {
810 StartTime: 'startTime', 807 StartTime: 'startTime',
811 ResponseTime: 'responseReceivedTime', 808 ResponseTime: 'responseReceivedTime',
812 EndTime: 'endTime', 809 EndTime: 'endTime',
813 Duration: 'duration', 810 Duration: 'duration',
814 Latency: 'latency' 811 Latency: 'latency'
815 }; 812 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698