fix: try clearing InspectableWebContents delegate earlier (#49406)

fix: try clearing InspectableWebContents delegate earlier
This commit is contained in:
Shelley Vohr
2026-01-16 21:36:34 +01:00
committed by GitHub
parent f149efe32e
commit 5bd2938f6a

View File

@@ -1051,6 +1051,9 @@ void WebContents::InitWithWebContents(
}
WebContents::~WebContents() {
if (inspectable_web_contents_)
inspectable_web_contents_->GetView()->SetDelegate(nullptr);
if (owner_window_) {
owner_window_->RemoveBackgroundThrottlingSource(this);
}
@@ -1065,8 +1068,6 @@ WebContents::~WebContents() {
return;
}
inspectable_web_contents_->GetView()->SetDelegate(nullptr);
// This event is only for internal use, which is emitted when WebContents is
// being destroyed.
Emit("will-destroy");
@@ -2202,8 +2203,8 @@ void WebContents::DevToolsOpened() {
// Inherit owner window in devtools when it doesn't have one.
auto* devtools = inspectable_web_contents_->GetDevToolsWebContents();
bool has_window = devtools->GetUserData(NativeWindowRelay::UserDataKey());
if (owner_window_ && !has_window) {
DCHECK(!owner_window_.WasInvalidated());
if (owner_window() && !has_window) {
CHECK(!owner_window_.WasInvalidated());
DCHECK_EQ(handle->owner_window(), nullptr);
handle->SetOwnerWindow(devtools, owner_window());
}