mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-03 02:21:05 +08:00
Use type-safe listeners for ResourceTreeModel events 2/2
R=wolfi@chromium.org Bug: 1228674 Change-Id: I633e968442974a9c5e2b1b56604a456c585bbb19 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3062563 Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by: Wolfgang Beyer <wolfi@chromium.org> Commit-Queue: Wolfgang Beyer <wolfi@chromium.org>
This commit is contained in:
committed by
Devtools-frontend LUCI CQ
parent
c100a8bb82
commit
1a9304907f
@@ -50,6 +50,7 @@ import {Events as RuntimeModelEvents, RuntimeModel} from './RuntimeModel.js';
|
||||
import type {Target} from './Target.js';
|
||||
import {TargetManager} from './TargetManager.js';
|
||||
import type {Observer} from './TargetManager.js';
|
||||
import type {ResourceTreeFrame} from './ResourceTreeModel.js';
|
||||
|
||||
const UIStrings = {
|
||||
/**
|
||||
@@ -311,7 +312,7 @@ export class ConsoleModel extends Common.ObjectWrapper.ObjectWrapper implements
|
||||
++this.pageLoadSequenceNumber;
|
||||
}
|
||||
|
||||
_mainFrameNavigated(event: Common.EventTarget.EventTargetEvent): void {
|
||||
_mainFrameNavigated(event: Common.EventTarget.EventTargetEvent<ResourceTreeFrame>): void {
|
||||
if (Common.Settings.Settings.instance().moduleSetting('preserveConsoleLog').get()) {
|
||||
Common.Console.Console.instance().log(i18nString(UIStrings.navigatedToS, {PH1: event.data.url}));
|
||||
}
|
||||
|
||||
@@ -122,9 +122,8 @@ export class FrameManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes>
|
||||
this.resolveAwaitedFrame(frame);
|
||||
}
|
||||
|
||||
_frameDetached(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const frame = event.data.frame as ResourceTreeFrame;
|
||||
const isSwap = event.data.isSwap as boolean;
|
||||
_frameDetached(event: Common.EventTarget.EventTargetEvent<{frame: ResourceTreeFrame, isSwap: boolean}>): void {
|
||||
const {frame, isSwap} = event.data;
|
||||
// Decrease the frame's count or remove it entirely from the map.
|
||||
this._decreaseOrRemoveFrame(frame.id);
|
||||
|
||||
@@ -153,9 +152,8 @@ export class FrameManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes>
|
||||
}
|
||||
}
|
||||
|
||||
_resourceAdded(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const resource = (event.data as Resource);
|
||||
this.dispatchEventToListeners(Events.ResourceAdded, {resource});
|
||||
_resourceAdded(event: Common.EventTarget.EventTargetEvent<Resource>): void {
|
||||
this.dispatchEventToListeners(Events.ResourceAdded, {resource: event.data});
|
||||
}
|
||||
|
||||
_decreaseOrRemoveFrame(frameId: string): void {
|
||||
|
||||
@@ -112,8 +112,8 @@ export class PageResourceLoader extends Common.ObjectWrapper.ObjectWrapper<Event
|
||||
return pageResourceLoader;
|
||||
}
|
||||
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const mainFrame = (event.data as ResourceTreeFrame);
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent<ResourceTreeFrame>): void {
|
||||
const mainFrame = event.data;
|
||||
if (!mainFrame.isTopFrame()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -230,8 +230,8 @@ class ModelInfo {
|
||||
return true;
|
||||
}
|
||||
|
||||
_resourceAdded(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const resource = (event.data as SDK.Resource.Resource);
|
||||
_resourceAdded(event: Common.EventTarget.EventTargetEvent<SDK.Resource.Resource>): void {
|
||||
const resource = event.data;
|
||||
if (!this._acceptsResource(resource)) {
|
||||
return;
|
||||
}
|
||||
@@ -263,14 +263,13 @@ class ModelInfo {
|
||||
}
|
||||
}
|
||||
|
||||
_frameWillNavigate(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const frame = (event.data as SDK.ResourceTreeModel.ResourceTreeFrame);
|
||||
this._removeFrameResources(frame);
|
||||
_frameWillNavigate(event: Common.EventTarget.EventTargetEvent<SDK.ResourceTreeModel.ResourceTreeFrame>): void {
|
||||
this._removeFrameResources(event.data);
|
||||
}
|
||||
|
||||
_frameDetached(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const frame = (event.data.frame as SDK.ResourceTreeModel.ResourceTreeFrame);
|
||||
this._removeFrameResources(frame);
|
||||
_frameDetached(event: Common.EventTarget
|
||||
.EventTargetEvent<{frame: SDK.ResourceTreeModel.ResourceTreeFrame, isSwap: boolean}>): void {
|
||||
this._removeFrameResources(event.data.frame);
|
||||
}
|
||||
|
||||
_resetForTest(): void {
|
||||
|
||||
@@ -53,8 +53,10 @@ export class ContrastCheckTrigger {
|
||||
resourceTreeModel.target().auditsAgent().invoke_checkContrast({});
|
||||
}
|
||||
|
||||
private pageLoaded(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const {resourceTreeModel} = event.data as {resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel};
|
||||
private pageLoaded(
|
||||
event: Common.EventTarget
|
||||
.EventTargetEvent<{resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, loadTime: number}>): void {
|
||||
const {resourceTreeModel} = event.data;
|
||||
this.checkContrast(resourceTreeModel);
|
||||
}
|
||||
|
||||
|
||||
@@ -318,8 +318,8 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper implements
|
||||
}
|
||||
}
|
||||
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const mainFrame = (event.data as SDK.ResourceTreeModel.ResourceTreeFrame);
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent<SDK.ResourceTreeModel.ResourceTreeFrame>): void {
|
||||
const mainFrame = event.data;
|
||||
const manager = mainFrame.resourceTreeModel().target().model(SDK.NetworkManager.NetworkManager);
|
||||
if (!manager || mainFrame.resourceTreeModel().target().parentTarget()) {
|
||||
return;
|
||||
@@ -485,19 +485,21 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper implements
|
||||
}
|
||||
|
||||
_onDOMContentLoaded(
|
||||
resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, event: Common.EventTarget.EventTargetEvent): void {
|
||||
resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel,
|
||||
event: Common.EventTarget.EventTargetEvent<number>): void {
|
||||
const networkManager = resourceTreeModel.target().model(SDK.NetworkManager.NetworkManager);
|
||||
const pageLoad = networkManager ? this._pageLoadForManager.get(networkManager) : null;
|
||||
if (pageLoad) {
|
||||
pageLoad.contentLoadTime = (event.data as number);
|
||||
pageLoad.contentLoadTime = event.data;
|
||||
}
|
||||
}
|
||||
|
||||
_onLoad(event: Common.EventTarget.EventTargetEvent): void {
|
||||
_onLoad(event: Common.EventTarget
|
||||
.EventTargetEvent<{resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, loadTime: number}>): void {
|
||||
const networkManager = event.data.resourceTreeModel.target().model(SDK.NetworkManager.NetworkManager);
|
||||
const pageLoad = networkManager ? this._pageLoadForManager.get(networkManager) : null;
|
||||
if (pageLoad) {
|
||||
pageLoad.loadTime = (event.data.loadTime as number);
|
||||
pageLoad.loadTime = event.data.loadTime;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -447,12 +447,12 @@ export class AppManifestView extends UI.Widget.VBox implements SDK.TargetManager
|
||||
this._registeredListeners = [
|
||||
this._resourceTreeModel.addEventListener(
|
||||
SDK.ResourceTreeModel.Events.DOMContentLoaded,
|
||||
_event => {
|
||||
() => {
|
||||
this._updateManifest(true);
|
||||
}),
|
||||
this._serviceWorkerManager.addEventListener(
|
||||
SDK.ServiceWorkerManager.Events.RegistrationUpdated,
|
||||
_event => {
|
||||
() => {
|
||||
this._updateManifest(false);
|
||||
}),
|
||||
];
|
||||
|
||||
@@ -82,9 +82,9 @@ export class ApplicationCacheModel extends SDK.SDKModel.SDKModel {
|
||||
}
|
||||
}
|
||||
|
||||
_frameDetached(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const frame = (event.data.frame as SDK.ResourceTreeModel.ResourceTreeFrame);
|
||||
this._frameManifestRemoved(frame.id);
|
||||
_frameDetached(event: Common.EventTarget
|
||||
.EventTargetEvent<{frame: SDK.ResourceTreeModel.ResourceTreeFrame, isSwap: boolean}>): void {
|
||||
this._frameManifestRemoved(event.data.frame.id);
|
||||
}
|
||||
|
||||
reset(): void {
|
||||
|
||||
@@ -74,7 +74,7 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper {
|
||||
this._onComputedStyleChanged(null);
|
||||
}
|
||||
|
||||
_onFrameResized(_event: Common.EventTarget.EventTargetEvent): void {
|
||||
_onFrameResized(): void {
|
||||
function refreshContents(this: ComputedStyleModel): void {
|
||||
this._onComputedStyleChanged(null);
|
||||
delete this._frameResizedTimer;
|
||||
|
||||
@@ -1156,23 +1156,25 @@ export class NetworkLogView extends UI.Widget.VBox implements
|
||||
this._invalidateAllItems();
|
||||
}
|
||||
|
||||
_loadEventFired(event: Common.EventTarget.EventTargetEvent): void {
|
||||
_loadEventFired(
|
||||
event: Common.EventTarget
|
||||
.EventTargetEvent<{resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, loadTime: number}>): void {
|
||||
if (!this._recording) {
|
||||
return;
|
||||
}
|
||||
|
||||
const time = (event.data.loadTime as number);
|
||||
const time = event.data.loadTime;
|
||||
if (time) {
|
||||
this._mainRequestLoadTime = time;
|
||||
this._columns.addEventDividers([time], 'network-load-divider');
|
||||
}
|
||||
}
|
||||
|
||||
_domContentLoadedEventFired(event: Common.EventTarget.EventTargetEvent): void {
|
||||
_domContentLoadedEventFired(event: Common.EventTarget.EventTargetEvent<number>): void {
|
||||
if (!this._recording) {
|
||||
return;
|
||||
}
|
||||
const data = (event.data as number);
|
||||
const {data} = event;
|
||||
if (data) {
|
||||
this._mainRequestDOMContentLoadedTime = data;
|
||||
this._columns.addEventDividers([data], 'network-dcl-divider');
|
||||
|
||||
@@ -66,16 +66,18 @@ export class NetworkOverview extends PerfUI.TimelineOverviewPane.TimelineOvervie
|
||||
this.scheduleUpdate();
|
||||
}
|
||||
|
||||
_loadEventFired(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const time = (event.data.loadTime as number);
|
||||
_loadEventFired(
|
||||
event: Common.EventTarget
|
||||
.EventTargetEvent<{resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, loadTime: number}>): void {
|
||||
const time = event.data.loadTime;
|
||||
if (time) {
|
||||
this._loadEvents.push(time * 1000);
|
||||
}
|
||||
this.scheduleUpdate();
|
||||
}
|
||||
|
||||
_domContentLoadedEventFired(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const data = (event.data as number);
|
||||
_domContentLoadedEventFired(event: Common.EventTarget.EventTargetEvent<number>): void {
|
||||
const {data} = event;
|
||||
if (data) {
|
||||
this._domContentLoadedEvents.push(data * 1000);
|
||||
}
|
||||
|
||||
@@ -528,7 +528,7 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
|
||||
}
|
||||
}
|
||||
|
||||
_willReloadPage(_event: Common.EventTarget.EventTargetEvent): void {
|
||||
_willReloadPage(): void {
|
||||
if (this._pendingStopTimer) {
|
||||
clearTimeout(this._pendingStopTimer);
|
||||
delete this._pendingStopTimer;
|
||||
@@ -538,7 +538,7 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
|
||||
}
|
||||
}
|
||||
|
||||
_load(_event: Common.EventTarget.EventTargetEvent): void {
|
||||
_load(): void {
|
||||
if (this._filmStripRecorder && this._filmStripRecorder.isRecording()) {
|
||||
this._pendingStopTimer = window.setTimeout(this._stopFilmStripRecording.bind(this), displayScreenshotDelay);
|
||||
}
|
||||
|
||||
@@ -723,7 +723,7 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
|
||||
this._canvasElement.focus();
|
||||
}
|
||||
|
||||
_requestNavigationHistoryEvent(_event: Common.EventTarget.EventTargetEvent): void {
|
||||
_requestNavigationHistoryEvent(): void {
|
||||
this._requestNavigationHistory();
|
||||
}
|
||||
|
||||
|
||||
@@ -748,8 +748,8 @@ export class SecurityPanel extends UI.Panel.PanelWithSidebar implements
|
||||
Common.EventTarget.removeEventListeners(this._eventListeners);
|
||||
}
|
||||
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent): void {
|
||||
const frame = event.data as Protocol.Page.Frame;
|
||||
_onMainFrameNavigated(event: Common.EventTarget.EventTargetEvent<SDK.ResourceTreeModel.ResourceTreeFrame>): void {
|
||||
const frame = event.data;
|
||||
const request = this._lastResponseReceivedForLoaderId.get(frame.loaderId);
|
||||
|
||||
this.selectAndSwitchToMainView();
|
||||
|
||||
@@ -1133,7 +1133,10 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
||||
this._overviewPane.setMarkers(markers);
|
||||
}
|
||||
|
||||
async _loadEventFired(event: Common.EventTarget.EventTargetEvent): Promise<void> {
|
||||
async _loadEventFired(
|
||||
event: Common.EventTarget
|
||||
.EventTargetEvent<{resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel, loadTime: number}>):
|
||||
Promise<void> {
|
||||
if (this._state !== State.Recording || !this._recordingPageReload || !this._controller ||
|
||||
this._controller.mainTarget() !== event.data.resourceTreeModel.target()) {
|
||||
return;
|
||||
|
||||
@@ -65,7 +65,7 @@ describe('PageResourceLoader', () => {
|
||||
isTopFrame() {
|
||||
return true;
|
||||
},
|
||||
},
|
||||
} as SDK.ResourceTreeModel.ResourceTreeFrame,
|
||||
});
|
||||
assert.deepEqual(loader.getNumberOfResources(), {loading: 3, queued: 0, resources: 0});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user