Bug 1601911 - WebConsole throws when trying to access Timing panel in network message detail. r=nchevobbe

Differential Revision: https://phabricator.services.mozilla.com/D56530

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Ruturaj Vartak 2019-12-12 07:32:33 +00:00
Родитель b87677c5a2
Коммит e5d659bb53
1 изменённых файлов: 32 добавлений и 26 удалений

Просмотреть файл

@ -106,9 +106,14 @@ class TimingsPanel extends Component {
} }
const { timings, offsets } = eventTimings; const { timings, offsets } = eventTimings;
const queuedAt = startedMs - firstRequestStartedMs; let queuedAt, startedAt, downloadedAt;
const startedAt = queuedAt + timings.blocked; const isFirstRequestStartedAvailable = firstRequestStartedMs !== null;
const downloadedAt = queuedAt + totalTime;
if (isFirstRequestStartedAvailable) {
queuedAt = startedMs - firstRequestStartedMs;
startedAt = queuedAt + timings.blocked;
downloadedAt = queuedAt + totalTime;
}
const timelines = TIMING_KEYS.map((type, idx) => { const timelines = TIMING_KEYS.map((type, idx) => {
// Determine the relative offset for each timings box. For example, the // Determine the relative offset for each timings box. For example, the
@ -159,30 +164,31 @@ class TimingsPanel extends Component {
return div( return div(
{ className: "panel-container" }, { className: "panel-container" },
div( isFirstRequestStartedAvailable &&
{ className: "timings-overview" }, div(
span( { className: "timings-overview" },
{ className: "timings-overview-item" }, span(
L10N.getFormatStr( { className: "timings-overview-item" },
"netmonitor.timings.queuedAt", L10N.getFormatStr(
getFormattedTime(queuedAt) "netmonitor.timings.queuedAt",
getFormattedTime(queuedAt)
)
),
span(
{ className: "timings-overview-item" },
L10N.getFormatStr(
"netmonitor.timings.startedAt",
getFormattedTime(startedAt)
)
),
span(
{ className: "timings-overview-item" },
L10N.getFormatStr(
"netmonitor.timings.downloadedAt",
getFormattedTime(downloadedAt)
)
) )
), ),
span(
{ className: "timings-overview-item" },
L10N.getFormatStr(
"netmonitor.timings.startedAt",
getFormattedTime(startedAt)
)
),
span(
{ className: "timings-overview-item" },
L10N.getFormatStr(
"netmonitor.timings.downloadedAt",
getFormattedTime(downloadedAt)
)
)
),
div( div(
{ className: "label-separator" }, { className: "label-separator" },
L10N.getStr("netmonitor.timings.requestTiming") L10N.getStr("netmonitor.timings.requestTiming")
@ -198,5 +204,5 @@ class TimingsPanel extends Component {
} }
module.exports = connect(state => ({ module.exports = connect(state => ({
firstRequestStartedMs: state.requests.firstStartedMs, firstRequestStartedMs: state.requests ? state.requests.firstStartedMs : null,
}))(TimingsPanel); }))(TimingsPanel);