Index: extensions/browser/guest_view/web_view/web_view_guest.cc |
diff --git a/extensions/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc |
index 36418980eadde3a8fa1d9fd78e76eafe7215b33b..218de7485e1a954126a0917624ff287fb4878c7a 100644 |
--- a/extensions/browser/guest_view/web_view/web_view_guest.cc |
+++ b/extensions/browser/guest_view/web_view/web_view_guest.cc |
@@ -1122,8 +1122,16 @@ content::WebContents* WebViewGuest::OpenURLFromTab( |
return source; |
} |
- CreateNewGuestWebViewWindow(params); |
- return nullptr; |
+ // Chrome Apps expect a newwindow event in response to Ctrl+Click. |
+ if (in_extension()) { |
+ CreateNewGuestWebViewWindow(params); |
+ return nullptr; |
+ } |
+ |
+ if (!owner_web_contents()->GetDelegate()) |
+ return nullptr; |
+ return owner_web_contents()->GetDelegate()->OpenURLFromTab( |
+ owner_web_contents(), params); |
} |
void WebViewGuest::WebContentsCreated(WebContents* source_contents, |