Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Unified Diff: extensions/browser/guest_view/guest_view_base.cc

Issue 1066563006: GuestView: Move GuestViewManager extension dependencies to ExtensionsGuestViewManagerDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@extensions_guest_view_message_filter
Patch Set: Fixed tests Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..5a7cde60c8936602cbb555c265d228b55d7cb161 100644
--- a/extensions/browser/guest_view/guest_view_base.cc
+++ b/extensions/browser/guest_view/guest_view_base.cc
@@ -144,9 +144,10 @@ class GuestViewBase::OpenerLifetimeObserver : public WebContentsObserver {
GuestViewBase::GuestViewBase(content::WebContents* owner_web_contents)
: owner_web_contents_(owner_web_contents),
+ owner_host_(owner_web_contents->GetLastCommittedURL().host()),
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),
@@ -165,8 +166,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 +209,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 +332,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 +371,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 +399,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 +449,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 +487,7 @@ 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_ = owner_web_contents_->GetLastCommittedURL().host();
}
// Start tracking the new embedder's zoom level.

Powered by Google App Engine
This is Rietveld 408576698