| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 return result; | 173 return result; |
| 174 } | 174 } |
| 175 | 175 |
| 176 /** | 176 /** |
| 177 * @param {!SDK.NetworkRequest} request | 177 * @param {!SDK.NetworkRequest} request |
| 178 * @param {!Network.NetworkTimeCalculator} calculator | 178 * @param {!Network.NetworkTimeCalculator} calculator |
| 179 * @return {!Element} | 179 * @return {!Element} |
| 180 */ | 180 */ |
| 181 static createTimingTable(request, calculator) { | 181 static createTimingTable(request, calculator) { |
| 182 var tableElement = createElementWithClass('table', 'network-timing-table'); | 182 var tableElement = createElementWithClass('table', 'network-timing-table'); |
| 183 UI.appendStyle(tableElement, 'network/networkTimingTable.css'); |
| 183 var colgroup = tableElement.createChild('colgroup'); | 184 var colgroup = tableElement.createChild('colgroup'); |
| 184 colgroup.createChild('col', 'labels'); | 185 colgroup.createChild('col', 'labels'); |
| 185 colgroup.createChild('col', 'bars'); | 186 colgroup.createChild('col', 'bars'); |
| 186 colgroup.createChild('col', 'duration'); | 187 colgroup.createChild('col', 'duration'); |
| 187 | 188 |
| 188 var timeRanges = Network.RequestTimingView.calculateRequestTimeRanges(reques
t, calculator.minimumBoundary()); | 189 var timeRanges = Network.RequestTimingView.calculateRequestTimeRanges(reques
t, calculator.minimumBoundary()); |
| 189 var startTime = timeRanges.map(r => r.start).reduce((a, b) => Math.min(a, b)
); | 190 var startTime = timeRanges.map(r => r.start).reduce((a, b) => Math.min(a, b)
); |
| 190 var endTime = timeRanges.map(r => r.end).reduce((a, b) => Math.max(a, b)); | 191 var endTime = timeRanges.map(r => r.end).reduce((a, b) => Math.max(a, b)); |
| 191 var scale = 100 / (endTime - startTime); | 192 var scale = 100 / (endTime - startTime); |
| 192 | 193 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 205 for (var i = 0; i < timeRanges.length; ++i) { | 206 for (var i = 0; i < timeRanges.length; ++i) { |
| 206 var range = timeRanges[i]; | 207 var range = timeRanges[i]; |
| 207 var rangeName = range.name; | 208 var rangeName = range.name; |
| 208 if (rangeName === Network.RequestTimeRangeNames.Total) { | 209 if (rangeName === Network.RequestTimeRangeNames.Total) { |
| 209 totalDuration = range.end - range.start; | 210 totalDuration = range.end - range.start; |
| 210 continue; | 211 continue; |
| 211 } | 212 } |
| 212 if (rangeName === Network.RequestTimeRangeNames.Push) { | 213 if (rangeName === Network.RequestTimeRangeNames.Push) { |
| 213 createHeader(Common.UIString('Server Push')); | 214 createHeader(Common.UIString('Server Push')); |
| 214 } else if (rangeName === Network.RequestTimeRangeNames.Queueing) { | 215 } else if (rangeName === Network.RequestTimeRangeNames.Queueing) { |
| 215 queueingHeader = tableElement.createChild('tr', 'network-timing-table-
header'); | 216 queueingHeader = tableElement.createChild('tr', 'network-timing-table-he
ader'); |
| 216 queueingHeader.createChild('td').createTextChild(Common.UIString('Reso
urce Scheduling')); | 217 queueingHeader.createChild('td').createTextChild(Common.UIString('Resour
ce Scheduling')); |
| 217 queueingHeader.createChild('td').createTextChild(''); | 218 queueingHeader.createChild('td').createTextChild(''); |
| 218 queueingHeader.createChild('td').createTextChild(Common.UIString('TIME
')); | 219 queueingHeader.createChild('td').createTextChild(Common.UIString('TIME')
); |
| 219 } else if (Network.RequestTimingView.ConnectionSetupRangeNames.has(rangeNa
me)) { | 220 } else if (Network.RequestTimingView.ConnectionSetupRangeNames.has(rangeNa
me)) { |
| 220 if (!connectionHeader) | 221 if (!connectionHeader) |
| 221 connectionHeader = createHeader(Common.UIString('Connection Start')); | 222 connectionHeader = createHeader(Common.UIString('Connection Start')); |
| 222 } else { | 223 } else { |
| 223 if (!dataHeader) | 224 if (!dataHeader) |
| 224 dataHeader = createHeader(Common.UIString('Request/Response')); | 225 dataHeader = createHeader(Common.UIString('Request/Response')); |
| 225 } | 226 } |
| 226 | 227 |
| 227 var left = (scale * (range.start - startTime)); | 228 var left = (scale * (range.start - startTime)); |
| 228 var right = (scale * (endTime - range.end)); | 229 var right = (scale * (endTime - range.end)); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 this._request.removeEventListener(SDK.NetworkRequest.Events.TimingChanged, t
his._refresh, this); | 333 this._request.removeEventListener(SDK.NetworkRequest.Events.TimingChanged, t
his._refresh, this); |
| 333 this._request.removeEventListener(SDK.NetworkRequest.Events.FinishedLoading,
this._refresh, this); | 334 this._request.removeEventListener(SDK.NetworkRequest.Events.FinishedLoading,
this._refresh, this); |
| 334 this._calculator.removeEventListener(Network.NetworkTimeCalculator.Events.Bo
undariesChanged, this._refresh, this); | 335 this._calculator.removeEventListener(Network.NetworkTimeCalculator.Events.Bo
undariesChanged, this._refresh, this); |
| 335 } | 336 } |
| 336 | 337 |
| 337 _refresh() { | 338 _refresh() { |
| 338 if (this._tableElement) | 339 if (this._tableElement) |
| 339 this._tableElement.remove(); | 340 this._tableElement.remove(); |
| 340 | 341 |
| 341 this._tableElement = Network.RequestTimingView.createTimingTable(this._reque
st, this._calculator); | 342 this._tableElement = Network.RequestTimingView.createTimingTable(this._reque
st, this._calculator); |
| 343 this._tableElement.classList.add('resource-timing-table'); |
| 342 this.element.appendChild(this._tableElement); | 344 this.element.appendChild(this._tableElement); |
| 343 } | 345 } |
| 344 }; | 346 }; |
| 345 | 347 |
| 346 /** @enum {string} */ | 348 /** @enum {string} */ |
| 347 Network.RequestTimeRangeNames = { | 349 Network.RequestTimeRangeNames = { |
| 348 Push: 'push', | 350 Push: 'push', |
| 349 Queueing: 'queueing', | 351 Queueing: 'queueing', |
| 350 Blocking: 'blocking', | 352 Blocking: 'blocking', |
| 351 Connecting: 'connecting', | 353 Connecting: 'connecting', |
| (...skipping 10 matching lines...) Expand all Loading... |
| 362 }; | 364 }; |
| 363 | 365 |
| 364 Network.RequestTimingView.ConnectionSetupRangeNames = new Set([ | 366 Network.RequestTimingView.ConnectionSetupRangeNames = new Set([ |
| 365 Network.RequestTimeRangeNames.Queueing, Network.RequestTimeRangeNames.Blocking
, | 367 Network.RequestTimeRangeNames.Queueing, Network.RequestTimeRangeNames.Blocking
, |
| 366 Network.RequestTimeRangeNames.Connecting, Network.RequestTimeRangeNames.DNS, N
etwork.RequestTimeRangeNames.Proxy, | 368 Network.RequestTimeRangeNames.Connecting, Network.RequestTimeRangeNames.DNS, N
etwork.RequestTimeRangeNames.Proxy, |
| 367 Network.RequestTimeRangeNames.SSL | 369 Network.RequestTimeRangeNames.SSL |
| 368 ]); | 370 ]); |
| 369 | 371 |
| 370 /** @typedef {{name: !Network.RequestTimeRangeNames, start: number, end: number}
} */ | 372 /** @typedef {{name: !Network.RequestTimeRangeNames, start: number, end: number}
} */ |
| 371 Network.RequestTimeRange; | 373 Network.RequestTimeRange; |
| OLD | NEW |