| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| index dd36b68cf14f4723147c7b634744bc9c69077c41..1b5778e1c9a6e696a91c91c631a6d2120037f15c 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| @@ -83,6 +83,7 @@ WebInspector.NetworkLogView = function(filterBar, progressBarContainer, networkL
|
|
|
| this._headerHeight = 0;
|
| this._timelineHeaderElement = null;
|
| + this._timelineRequestsAreStale = false;
|
|
|
| this._addFilters();
|
| this._resetSuggestionBuilder();
|
| @@ -293,7 +294,15 @@ WebInspector.NetworkLogView.prototype = {
|
| this._timelineWidget.element.classList.add("network-timeline-view");
|
| this._splitWidget.setMainWidget(this._timelineWidget);
|
|
|
| - this._timelineColumn = new WebInspector.NetworkTimelineColumn(this, this._dataGrid);
|
| + this._timelineColumn = new WebInspector.NetworkTimelineColumn(this._rowHeight, this._headerHeight, this._calculator, this._dataGrid.scrollContainer);
|
| +
|
| + var dataGridScroller = this._dataGrid.scrollContainer;
|
| + this._dataGrid.setScrollContainer(this._timelineColumn.getScrollContainer());
|
| + this._dataGrid.addEventListener(WebInspector.DataGrid.Events.PaddingChanged, () => {
|
| + this._timelineColumn.setScrollHeight(dataGridScroller.scrollHeight)
|
| + });
|
| + this._dataGrid.addEventListener(WebInspector.ViewportDataGrid.Events.ViewportCalculated, this._redrawTimelineColumn.bind(this));
|
| +
|
| this._timelineColumn.addEventListener(WebInspector.NetworkTimelineColumn.Events.RequestHovered, requestHovered.bind(this));
|
| this._timelineColumn.show(this._timelineWidget.element);
|
| this.switchViewMode(false);
|
| @@ -318,6 +327,15 @@ WebInspector.NetworkLogView.prototype = {
|
| }
|
| },
|
|
|
| + _redrawTimelineColumn: function()
|
| + {
|
| + /** @type {!Array<!WebInspector.NetworkRequest>|undefined} */
|
| + var requests;
|
| + if (this._timelineRequestsAreStale)
|
| + requests = this._getOrderedRequests();
|
| + this._timelineColumn.update(requests);
|
| + },
|
| +
|
| _showRecordingHint: function()
|
| {
|
| this._hideRecordingHint();
|
| @@ -586,7 +604,11 @@ WebInspector.NetworkLogView.prototype = {
|
| if (!x || this._calculator === x)
|
| return;
|
|
|
| - this._calculator = x;
|
| + if (this._calculator !== x) {
|
| + this._calculator = x;
|
| + if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
|
| + this._timelineColumn.setCalculator(this._calculator);
|
| + }
|
| this._calculator.reset();
|
|
|
| if (this._calculator.startAtZero)
|
| @@ -704,8 +726,18 @@ WebInspector.NetworkLogView.prototype = {
|
|
|
| this._staleRequestIds = {};
|
| this._updateSummaryBar();
|
| +
|
| if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
|
| - this._timelineColumn.scheduleRefreshData();
|
| + this._timelineRequestsAreStale = true;
|
| + },
|
| +
|
| + _getOrderedRequests: function()
|
| + {
|
| + var currentNode = this._dataGrid.rootNode();
|
| + var requestData = [];
|
| + while (currentNode = currentNode.traverseNextNode(true))
|
| + requestData.push(currentNode.request());
|
| + return requestData;
|
| },
|
|
|
| reset: function()
|
| @@ -924,8 +956,19 @@ WebInspector.NetworkLogView.prototype = {
|
| {
|
| var largeRows = !!this._networkLogLargeRowsSetting.get();
|
| // TODO(allada) Make these non-magic numbers.
|
| - this._rowHeight = largeRows ? 41 : 21;
|
| - this._headerHeight = largeRows ? 31 : 27;
|
| + var rowHeight = largeRows ? 41 : 21;
|
| + var headerHeight = largeRows ? 31 : 27;
|
| + if (this._rowHeight !== rowHeight) {
|
| + this._rowHeight = rowHeight;
|
| + if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
|
| + this._timelineColumn.setRowHeight(this._rowHeight);
|
| + }
|
| + if (this._headerHeight !== headerHeight) {
|
| + this._headerHeight = headerHeight;
|
| + if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
|
| + this._timelineColumn.setHeaderHeight(this._headerHeight);
|
| + }
|
| +
|
| this._dataGrid.element.classList.toggle("small", !largeRows);
|
| if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
|
| this._timelineHeaderElement.classList.toggle("small", !largeRows);
|
| @@ -1169,7 +1212,7 @@ WebInspector.NetworkLogView.prototype = {
|
| this._timelineColumnSortIcon.classList.add("sort-descending");
|
| }
|
|
|
| - this._timelineColumn.scheduleRefreshData();
|
| + this._timelineRequestsAreStale = true;
|
| },
|
|
|
| /**
|
|
|