fix: correctly notify WebViewGuestDelegate when webview is detached (#31350)

This commit is contained in:
Cheng Zhao 2021-10-11 09:33:35 +09:00 committed by GitHub
parent f8e6d45b70
commit 0eb9c4b16d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 2 deletions

View file

@ -939,8 +939,6 @@ WebContents::~WebContents() {
}
inspectable_web_contents_->GetView()->SetDelegate(nullptr);
if (guest_delegate_)
guest_delegate_->WillDestroy();
// This event is only for internal use, which is emitted when WebContents is
// being destroyed.
@ -1957,6 +1955,10 @@ void WebContents::WebContentsDestroyed() {
return;
wrapper->SetAlignedPointerInInternalField(0, nullptr);
// Tell WebViewGuestDelegate that the WebContents has been destroyed.
if (guest_delegate_)
guest_delegate_->WillDestroy();
Observe(nullptr);
Emit("destroyed");
}