Update network log view on modelRemoved/Added instead of network log reset.
This makes it compatible with switching between outermost target. We still need to react to the network log event for the clear button to work.
Bug: 1417112
Change-Id: I416a2249df2782656aac56f62f16aac132fc146f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4359804
Commit-Queue: Wolfgang Beyer <[email protected]>
Auto-Submit: Danil Somsikov <[email protected]>
Reviewed-by: Wolfgang Beyer <[email protected]>
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index a99863c..ed4fc12 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -831,25 +831,35 @@
modelAdded(networkManager: SDK.NetworkManager.NetworkManager): void {
// TODO(allada) Remove dependency on networkManager and instead use NetworkLog and PageLoad for needed data.
- if (networkManager.target().parentTarget()?.type() === SDK.Target.Type.Frame) {
+ const target = networkManager.target();
+ if (target.outermostTarget() !== target) {
return;
}
- const resourceTreeModel = networkManager.target().model(SDK.ResourceTreeModel.ResourceTreeModel);
+ const resourceTreeModel = target.model(SDK.ResourceTreeModel.ResourceTreeModel);
if (resourceTreeModel) {
resourceTreeModel.addEventListener(SDK.ResourceTreeModel.Events.Load, this.loadEventFired, this);
resourceTreeModel.addEventListener(
SDK.ResourceTreeModel.Events.DOMContentLoaded, this.domContentLoadedEventFired, this);
}
+ for (const request of Logs.NetworkLog.NetworkLog.instance().requests()) {
+ this.refreshRequest(request);
+ }
}
modelRemoved(networkManager: SDK.NetworkManager.NetworkManager): void {
- if (networkManager.target().parentTarget()?.type() !== SDK.Target.Type.Frame) {
- const resourceTreeModel = networkManager.target().model(SDK.ResourceTreeModel.ResourceTreeModel);
- if (resourceTreeModel) {
- resourceTreeModel.removeEventListener(SDK.ResourceTreeModel.Events.Load, this.loadEventFired, this);
- resourceTreeModel.removeEventListener(
- SDK.ResourceTreeModel.Events.DOMContentLoaded, this.domContentLoadedEventFired, this);
- }
+ const target = networkManager.target();
+ if (target.outermostTarget() !== target) {
+ return;
+ }
+ const resourceTreeModel = target.model(SDK.ResourceTreeModel.ResourceTreeModel);
+ if (resourceTreeModel) {
+ resourceTreeModel.removeEventListener(SDK.ResourceTreeModel.Events.Load, this.loadEventFired, this);
+ resourceTreeModel.removeEventListener(
+ SDK.ResourceTreeModel.Events.DOMContentLoaded, this.domContentLoadedEventFired, this);
+ }
+ const preserveLog = Common.Settings.Settings.instance().moduleSetting('network_log.preserve-log').get();
+ if (!preserveLog) {
+ this.reset();
}
}