summaryrefslogtreecommitdiff
path: root/chromium/extensions/browser/guest_view/app_view/app_view_guest.cc
diff options
context:
space:
mode:
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.cc6
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;