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

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 NavigateGuest 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
« no previous file with comments | « extensions/browser/guest_view/guest_view_base.h ('k') | extensions/browser/guest_view/guest_view_event.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « extensions/browser/guest_view/guest_view_base.h ('k') | extensions/browser/guest_view/guest_view_event.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698