Index: Source/devtools/front_end/network/NetworkLogView.js |
diff --git a/Source/devtools/front_end/network/NetworkLogView.js b/Source/devtools/front_end/network/NetworkLogView.js |
index 8c71421c186c5f42abe989e9a0f7a017752a2a46..025ac0f03459dba266a8d2dd8efa0c772b4ab346 100644 |
--- a/Source/devtools/front_end/network/NetworkLogView.js |
+++ b/Source/devtools/front_end/network/NetworkLogView.js |
@@ -92,6 +92,8 @@ WebInspector.NetworkLogView = function(overview, filterBar, progressBarContainer |
/** @type {number} */ |
this._rowHeight = 0; |
+ /** @type {!WebInspector.NetworkTimeCalculator} */ |
+ this._calculator = new WebInspector.NetworkTimeCalculator(); |
this._addFilters(); |
this._resetSuggestionBuilder(); |
@@ -222,10 +224,10 @@ WebInspector.NetworkLogView.prototype = { |
var end = /** @type {number} */ (event.data.end); |
if (!start && !end) { |
this._timeFilter = null; |
- this._timeCalculator.setWindow(null); |
+ this._calculator.setWindow(null); |
} else { |
this._timeFilter = WebInspector.NetworkLogView._requestTimeFilter.bind(null, start, end); |
- this._timeCalculator.setWindow(new WebInspector.NetworkTimeBoundary(start, end)); |
+ this._calculator.setWindow(new WebInspector.NetworkTimeBoundary(start, end)); |
} |
this._updateDividersIfNeeded(); |
this._filterRequests(); |
@@ -285,7 +287,6 @@ WebInspector.NetworkLogView.prototype = { |
this.element.id = "network-container"; |
this._createSortingFunctions(); |
- this._createCalculators(); |
this._createTable(); |
this._createTimelineGrid(); |
this._summaryBarElement = this.element.createChild("div", "network-summary-bar"); |
@@ -447,7 +448,7 @@ WebInspector.NetworkLogView.prototype = { |
columns.push({ |
id: "timeline", |
title: WebInspector.NetworkLogView._columnTitles["timeline"], |
- sortable: false, |
+ sortable: true, |
weight: 40, |
sort: WebInspector.DataGrid.Order.Ascending |
}); |
@@ -466,8 +467,7 @@ WebInspector.NetworkLogView.prototype = { |
this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortItems, this); |
this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResized, this._updateDividersIfNeeded, this); |
- this._patchTimelineHeader(); |
- this._dataGrid.sortNodes(this._sortingFunctions.startTime, false); |
+ this._sortItems(); |
}, |
/** |
@@ -493,48 +493,6 @@ WebInspector.NetworkLogView.prototype = { |
return fragment; |
}, |
- _patchTimelineHeader: function() |
- { |
- var timelineSorting = createElement("select"); |
- |
- var option = createElement("option"); |
- option.value = "startTime"; |
- option.label = WebInspector.UIString("Timeline"); |
- timelineSorting.appendChild(option); |
- |
- option = createElement("option"); |
- option.value = "startTime"; |
- option.label = WebInspector.UIString("Start Time"); |
- timelineSorting.appendChild(option); |
- |
- option = createElement("option"); |
- option.value = "responseTime"; |
- option.label = WebInspector.UIString("Response Time"); |
- timelineSorting.appendChild(option); |
- |
- option = createElement("option"); |
- option.value = "endTime"; |
- option.label = WebInspector.UIString("End Time"); |
- timelineSorting.appendChild(option); |
- |
- option = createElement("option"); |
- option.value = "duration"; |
- option.label = WebInspector.UIString("Duration"); |
- timelineSorting.appendChild(option); |
- |
- option = createElement("option"); |
- option.value = "latency"; |
- option.label = WebInspector.UIString("Latency"); |
- timelineSorting.appendChild(option); |
- |
- var header = this._dataGrid.headerTableHeader("timeline"); |
- header.replaceChild(timelineSorting, header.firstChild); |
- |
- timelineSorting.addEventListener("click", function(event) { event.consume(); }, false); |
- timelineSorting.addEventListener("change", this._sortByTimeline.bind(this), false); |
- this._timelineSortSelector = timelineSorting; |
- }, |
- |
_createSortingFunctions: function() |
{ |
this._sortingFunctions = {}; |
@@ -553,63 +511,18 @@ WebInspector.NetworkLogView.prototype = { |
this._sortingFunctions.time = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "duration", false); |
this._sortingFunctions.connectionId = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "connectionId", false); |
this._sortingFunctions.timeline = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "startTime", false); |
- this._sortingFunctions.startTime = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "startTime", false); |
- this._sortingFunctions.endTime = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "endTime", false); |
- this._sortingFunctions.responseTime = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "responseReceivedTime", false); |
- this._sortingFunctions.duration = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "duration", true); |
- this._sortingFunctions.latency = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "latency", true); |
- }, |
- |
- _createCalculators: function() |
- { |
- /** @type {!WebInspector.NetworkTransferTimeCalculator} */ |
- this._timeCalculator = new WebInspector.NetworkTransferTimeCalculator(); |
- /** @type {!WebInspector.NetworkTransferDurationCalculator} */ |
- this._durationCalculator = new WebInspector.NetworkTransferDurationCalculator(); |
- |
- /** @type {!Object.<string, !WebInspector.NetworkTimeCalculator>} */ |
- this._calculators = {}; |
- this._calculators.timeline = this._timeCalculator; |
- this._calculators.startTime = this._timeCalculator; |
- this._calculators.endTime = this._timeCalculator; |
- this._calculators.responseTime = this._timeCalculator; |
- this._calculators.duration = this._durationCalculator; |
- this._calculators.latency = this._durationCalculator; |
- |
- this._calculator = this._timeCalculator; |
}, |
_sortItems: function() |
{ |
this._removeAllNodeHighlights(); |
var columnIdentifier = this._dataGrid.sortColumnIdentifier(); |
- if (columnIdentifier === "timeline") { |
- this._sortByTimeline(); |
- return; |
- } |
var sortingFunction = this._sortingFunctions[columnIdentifier]; |
if (!sortingFunction) |
return; |
this._dataGrid.sortNodes(sortingFunction, !this._dataGrid.isSortOrderAscending()); |
this._highlightNthMatchedRequestForSearch(this._updateMatchCountAndFindMatchIndex(this._currentMatchedRequestNode), false); |
- this._timelineSortSelector.selectedIndex = 0; |
- }, |
- |
- _sortByTimeline: function() |
- { |
- this._removeAllNodeHighlights(); |
- var selectedIndex = this._timelineSortSelector.selectedIndex; |
- if (!selectedIndex) |
- selectedIndex = 1; // Sort by start time by default. |
- var selectedOption = this._timelineSortSelector[selectedIndex]; |
- var value = selectedOption.value; |
- |
- this._setCalculator(this._calculators[value]); |
- var sortingFunction = this._sortingFunctions[value]; |
- this._dataGrid.sortNodes(sortingFunction); |
- this._highlightNthMatchedRequestForSearch(this._updateMatchCountAndFindMatchIndex(this._currentMatchedRequestNode), false); |
- this._dataGrid.markColumnAsSortedBy("timeline", WebInspector.DataGrid.Order.Ascending); |
}, |
_updateSummaryBar: function() |
@@ -718,13 +631,6 @@ WebInspector.NetworkLogView.prototype = { |
calculator.setDisplayWindow(this._timelineGrid.dividersElement.clientWidth); |
this._timelineGrid.updateDividers(calculator, 50); |
- if (calculator.startAtZero) { |
- // If our current sorting method starts at zero, that means it shows all |
- // requests starting at the same point, and so onLoad event and DOMContent |
- // event lines really wouldn't make much sense here, so don't render them. |
- return; |
- } |
- |
this._updateEventDividers(); |
}, |
@@ -758,39 +664,12 @@ WebInspector.NetworkLogView.prototype = { |
/** |
* @return {!WebInspector.NetworkTimeCalculator} |
*/ |
- timeCalculator: function() |
- { |
- return this._timeCalculator; |
- }, |
- |
- /** |
- * @return {!WebInspector.NetworkTimeCalculator} |
- */ |
calculator: function() |
{ |
return this._calculator; |
}, |
/** |
- * @param {!WebInspector.NetworkTimeCalculator} x |
- */ |
- _setCalculator: function(x) |
- { |
- if (!x || this._calculator === x) |
- return; |
- |
- this._calculator = x; |
- this._calculator.reset(); |
- |
- if (this._calculator.startAtZero) |
- this._timelineGrid.hideEventDividers(); |
- else |
- this._timelineGrid.showEventDividers(); |
- |
- this._invalidateAllItems(); |
- }, |
- |
- /** |
* @param {!WebInspector.Event} event |
*/ |
_loadEventFired: function(event) |
@@ -838,10 +717,8 @@ WebInspector.NetworkLogView.prototype = { |
this._removeAllNodeHighlights(); |
var oldBoundary = this.calculator().boundary(); |
- this._timeCalculator.updateBoundariesForEventTime(this._mainRequestLoadTime); |
- this._durationCalculator.updateBoundariesForEventTime(this._mainRequestLoadTime); |
- this._timeCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime); |
- this._durationCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime); |
+ this._calculator.updateBoundariesForEventTime(this._mainRequestLoadTime); |
+ this._calculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime); |
var dataGrid = this._dataGrid; |
var rootNode = dataGrid.rootNode(); |
@@ -856,8 +733,7 @@ WebInspector.NetworkLogView.prototype = { |
if (!node[WebInspector.NetworkLogView._isFilteredOutSymbol]) |
nodesToInsert.push(node); |
var request = node.request(); |
- this._timeCalculator.updateBoundaries(request); |
- this._durationCalculator.updateBoundaries(request); |
+ this._calculator.updateBoundaries(request); |
} |
for (var i = 0; i < nodesToInsert.length; ++i) { |
@@ -878,7 +754,7 @@ WebInspector.NetworkLogView.prototype = { |
if (waterfallEnd <= waterfallWindow.maximum) { |
waterfallWindow.maximum = waterfallEnd; |
this._shouldSetWaterfallWindow = false; |
- this._timeCalculator.setWindow(waterfallWindow); |
+ this._calculator.setWindow(waterfallWindow); |
} |
} |
@@ -909,7 +785,7 @@ WebInspector.NetworkLogView.prototype = { |
this._timeFilter = null; |
this._calculator.reset(); |
- this._timeCalculator.setWindow(null); |
+ this._calculator.setWindow(null); |
var nodes = this._nodesByRequestId.valuesArray(); |
for (var i = 0; i < nodes.length; ++i) |
@@ -1116,7 +992,7 @@ WebInspector.NetworkLogView.prototype = { |
content = WebInspector.DOMPresentationUtils.buildStackTracePreviewContents(request.target(), this._popupLinkifier, initiator.stackTrace, initiator.asyncStackTrace); |
popover.setCanShrink(true); |
} else { |
- content = WebInspector.RequestTimingView.createTimingTable(anchor.parentElement.request, this._timeCalculator.minimumBoundary()); |
+ content = WebInspector.RequestTimingView.createTimingTable(anchor.parentElement.request, this._calculator.minimumBoundary()); |
popover.setCanShrink(false); |
} |
popover.showForAnchor(content, anchor); |