Index: content/browser/browser_plugin/browser_plugin_guest.cc |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc |
index 169e420be28d03152fcb646240f07444bd28720b..a9ccbca33dbb15abea7332604b68e85aa36f12cc 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.cc |
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
@@ -10,7 +10,6 @@ |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "content/browser/browser_plugin/browser_plugin_embedder.h" |
-#include "content/browser/browser_plugin/browser_plugin_guest_manager.h" |
#include "content/browser/browser_plugin/browser_plugin_host_factory.h" |
#include "content/browser/browser_thread_impl.h" |
#include "content/browser/child_process_security_policy_impl.h" |
@@ -30,6 +29,7 @@ |
#include "content/common/input_messages.h" |
#include "content/common/view_messages.h" |
#include "content/public/browser/browser_context.h" |
+#include "content/public/browser/browser_plugin_guest_manager_delegate.h" |
#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/navigation_controller.h" |
#include "content/public/browser/render_widget_host_view.h" |
@@ -111,12 +111,16 @@ class BrowserPluginGuest::NewWindowRequest : public PermissionRequest { |
virtual ~NewWindowRequest() {} |
void RespondInternal(bool should_allow, |
- BrowserPluginGuest* guest) { |
- if (!guest) { |
+ WebContents* guest_web_contents) { |
+ if (!guest_web_contents) { |
VLOG(0) << "Guest not found. Instance ID: " << instance_id_; |
return; |
} |
+ BrowserPluginGuest* guest = |
+ static_cast<WebContentsImpl*>(guest_web_contents)-> |
+ GetBrowserPluginGuest(); |
+ DCHECK(guest); |
// If we do not destroy the guest then we allow the new window. |
if (!should_allow) |
guest->Destroy(); |
@@ -306,7 +310,8 @@ void BrowserPluginGuest::RequestPermission( |
BrowserPluginGuest* BrowserPluginGuest::CreateNewGuestWindow( |
const OpenURLParams& params) { |
- BrowserPluginGuestManager* guest_manager = GetBrowserPluginGuestManager(); |
+ BrowserPluginGuestManagerDelegate* guest_manager = |
+ GetBrowserPluginGuestManager(); |
// Allocate a new instance ID for the new guest. |
int instance_id = guest_manager->GetNextInstanceID(); |
@@ -323,12 +328,15 @@ BrowserPluginGuest* BrowserPluginGuest::CreateNewGuestWindow( |
const std::string& storage_partition_id = site_url.query(); |
bool persist_storage = |
site_url.path().find("persist") != std::string::npos; |
- BrowserPluginGuest* new_guest = |
+ WebContents* new_guest_web_contents = |
guest_manager->CreateGuest(GetWebContents()->GetSiteInstance(), |
instance_id, |
storage_partition_id, |
persist_storage, |
extra_params.Pass()); |
+ BrowserPluginGuest* new_guest = |
+ static_cast<WebContentsImpl*>(new_guest_web_contents)-> |
+ GetBrowserPluginGuest(); |
if (new_guest->delegate_) |
new_guest->delegate_->SetOpener(GetWebContents()); |
@@ -574,10 +582,9 @@ void BrowserPluginGuest::CopyFromCompositingSurface( |
copy_request_id_, src_subrect, dst_size)); |
} |
-BrowserPluginGuestManager* |
+BrowserPluginGuestManagerDelegate* |
BrowserPluginGuest::GetBrowserPluginGuestManager() const { |
- return BrowserPluginGuestManager::FromBrowserContext( |
- GetWebContents()->GetBrowserContext()); |
+ return GetWebContents()->GetBrowserContext()->GetGuestManagerDelegate(); |
} |
// screen. |