Skip to content

Commit 437d04f

Browse files
pfaffeDevtools-frontend LUCI CQ
authored andcommitted
Restore backend settings on reload
Reload does not create fresh targets but triggers a TargetInfoChanged event. We can reconfigure the emulation mode then. Fixed: 417173420 Bug: 40285513 Change-Id: Id16b700dd9b92ed2681fe4f2ef967c35772a4859 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6765583 Reviewed-by: Alex Rudenko <[email protected]> Commit-Queue: Philip Pfaffe <[email protected]>
1 parent a767c19 commit 437d04f

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

front_end/entrypoints/inspector_main/InspectorMain.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,9 @@ export class BackendSettingsSync implements SDK.TargetManager.Observer {
264264

265265
this.#emulatePageFocusSetting = Common.Settings.Settings.instance().moduleSetting('emulate-page-focus');
266266
this.#emulatePageFocusSetting.addChangeListener(this.#update, this);
267+
SDK.TargetManager.TargetManager.instance().addModelListener(
268+
SDK.ChildTargetManager.ChildTargetManager, SDK.ChildTargetManager.Events.TARGET_INFO_CHANGED,
269+
this.#targetInfoChanged, this);
267270

268271
SDK.TargetManager.TargetManager.instance().observeTargets(this);
269272
}
@@ -286,6 +289,15 @@ export class BackendSettingsSync implements SDK.TargetManager.Observer {
286289
}
287290
}
288291

292+
#targetInfoChanged(event: Common.EventTarget.EventTargetEvent<Protocol.Target.TargetInfo>): void {
293+
const targetManager = SDK.TargetManager.TargetManager.instance();
294+
const target = targetManager.targetById(event.data.targetId);
295+
if (!target || target.outermostTarget() !== target) {
296+
return;
297+
}
298+
this.#updateTarget(target);
299+
}
300+
289301
targetAdded(target: SDK.Target.Target): void {
290302
this.#updateTarget(target);
291303
}

0 commit comments

Comments
 (0)