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

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

Issue 2443683002: [Devtools] Move NetworkTimelineColumn into NetworkLogViewColumns P1 (Closed)
Patch Set: changes Created 4 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org> 3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org>
4 * Copyright (C) 2011 Google Inc. All rights reserved. 4 * Copyright (C) 2011 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 this.registerRequiredCSS("network/networkLogView.css"); 44 this.registerRequiredCSS("network/networkLogView.css");
45 45
46 this._networkHideDataURLSetting = WebInspector.settings.createSetting("netwo rkHideDataURL", false); 46 this._networkHideDataURLSetting = WebInspector.settings.createSetting("netwo rkHideDataURL", false);
47 this._networkResourceTypeFiltersSetting = WebInspector.settings.createSettin g("networkResourceTypeFilters", {}); 47 this._networkResourceTypeFiltersSetting = WebInspector.settings.createSettin g("networkResourceTypeFilters", {});
48 this._networkShowPrimaryLoadWaterfallSetting = WebInspector.settings.createS etting("networkShowPrimaryLoadWaterfall", false); 48 this._networkShowPrimaryLoadWaterfallSetting = WebInspector.settings.createS etting("networkShowPrimaryLoadWaterfall", false);
49 49
50 this._filterBar = filterBar; 50 this._filterBar = filterBar;
51 this._progressBarContainer = progressBarContainer; 51 this._progressBarContainer = progressBarContainer;
52 this._networkLogLargeRowsSetting = networkLogLargeRowsSetting; 52 this._networkLogLargeRowsSetting = networkLogLargeRowsSetting;
53 53
54 this._columns = new WebInspector.NetworkLogViewColumns(this, networkLogLarge RowsSetting); 54 /** @type {!WebInspector.NetworkTransferTimeCalculator} */
55 this._timeCalculator = new WebInspector.NetworkTransferTimeCalculator();
56 /** @type {!WebInspector.NetworkTransferDurationCalculator} */
57 this._durationCalculator = new WebInspector.NetworkTransferDurationCalculato r();
58 this._calculator = this._timeCalculator;
59 this._columns = new WebInspector.NetworkLogViewColumns(this, this._timeCalcu lator, this._durationCalculator, networkLogLargeRowsSetting);
55 60
56 /** @type {!Map.<string, !WebInspector.NetworkDataGridNode>} */ 61 /** @type {!Map.<string, !WebInspector.NetworkDataGridNode>} */
57 this._nodesByRequestId = new Map(); 62 this._nodesByRequestId = new Map();
58 /** @type {!Object.<string, boolean>} */ 63 /** @type {!Object.<string, boolean>} */
59 this._staleRequestIds = {}; 64 this._staleRequestIds = {};
60 /** @type {number} */ 65 /** @type {number} */
61 this._mainRequestLoadTime = -1; 66 this._mainRequestLoadTime = -1;
62 /** @type {number} */ 67 /** @type {number} */
63 this._mainRequestDOMContentLoadedTime = -1; 68 this._mainRequestDOMContentLoadedTime = -1;
64 this._matchedRequestCount = 0; 69 this._matchedRequestCount = 0;
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 _filterChanged: function(event) 272 _filterChanged: function(event)
268 { 273 {
269 this.removeAllNodeHighlights(); 274 this.removeAllNodeHighlights();
270 this._parseFilterQuery(this._textFilterUI.value()); 275 this._parseFilterQuery(this._textFilterUI.value());
271 this._filterRequests(); 276 this._filterRequests();
272 }, 277 },
273 278
274 _initializeView: function() 279 _initializeView: function()
275 { 280 {
276 this.element.id = "network-container"; 281 this.element.id = "network-container";
277 282 this._setupDataGrid();
278 /** @type {!WebInspector.NetworkTransferTimeCalculator} */
279 this._timeCalculator = new WebInspector.NetworkTransferTimeCalculator();
280 /** @type {!WebInspector.NetworkTransferDurationCalculator} */
281 this._durationCalculator = new WebInspector.NetworkTransferDurationCalcu lator();
282 this._calculator = this._timeCalculator;
283
284 if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) { 283 if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
285 this._splitWidget = new WebInspector.SplitWidget(true, false, "netwo rkPanelSplitViewTimeline");
286 this._splitWidget.show(this.element);
287 this._createTable();
288 this._splitWidget.setSidebarWidget(this._dataGrid.asWidget());
289
290 this._summaryBarElement = this.element.createChild("div", "network-s ummary-bar");
291
292 this._timelineWidget = new WebInspector.VBox();
293 this._createTimelineHeader();
294 this._timelineWidget.element.classList.add("network-timeline-view");
295 this._splitWidget.setMainWidget(this._timelineWidget);
296
297 this._timelineColumn = new WebInspector.NetworkTimelineColumn(this._ rowHeight, this._headerHeight, this._calculator, this._dataGrid.scrollContainer) ;
298
299 var dataGridScroller = this._dataGrid.scrollContainer; 284 var dataGridScroller = this._dataGrid.scrollContainer;
285 this._timelineColumn = new WebInspector.NetworkTimelineColumn(this._ rowHeight, this._headerHeight, this._calculator, dataGridScroller);
300 this._dataGrid.setScrollContainer(this._timelineColumn.getScrollCont ainer()); 286 this._dataGrid.setScrollContainer(this._timelineColumn.getScrollCont ainer());
301 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.Padding Changed, () => { 287 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.Padding Changed, () => this._timelineColumn.setScrollHeight(dataGridScroller.scrollHeigh t));
302 this._timelineColumn.setScrollHeight(dataGridScroller.scrollHeig ht);
303 });
304 this._dataGrid.addEventListener(WebInspector.ViewportDataGrid.Events .ViewportCalculated, this._redrawTimelineColumn.bind(this)); 288 this._dataGrid.addEventListener(WebInspector.ViewportDataGrid.Events .ViewportCalculated, this._redrawTimelineColumn.bind(this));
305 289
306 this._timelineColumn.addEventListener(WebInspector.NetworkTimelineCo lumn.Events.RequestHovered, requestHovered.bind(this)); 290 this._timelineColumn.addEventListener(WebInspector.NetworkTimelineCo lumn.Events.RequestHovered, requestHovered.bind(this));
307 this._timelineColumn.show(this._timelineWidget.element); 291
292 // TODO(allada) This code needs to be moved into NetworkLogViewColum ns.
293 this._createTimelineHeader();
294 this._timelineColumn.contentElement.classList.add("network-timeline- view");
295
296 this._splitWidget = this._columns.splitWidget();
297 this._splitWidget.setMainWidget(this._timelineColumn);
298
299 this._columns.show(this.element);
308 this.switchViewMode(false); 300 this.switchViewMode(false);
309 } else { 301 } else {
310 this._createTable(); 302 this._columns.show(this.element);
311 this._dataGrid.asWidget().show(this.element);
312 this._summaryBarElement = this.element.createChild("div", "network-s ummary-bar");
313 } 303 }
304 this._summaryBarElement = this.element.createChild("div", "network-summa ry-bar");
314 305
315 this._columns.sortByCurrentColumn(); 306 this._columns.sortByCurrentColumn();
316 this._updateRowsSize(); 307 this._updateRowsSize();
317 308
318 /** 309 /**
319 * @param {!WebInspector.Event} event 310 * @param {!WebInspector.Event} event
320 * @this {WebInspector.NetworkLogView} 311 * @this {WebInspector.NetworkLogView}
321 */ 312 */
322 function requestHovered(event) 313 function requestHovered(event)
323 { 314 {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 * @override 368 * @override
378 * @return {!Array.<!Element>} 369 * @return {!Array.<!Element>}
379 */ 370 */
380 elementsToRestoreScrollPositionsFor: function() 371 elementsToRestoreScrollPositionsFor: function()
381 { 372 {
382 if (!this._dataGrid) // Not initialized yet. 373 if (!this._dataGrid) // Not initialized yet.
383 return []; 374 return [];
384 return [this._dataGrid.scrollContainer]; 375 return [this._dataGrid.scrollContainer];
385 }, 376 },
386 377
387 _createTable: function() 378 _setupDataGrid: function()
388 { 379 {
389 this._dataGrid = this._columns.createGrid(this._timeCalculator, this._du rationCalculator); 380 this._dataGrid = this._columns.dataGrid();
390 this._dataGrid.setRowContextMenuCallback(this._onRowContextMenu.bind(thi s)); 381 this._dataGrid.setRowContextMenuCallback(this._onRowContextMenu.bind(thi s));
391 this._dataGrid.setStickToBottom(true); 382 this._dataGrid.setStickToBottom(true);
392 this._dataGrid.setName("networkLog"); 383 this._dataGrid.setName("networkLog");
393 this._dataGrid.setResizeMethod(WebInspector.DataGrid.ResizeMethod.Last); 384 this._dataGrid.setResizeMethod(WebInspector.DataGrid.ResizeMethod.Last);
394 this._dataGrid.element.classList.add("network-log-grid"); 385 this._dataGrid.element.classList.add("network-log-grid");
395 this._dataGrid.element.addEventListener("mousedown", this._dataGridMouse Down.bind(this), true); 386 this._dataGrid.element.addEventListener("mousedown", this._dataGridMouse Down.bind(this), true);
396 this._dataGrid.element.addEventListener("mousemove", this._dataGridMouse Move.bind(this), true); 387 this._dataGrid.element.addEventListener("mousemove", this._dataGridMouse Move.bind(this), true);
397 this._dataGrid.element.addEventListener("mouseleave", this._dataGridMous eLeave.bind(this), true); 388 this._dataGrid.element.addEventListener("mouseleave", this._dataGridMous eLeave.bind(this), true);
398 }, 389 },
399 390
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 var node = this._nodesByRequestId.get(request.requestId); 895 var node = this._nodesByRequestId.get(request.requestId);
905 if (node) { 896 if (node) {
906 node.markAsNavigationRequest(); 897 node.markAsNavigationRequest();
907 break; 898 break;
908 } 899 }
909 } 900 }
910 }, 901 },
911 902
912 _createTimelineHeader: function() 903 _createTimelineHeader: function()
913 { 904 {
914 this._timelineHeaderElement = this._timelineWidget.element.createChild(" div", "network-timeline-header"); 905 this._timelineHeaderElement = this._timelineColumn.contentElement.create Child("div", "network-timeline-header");
915 this._timelineHeaderElement.addEventListener("click", timelineHeaderClic ked.bind(this)); 906 this._timelineHeaderElement.addEventListener("click", timelineHeaderClic ked.bind(this));
916 this._timelineHeaderElement.addEventListener("contextmenu", this._column s.headerContextMenuEvent.bind(this._columns)); 907 this._timelineHeaderElement.addEventListener("contextmenu", this._column s.headerContextMenuEvent.bind(this._columns));
917 var innerElement = this._timelineHeaderElement.createChild("div"); 908 var innerElement = this._timelineHeaderElement.createChild("div");
918 innerElement.textContent = WebInspector.UIString("Timeline"); 909 innerElement.textContent = WebInspector.UIString("Timeline");
919 this._timelineColumnSortIcon = this._timelineHeaderElement.createChild(" div", "sort-order-icon-container").createChild("div", "sort-order-icon"); 910 this._timelineColumnSortIcon = this._timelineHeaderElement.createChild(" div", "sort-order-icon-container").createChild("div", "sort-order-icon");
920 911
921 /** 912 /**
922 * @this {WebInspector.NetworkLogView} 913 * @this {WebInspector.NetworkLogView}
923 */ 914 */
924 function timelineHeaderClicked() 915 function timelineHeaderClicked()
925 { 916 {
926 var sortOrders = WebInspector.DataGrid.Order; 917 var sortOrders = WebInspector.DataGrid.Order;
927 var sortOrder = this._dataGrid.sortOrder() === sortOrders.Ascending ? sortOrders.Descending : sortOrders.Ascending; 918 var sortOrder = this._dataGrid.sortOrder() === sortOrders.Ascending ? sortOrders.Descending : sortOrders.Ascending;
928 this._dataGrid.markColumnAsSortedBy("timeline", sortOrder); 919 this._dataGrid.markColumnAsSortedBy("timeline", sortOrder);
929 this._columns.sortByCurrentColumn(); 920 this._columns.sortByCurrentColumn();
930 } 921 }
931 }, 922 },
932 923
933 /** 924 /**
934 * @param {boolean} gridMode 925 * @param {boolean} gridMode
935 */ 926 */
936 switchViewMode: function(gridMode) 927 switchViewMode: function(gridMode)
937 { 928 {
938 this._columns.switchViewMode(gridMode); 929 this._columns.switchViewMode(gridMode);
939 if (!Runtime.experiments.isEnabled("canvasNetworkTimeline"))
940 return;
941
942 if (gridMode && this._nodesByRequestId.size)
943 this._splitWidget.showBoth();
944 else
945 this._splitWidget.hideMain();
946 }, 930 },
947 931
948 /** 932 /**
949 * @return {number} 933 * @return {number}
950 */ 934 */
951 rowHeight: function() 935 rowHeight: function()
952 { 936 {
953 return this._rowHeight; 937 return this._rowHeight;
954 }, 938 },
955 939
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
1882 * @return {boolean} 1866 * @return {boolean}
1883 */ 1867 */
1884 WebInspector.NetworkLogView._requestTimeFilter = function(windowStart, windowEnd , request) 1868 WebInspector.NetworkLogView._requestTimeFilter = function(windowStart, windowEnd , request)
1885 { 1869 {
1886 if (request.issueTime() > windowEnd) 1870 if (request.issueTime() > windowEnd)
1887 return false; 1871 return false;
1888 if (request.endTime !== -1 && request.endTime < windowStart) 1872 if (request.endTime !== -1 && request.endTime < windowStart)
1889 return false; 1873 return false;
1890 return true; 1874 return true;
1891 }; 1875 };
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698