mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-06 20:11:38 +08:00
Bug: 1299773 Change-Id: I54609104283c074d0f3e03917dc9ba2a77544290 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3548478 Reviewed-by: Eric Leese <leese@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> Commit-Queue: Kateryna Prokopenko <kprokopenko@chromium.org>
36 lines
990 B
TypeScript
36 lines
990 B
TypeScript
// Copyright 2021 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import type * as Platform from '../platform/platform.js';
|
|
|
|
import type {NetworkRequest} from './NetworkRequest.js';
|
|
|
|
export class PageLoad {
|
|
id: number;
|
|
url: Platform.DevToolsPath.UrlString;
|
|
startTime: number;
|
|
loadTime!: number;
|
|
contentLoadTime!: number;
|
|
mainRequest: NetworkRequest;
|
|
|
|
constructor(mainRequest: NetworkRequest) {
|
|
this.id = ++PageLoad.lastIdentifier;
|
|
this.url = mainRequest.url();
|
|
this.startTime = mainRequest.startTime;
|
|
this.mainRequest = mainRequest;
|
|
}
|
|
|
|
static forRequest(request: NetworkRequest): PageLoad|null {
|
|
return pageLoadForRequest.get(request) || null;
|
|
}
|
|
|
|
bindRequest(request: NetworkRequest): void {
|
|
pageLoadForRequest.set(request, this);
|
|
}
|
|
|
|
private static lastIdentifier = 0;
|
|
}
|
|
|
|
const pageLoadForRequest = new WeakMap<NetworkRequest, PageLoad>();
|