Chromium Code Reviews| Index: Source/devtools/front_end/network/RequestTimingView.js |
| diff --git a/Source/devtools/front_end/network/RequestTimingView.js b/Source/devtools/front_end/network/RequestTimingView.js |
| index 73c4e3195393fa3bf29b59921393cb5f89294728..bfffe5b97a28d2e975c714fcb86bc749864d143d 100644 |
| --- a/Source/devtools/front_end/network/RequestTimingView.js |
| +++ b/Source/devtools/front_end/network/RequestTimingView.js |
| @@ -131,39 +131,65 @@ WebInspector.RequestTimingView.createTimingTable = function(request) |
| return undefined; |
| } |
| - var timing = request.timing; |
| - var blocking = firstPositive([timing.dnsStart, timing.connectStart, timing.sendStart]); |
| - var endTime = firstPositive([request.endTime, request.responseReceivedTime, timing.requestTime]); |
| - var total = (endTime - timing.requestTime) * 1000; |
| - const chartWidth = 200; |
| - var scale = chartWidth / total; |
| + function createCommunicationTimingTable() |
| + { |
| + if (blocking > 0) |
| + addRow(WebInspector.UIString("Stalled"), "blocking", 0, blocking); |
| + |
| + if (timing.proxyStart !== -1) |
| + addRow(WebInspector.UIString("Proxy negotiation"), "proxy", timing.proxyStart, timing.proxyEnd); |
| + |
| + if (timing.dnsStart !== -1) |
| + addRow(WebInspector.UIString("DNS Lookup"), "dns", timing.dnsStart, timing.dnsEnd); |
| - if (blocking > 0) |
| - addRow(WebInspector.UIString("Stalled"), "blocking", 0, blocking); |
| + if (timing.connectStart !== -1) |
| + addRow(WebInspector.UIString("Initial connection"), "connecting", timing.connectStart, timing.connectEnd); |
| - if (timing.proxyStart !== -1) |
| - addRow(WebInspector.UIString("Proxy negotiation"), "proxy", timing.proxyStart, timing.proxyEnd); |
| + if (timing.sslStart !== -1) |
| + addRow(WebInspector.UIString("SSL"), "ssl", timing.sslStart, timing.sslEnd); |
| - if (timing.dnsStart !== -1) |
| - addRow(WebInspector.UIString("DNS Lookup"), "dns", timing.dnsStart, timing.dnsEnd); |
| + addRow(WebInspector.UIString("Request sent"), "sending", timing.sendStart, timing.sendEnd); |
| + addRow(WebInspector.UIString("Waiting (TTFB)"), "waiting", timing.sendEnd, timing.receiveHeadersEnd); |
| - if (timing.connectStart !== -1) |
| - addRow(WebInspector.UIString("Initial connection"), "connecting", timing.connectStart, timing.connectEnd); |
| + if (request.endTime !== -1) |
| + addRow(WebInspector.UIString("Content Download"), "receiving", (request.responseReceivedTime - timing.requestTime) * 1000, total); |
| + |
| + if (!request.finished) { |
| + var cell = tableElement.createChild("tr").createChild("td", "caution"); |
| + cell.colSpan = 2; |
|
eustas
2014/08/29 12:18:41
Why don't leave common case (!request.finished) in
shimazu
2014/09/01 05:55:29
Done.
|
| + cell.createTextChild(WebInspector.UIString("CAUTION: request is not finished yet!")); |
| + } |
| + } |
| - if (timing.sslStart !== -1) |
| - addRow(WebInspector.UIString("SSL"), "ssl", timing.sslStart, timing.sslEnd); |
| + function createServiceWorkerTimingTable() |
| + { |
| + addRow(WebInspector.UIString("Stalled"), "blocking", 0, timing.serviceWorkerFetchStart); |
| - addRow(WebInspector.UIString("Request sent"), "sending", timing.sendStart, timing.sendEnd); |
| - addRow(WebInspector.UIString("Waiting (TTFB)"), "waiting", timing.sendEnd, timing.receiveHeadersEnd); |
| + addRow(WebInspector.UIString("Request to ServiceWorker"), "serviceworker", timing.serviceWorkerFetchStart, timing.serviceWorkerFetchEnd); |
| + addRow(WebInspector.UIString("ServiceWorker Preparation"), "serviceworker", timing.serviceWorkerFetchStart, timing.serviceWorkerFetchReady); |
| + addRow(WebInspector.UIString("Waiting (TTFB)"), "waiting", timing.serviceWorkerFetchEnd, timing.receiveHeadersEnd); |
| - if (request.endTime !== -1) |
| - addRow(WebInspector.UIString("Content Download"), "receiving", (request.responseReceivedTime - timing.requestTime) * 1000, total); |
| + if (request.endTime !== -1) |
| + addRow(WebInspector.UIString("Content Download"), "receiving", (request.responseReceivedTime - timing.requestTime) * 1000, total); |
| - if (!request.finished) { |
| - var cell = tableElement.createChild("tr").createChild("td", "caution"); |
| - cell.colSpan = 2; |
| - cell.createTextChild(WebInspector.UIString("CAUTION: request is not finished yet!")); |
| + if (!request.finished) { |
| + var cell = tableElement.createChild("tr").createChild("td", "caution"); |
| + cell.colSpan = 2; |
| + cell.createTextChild(WebInspector.UIString("CAUTION: request is not finished yet!")); |
| + } |
| } |
| + var timing = request.timing; |
| + var blocking = firstPositive([timing.dnsStart, timing.connectStart, timing.sendStart]); |
| + var endTime = firstPositive([request.endTime, request.responseReceivedTime, timing.requestTime]); |
| + var total = (endTime - timing.requestTime) * 1000; |
| + const chartWidth = 200; |
| + var scale = chartWidth / total; |
| + |
| + if (request.fetchedViaServiceWorker) |
| + createServiceWorkerTimingTable(); |
| + else |
| + createCommunicationTimingTable(); |
| + |
| return tableElement; |
| } |