diff options
Diffstat (limited to 'chromium/extensions/browser/guest_view/app_view/app_view_guest.cc')
-rw-r--r-- | chromium/extensions/browser/guest_view/app_view/app_view_guest.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chromium/extensions/browser/guest_view/app_view/app_view_guest.cc b/chromium/extensions/browser/guest_view/app_view/app_view_guest.cc index c4231b943fd..f5b0c34d0ae 100644 --- a/chromium/extensions/browser/guest_view/app_view/app_view_guest.cc +++ b/chromium/extensions/browser/guest_view/app_view/app_view_guest.cc @@ -246,6 +246,12 @@ void AppViewGuest::CompleteCreateWebContents( const Extension* guest_extension, std::unique_ptr<GuestViewBase> owned_this, WebContentsCreatedCallback callback) { + if (!owner_web_contents()) { + // The owner was destroyed before getting a response to the embedding + // request, so we can't proceed with creating a guest. + std::move(callback).Run(std::move(owned_this), nullptr); + return; + } if (!url.is_valid()) { std::move(callback).Run(std::move(owned_this), nullptr); return; |