Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index 62c5d04e5bb5b9c5364fb770da430661aa39fbbb..0b80d9e795188d903516c8e08eb7fa2a8ff9702e 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -44,6 +44,7 @@ |
#include "chrome/browser/guest_view/ad_view/ad_view_guest.h" |
#include "chrome/browser/guest_view/guest_view_base.h" |
#include "chrome/browser/guest_view/guest_view_constants.h" |
+#include "chrome/browser/guest_view/guest_view_manager.h" |
#include "chrome/browser/guest_view/web_view/web_view_guest.h" |
#include "chrome/browser/media/cast_transport_host_filter.h" |
#include "chrome/browser/media/media_capture_devices_dispatcher.h" |
@@ -813,6 +814,12 @@ content::WebContentsViewDelegate* |
return chrome::CreateWebContentsViewDelegate(web_contents); |
} |
+content::BrowserPluginGuestManagerDelegate* |
+ ChromeContentBrowserClient::GetGuestManagerDelegate( |
+ content::BrowserContext* context) { |
+ return GuestViewManager::FromBrowserContext(context); |
+} |
+ |
void ChromeContentBrowserClient::GuestWebContentsCreated( |
SiteInstance* guest_site_instance, |
WebContents* guest_web_contents, |
@@ -853,7 +860,10 @@ void ChromeContentBrowserClient::GuestWebContentsCreated( |
// Create a new GuestViewBase of the same type as the opener. |
*guest_delegate = GuestViewBase::Create( |
- guest_web_contents, extension_id, guest->GetViewType()); |
+ guest_web_contents, |
+ extension_id, |
+ guest->GetViewType(), |
+ guest->AsWeakPtr()); |
return; |
} |
@@ -868,7 +878,10 @@ void ChromeContentBrowserClient::GuestWebContentsCreated( |
return; |
*guest_delegate = |
- GuestViewBase::Create(guest_web_contents, extension_id, api_type); |
+ GuestViewBase::Create(guest_web_contents, |
+ extension_id, |
+ api_type, |
+ base::WeakPtr<GuestViewBase>()); |
} |
void ChromeContentBrowserClient::GuestWebContentsAttached( |