Index: extensions/browser/guest_view/guest_view_base.cc |
diff --git a/extensions/browser/guest_view/guest_view_base.cc b/extensions/browser/guest_view/guest_view_base.cc |
index 134c3267a8d6e577c5c4cb30e446e81558d2f963..48b9b2512aa7fbda76ecfa3a40e8e49af76f86c3 100644 |
--- a/extensions/browser/guest_view/guest_view_base.cc |
+++ b/extensions/browser/guest_view/guest_view_base.cc |
@@ -146,7 +146,7 @@ GuestViewBase::GuestViewBase(content::WebContents* owner_web_contents) |
: owner_web_contents_(owner_web_contents), |
browser_context_(owner_web_contents->GetBrowserContext()), |
guest_instance_id_( |
- GuestViewManager::FromBrowserContextIfAvailable(browser_context_)-> |
+ GuestViewManager::FromBrowserContext(browser_context_)-> |
GetNextInstanceID()), |
view_instance_id_(guestview::kInstanceIDNone), |
element_instance_id_(guestview::kInstanceIDNone), |
@@ -157,6 +157,9 @@ GuestViewBase::GuestViewBase(content::WebContents* owner_web_contents) |
is_full_page_plugin_(false), |
guest_proxy_routing_id_(MSG_ROUTING_NONE), |
weak_ptr_factory_(this) { |
+ owner_host_ = GuestViewManager::FromBrowserContext(browser_context_)-> |
+ IsOwnedByExtension(this) ? |
+ owner_web_contents->GetLastCommittedURL().host() : std::string(); |
} |
void GuestViewBase::Init(const base::DictionaryValue& create_params, |
@@ -165,8 +168,8 @@ void GuestViewBase::Init(const base::DictionaryValue& create_params, |
return; |
initialized_ = true; |
- if (!GuestViewManager::FromBrowserContextIfAvailable(browser_context_)-> |
- IsGuestAvailableToContext(this, &owner_extension_id_)) { |
+ if (!GuestViewManager::FromBrowserContext(browser_context_)-> |
+ IsGuestAvailableToContext(this)) { |
// The derived class did not create a WebContents so this class serves no |
// purpose. Let's self-destruct. |
delete this; |
@@ -208,7 +211,7 @@ void GuestViewBase::InitWithWebContents( |
guest_web_contents->SetDelegate(this); |
webcontents_guestview_map.Get().insert( |
std::make_pair(guest_web_contents, this)); |
- GuestViewManager::FromBrowserContextIfAvailable(browser_context_)-> |
+ GuestViewManager::FromBrowserContext(browser_context_)-> |
AddGuest(guest_instance_id_, guest_web_contents); |
// Populate the view instance ID if we have it on creation. |
@@ -331,7 +334,7 @@ GuestViewBase* GuestViewBase::From(int owner_process_id, |
return nullptr; |
content::WebContents* guest_web_contents = |
- GuestViewManager::FromBrowserContextIfAvailable( |
+ GuestViewManager::FromBrowserContext( |
host->GetBrowserContext())-> |
GetGuestByInstanceIDSafely(guest_instance_id, owner_process_id); |
if (!guest_web_contents) |
@@ -370,8 +373,7 @@ bool GuestViewBase::ZoomPropagatesFromEmbedderToGuest() const { |
content::WebContents* GuestViewBase::CreateNewGuestWindow( |
const content::WebContents::CreateParams& create_params) { |
- auto guest_manager = |
- GuestViewManager::FromBrowserContextIfAvailable(browser_context()); |
+ auto guest_manager = GuestViewManager::FromBrowserContext(browser_context()); |
return guest_manager->CreateGuestWithWebContentsParams( |
GetViewType(), |
owner_web_contents(), |
@@ -399,8 +401,7 @@ void GuestViewBase::DidAttach(int guest_proxy_routing_id) { |
} |
void GuestViewBase::DidDetach() { |
- GuestViewManager::FromBrowserContextIfAvailable(browser_context_)-> |
- DetachGuest(this); |
+ GuestViewManager::FromBrowserContext(browser_context_)->DetachGuest(this); |
StopTrackingEmbedderZoomLevel(); |
owner_web_contents()->Send(new GuestViewMsg_GuestDetached( |
element_instance_id_)); |
@@ -450,7 +451,7 @@ void GuestViewBase::Destroy() { |
guest_host_ = nullptr; |
webcontents_guestview_map.Get().erase(web_contents()); |
- GuestViewManager::FromBrowserContextIfAvailable(browser_context_)-> |
+ GuestViewManager::FromBrowserContext(browser_context_)-> |
RemoveGuest(guest_instance_id_); |
pending_events_.clear(); |
@@ -488,6 +489,9 @@ void GuestViewBase::WillAttach(content::WebContents* embedder_web_contents, |
owner_web_contents_ = embedder_web_contents; |
owner_contents_observer_.reset( |
new OwnerContentsObserver(this, embedder_web_contents)); |
+ owner_host_ = GuestViewManager::FromBrowserContext(browser_context_)-> |
+ IsOwnedByExtension(this) ? |
+ owner_web_contents()->GetLastCommittedURL().host() : std::string(); |
} |
// Start tracking the new embedder's zoom level. |