| Index: third_party/WebKit/Source/devtools/front_end/network/RequestTimingView.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/RequestTimingView.js b/third_party/WebKit/Source/devtools/front_end/network/RequestTimingView.js
|
| index 9c7a27733854dd4a36ae3e837357bf695995deeb..c7783e8773b02b1621cc709cd608dd2da100a5b4 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/network/RequestTimingView.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/network/RequestTimingView.js
|
| @@ -175,25 +175,33 @@ Network.RequestTimingView = class extends UI.VBox {
|
|
|
| /**
|
| * @param {!SDK.NetworkRequest} request
|
| - * @param {number} navigationStart
|
| + * @param {!Network.NetworkTimeCalculator} calculator
|
| * @return {!Element}
|
| */
|
| - static createTimingTable(request, navigationStart) {
|
| + static createTimingTable(request, calculator) {
|
| var tableElement = createElementWithClass('table', 'network-timing-table');
|
| var colgroup = tableElement.createChild('colgroup');
|
| colgroup.createChild('col', 'labels');
|
| colgroup.createChild('col', 'bars');
|
| colgroup.createChild('col', 'duration');
|
|
|
| - var timeRanges = Network.RequestTimingView.calculateRequestTimeRanges(request, navigationStart);
|
| + var timeRanges = Network.RequestTimingView.calculateRequestTimeRanges(request, calculator.minimumBoundary());
|
| var startTime = timeRanges.map(r => r.start).reduce((a, b) => Math.min(a, b));
|
| var endTime = timeRanges.map(r => r.end).reduce((a, b) => Math.max(a, b));
|
| var scale = 100 / (endTime - startTime);
|
|
|
| var connectionHeader;
|
| var dataHeader;
|
| + var queueingHeader;
|
| var totalDuration = 0;
|
|
|
| + var startTimeHeader = tableElement.createChild('thead', 'network-timing-start');
|
| + var queuedCell = startTimeHeader.createChild('tr').createChild('td');
|
| + var startedCell = startTimeHeader.createChild('tr').createChild('td');
|
| + queuedCell.colSpan = startedCell.colSpan = 2;
|
| + queuedCell.createTextChild(Common.UIString('Queued at %s', calculator.formatValue(request.issueTime(), 2)));
|
| + startedCell.createTextChild(Common.UIString('Started at %s', calculator.formatValue(request.startTime, 2)));
|
| +
|
| for (var i = 0; i < timeRanges.length; ++i) {
|
| var range = timeRanges[i];
|
| var rangeName = range.name;
|
| @@ -203,9 +211,14 @@ Network.RequestTimingView = class extends UI.VBox {
|
| }
|
| if (rangeName === Network.RequestTimeRangeNames.Push) {
|
| createHeader(Common.UIString('Server Push'));
|
| + } else if (rangeName === Network.RequestTimeRangeNames.Queueing) {
|
| + queueingHeader = tableElement.createChild('tr', 'network-timing-table-header');
|
| + queueingHeader.createChild('td').createTextChild(Common.UIString('Resource Scheduling'));
|
| + queueingHeader.createChild('td').createTextChild('');
|
| + queueingHeader.createChild('td').createTextChild(Common.UIString('TIME'));
|
| } else if (Network.RequestTimingView.ConnectionSetupRangeNames.has(rangeName)) {
|
| if (!connectionHeader)
|
| - connectionHeader = createHeader(Common.UIString('Connection Setup'));
|
| + connectionHeader = createHeader(Common.UIString('Connection Start'));
|
| } else {
|
| if (!dataHeader)
|
| dataHeader = createHeader(Common.UIString('Request/Response'));
|
| @@ -235,9 +248,10 @@ Network.RequestTimingView = class extends UI.VBox {
|
|
|
| var footer = tableElement.createChild('tr', 'network-timing-footer');
|
| var note = footer.createChild('td');
|
| - note.colSpan = 2;
|
| + note.colSpan = 1;
|
| note.appendChild(
|
| UI.createDocumentationLink('network-performance/reference#timing', Common.UIString('Explanation')));
|
| + footer.createChild('td');
|
| footer.createChild('td').createTextChild(Number.secondsToString(totalDuration, true));
|
|
|
| var serverTimings = request.serverTimings;
|
| @@ -322,7 +336,7 @@ Network.RequestTimingView = class extends UI.VBox {
|
| if (this._tableElement)
|
| this._tableElement.remove();
|
|
|
| - this._tableElement = Network.RequestTimingView.createTimingTable(this._request, this._calculator.minimumBoundary());
|
| + this._tableElement = Network.RequestTimingView.createTimingTable(this._request, this._calculator);
|
| this.element.appendChild(this._tableElement);
|
| }
|
| };
|
|
|