summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/visitedlink/visitedlink_unittest.cc4
-rw-r--r--content/browser/browser_plugin/browser_plugin_web_contents_observer.cc228
-rw-r--r--content/browser/browser_plugin/browser_plugin_web_contents_observer.h94
-rw-r--r--content/browser/renderer_host/render_view_host_impl.cc10
-rw-r--r--content/browser/renderer_host/render_view_host_impl.h19
-rw-r--r--content/browser/renderer_host/test_render_view_host.cc3
-rw-r--r--content/browser/renderer_host/test_render_view_host.h3
-rw-r--r--content/browser/web_contents/interstitial_page_impl.cc6
-rw-r--r--content/browser/web_contents/test_web_contents.cc2
-rw-r--r--content/browser/web_contents/web_contents_impl.cc10
-rw-r--r--content/browser/web_contents/web_contents_impl.h8
-rw-r--r--content/common/view_messages.h7
-rw-r--r--content/content_browser.gypi2
-rw-r--r--content/renderer/render_thread_impl.cc2
-rw-r--r--content/test/test_renderer_host.h3
15 files changed, 38 insertions, 363 deletions
diff --git a/chrome/browser/visitedlink/visitedlink_unittest.cc b/chrome/browser/visitedlink/visitedlink_unittest.cc
index 89ccf42..f7b1f8e 100644
--- a/chrome/browser/visitedlink/visitedlink_unittest.cc
+++ b/chrome/browser/visitedlink/visitedlink_unittest.cc
@@ -652,7 +652,7 @@ TEST_F(VisitedLinkEventsTest, Coalescense) {
TEST_F(VisitedLinkEventsTest, Basics) {
VisitedLinkMaster* master = profile()->GetVisitedLinkMaster();
- rvh_tester()->CreateRenderView(string16(), MSG_ROUTING_NONE, -1);
+ rvh_tester()->CreateRenderView(string16(), MSG_ROUTING_NONE, -1, -1);
// Add a few URLs.
master->AddURL(GURL("http://acidtests.org/"));
@@ -676,7 +676,7 @@ TEST_F(VisitedLinkEventsTest, Basics) {
TEST_F(VisitedLinkEventsTest, TabVisibility) {
VisitedLinkMaster* master = profile()->GetVisitedLinkMaster();
- rvh_tester()->CreateRenderView(string16(), MSG_ROUTING_NONE, -1);
+ rvh_tester()->CreateRenderView(string16(), MSG_ROUTING_NONE, -1, -1);
// Simulate tab becoming inactive.
rvh_tester()->SimulateWasHidden();
diff --git a/content/browser/browser_plugin/browser_plugin_web_contents_observer.cc b/content/browser/browser_plugin/browser_plugin_web_contents_observer.cc
deleted file mode 100644
index a3565af..0000000
--- a/content/browser/browser_plugin/browser_plugin_web_contents_observer.cc
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/browser_plugin/browser_plugin_web_contents_observer.h"
-
-#include "base/lazy_instance.h"
-#include "content/browser/renderer_host/render_view_host_impl.h"
-#include "content/browser/web_contents/web_contents_impl.h"
-#include "content/common/browser_plugin_messages.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_widget_host.h"
-#include "content/public/browser/render_widget_host_view.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/site_instance.h"
-#include "content/public/browser/web_contents.h"
-#include "ppapi/proxy/ppapi_messages.h"
-
-namespace content {
-
-BrowserPluginWebContentsObserver::BrowserPluginWebContentsObserver(
- WebContentsImpl* web_contents)
- : WebContentsObserver(web_contents),
- host_(NULL),
- instance_id_(0) {
- registrar_.Add(this,
- NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED,
- Source<RenderViewHost>(
- web_contents->GetRenderViewHost()));
-}
-
-BrowserPluginWebContentsObserver::~BrowserPluginWebContentsObserver() {
-}
-
-bool BrowserPluginWebContentsObserver::OnMessageReceived(
- const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(BrowserPluginWebContentsObserver, message)
- IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_ChannelCreated,
- OnRendererPluginChannelCreated)
- IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_OpenChannel,
- OnOpenChannelToBrowserPlugin)
- IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_GuestReady, OnGuestReady)
- IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_ResizeGuest, OnResizeGuest)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-void BrowserPluginWebContentsObserver::OnGuestReady() {
- // We only care about handling this message on guests.
- if (!host())
- return;
-
- // The renderer is now ready to receive ppapi messages.
- // Let's tell it create a channel with the embedder/host.
- BrowserPluginMsg_CreateChannel* msg =
- new BrowserPluginMsg_CreateChannel(
- host()->GetRenderProcessHost()->GetHandle(),
- host()->GetRenderProcessHost()->GetID());
- msg->set_routing_id(web_contents()->GetRenderViewHost()->GetRoutingID());
- // TODO(fsamuel): If we aren't able to successfully send this message
- // to the guest then that probably means it crashed. Is there anything
- // we can do that's cleaner than failing a check?
- CHECK(Send(msg));
-}
-
-void BrowserPluginWebContentsObserver::OnResizeGuest(
- int width, int height) {
- // Tell the RenderWidgetHostView to adjust its size.
- web_contents()->GetRenderViewHost()->GetView()->SetSize(
- gfx::Size(width, height));
-}
-
-void BrowserPluginWebContentsObserver::OnOpenChannelToBrowserPlugin(
- int instance_id,
- long long frame_id,
- const std::string& src,
- const gfx::Size& size) {
- BrowserContext* browser_context =
- web_contents()->GetRenderViewHost()->GetProcess()->GetBrowserContext();
- DCHECK(browser_context);
-
- GURL url(src);
- SiteInstance* site_instance =
- SiteInstance::CreateForURL(
- browser_context, url);
- WebContentsImpl* guest_web_contents =
- static_cast<WebContentsImpl*>(
- WebContents::Create(
- browser_context,
- site_instance,
- MSG_ROUTING_NONE,
- NULL, // base WebContents
- NULL // session storage namespace
- ));
- // TODO(fsamuel): Set the WebContentsDelegate here.
- RenderViewHostImpl* guest_render_view_host =
- static_cast<RenderViewHostImpl*>(
- guest_web_contents->GetRenderViewHost());
-
- // We need to make sure that the RenderViewHost knows that it's
- // hosting a guest RenderView so that it informs the RenderView
- // on a ViewMsg_New. Guest RenderViews will avoid compositing
- // until a guest-to-host channel has been initialized.
- guest_render_view_host->set_guest(true);
-
- guest_web_contents->GetController().LoadURL(
- url,
- Referrer(),
- PAGE_TRANSITION_HOME_PAGE,
- std::string());
-
- guest_render_view_host->GetView()->SetSize(size);
- BrowserPluginWebContentsObserver* guest_observer =
- guest_web_contents->browser_plugin_web_contents_observer();
- guest_observer->set_host(static_cast<WebContentsImpl*>(web_contents()));
- guest_observer->set_instance_id(instance_id);
-
- AddGuest(guest_web_contents, frame_id);
-}
-
-void BrowserPluginWebContentsObserver::OnRendererPluginChannelCreated(
- const IPC::ChannelHandle& channel_handle) {
- DCHECK(host());
- // Prepare the handle to send to the renderer.
- base::ProcessHandle plugin_process =
- web_contents()->GetRenderProcessHost()->GetHandle();
-#if defined(OS_WIN)
- base::ProcessHandle renderer_process =
- host()->GetRenderProcessHost()->GetHandle();
- int renderer_id = host()->GetRenderProcessHost()->GetID();
-
- base::ProcessHandle renderers_plugin_handle = NULL;
- ::DuplicateHandle(::GetCurrentProcess(), plugin_process,
- renderer_process, &renderers_plugin_handle,
- 0, FALSE, DUPLICATE_SAME_ACCESS);
-#elif defined(OS_POSIX)
- // Don't need to duplicate anything on POSIX since it's just a PID.
- base::ProcessHandle renderers_plugin_handle = plugin_process;
-#endif
- // Tell the BrowserPLuginPlaceholder in the host that we're done
- // and that it can begin using the guest renderer.
- host()->GetRenderProcessHost()->Send(
- new BrowserPluginMsg_GuestReady_ACK(
- host()->GetRenderViewHost()->GetRoutingID(),
- instance_id(),
- renderers_plugin_handle,
- channel_handle));
-}
-
-void BrowserPluginWebContentsObserver::AddGuest(WebContentsImpl* guest,
- int64 frame_id) {
- guests_[guest] = frame_id;
-}
-
-void BrowserPluginWebContentsObserver::RemoveGuest(WebContentsImpl* guest) {
- guests_.erase(guest);
-}
-
-void BrowserPluginWebContentsObserver::DestroyGuests() {
- for (GuestMap::const_iterator it = guests_.begin();
- it != guests_.end(); ++it) {
- const WebContentsImpl* web_contents = it->first;
- delete web_contents;
- }
- guests_.clear();
-}
-
-void BrowserPluginWebContentsObserver::DidCommitProvisionalLoadForFrame(
- int64 frame_id,
- bool is_main_frame,
- const GURL& url,
- PageTransition transition_type) {
- typedef std::set<WebContentsImpl*> GuestSet;
- GuestSet guests_to_delete;
- for (GuestMap::const_iterator it = guests_.begin();
- it != guests_.end(); ++it) {
- WebContentsImpl* web_contents = it->first;
- if (it->second == frame_id) {
- guests_to_delete.insert(web_contents);
- }
- }
- for (GuestSet::const_iterator it = guests_to_delete.begin();
- it != guests_to_delete.end(); ++it) {
- delete *it;
- guests_.erase(*it);
- }
-}
-
-void BrowserPluginWebContentsObserver::RenderViewDeleted(
- RenderViewHost* render_view_host) {
- DestroyGuests();
-}
-
-void BrowserPluginWebContentsObserver::RenderViewGone(
- base::TerminationStatus status) {
- DestroyGuests();
-}
-
-void BrowserPluginWebContentsObserver::WebContentsDestroyed(
- WebContents* web_contents) {
- DestroyGuests();
-}
-
-void BrowserPluginWebContentsObserver::Observe(
- int type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- DCHECK(type == NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED);
- bool visible = *Details<bool>(details).ptr();
-
- // If the host is hidden we need to hide the guests as well.
- for (GuestMap::const_iterator it = guests_.begin();
- it != guests_.end(); ++it) {
- WebContentsImpl* web_contents = it->first;
- if (visible)
- web_contents->ShowContents();
- else
- web_contents->HideContents();
- }
-}
-
-} // namespace content
diff --git a/content/browser/browser_plugin/browser_plugin_web_contents_observer.h b/content/browser/browser_plugin/browser_plugin_web_contents_observer.h
deleted file mode 100644
index 99df72b..0000000
--- a/content/browser/browser_plugin/browser_plugin_web_contents_observer.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_WEB_CONTENTS_OBSERVER_H__
-#define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_WEB_CONTENTS_OBSERVER_H__
-#pragma once
-
-#include <map>
-
-#include "content/public/browser/notification_registrar.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/web_contents_observer.h"
-#include "ui/gfx/size.h"
-
-class WebContentsImpl;
-
-namespace content {
-
-class BrowserPluginWebContentsObserver: public WebContentsObserver,
- public NotificationObserver {
- public:
- BrowserPluginWebContentsObserver(WebContentsImpl* web_contents);
-
- virtual ~BrowserPluginWebContentsObserver();
-
- // A Host BrowserPluginWebContentsObserver keeps track of
- // its guests so that if it navigates away, its associated RenderView
- // crashes or it is hidden, it takes appropriate action on the guest.
- void AddGuest(WebContentsImpl* guest, int64 frame_id);
-
- void RemoveGuest(WebContentsImpl* guest);
-
- WebContentsImpl* host() const { return host_; }
-
- void set_host(WebContentsImpl* host) { host_ = host; }
-
- int instance_id() const { return instance_id_; }
-
- void set_instance_id(int instance_id) { instance_id_ = instance_id; }
-
- // WebContentObserver implementation.
-
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
-
- virtual void DidCommitProvisionalLoadForFrame(
- int64 frame_id,
- bool is_main_frame,
- const GURL& url,
- PageTransition transition_type) OVERRIDE;
-
- virtual void RenderViewDeleted(
- RenderViewHost* render_view_host) OVERRIDE;
-
- virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE;
-
- virtual void WebContentsDestroyed(WebContents* web_contents) OVERRIDE;
-
- private:
- typedef std::map<WebContentsImpl*, int64> GuestMap;
-
- void OnOpenChannelToBrowserPlugin(int32 instance_id,
- long long frame_id,
- const std::string& src,
- const gfx::Size& size);
-
- void OnGuestReady();
-
- void OnResizeGuest(int width, int height);
-
- void OnRendererPluginChannelCreated(const IPC::ChannelHandle& handle);
-
- void DestroyGuests();
-
- // NotificationObserver method override.
- virtual void Observe(int type,
- const NotificationSource& source,
- const NotificationDetails& details) OVERRIDE;
-
- // A scoped container for notification registries.
- NotificationRegistrar registrar_;
-
- WebContentsImpl* host_;
-
- // An identifier that uniquely identifies a browser plugin container
- // within a host.
- int instance_id_;
-
- GuestMap guests_;
-};
-
-} // namespace content
-
-#endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_WEB_CONTENTS_OBSERVER_H_
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index aa0c6ac..3cd1076 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -140,7 +140,6 @@ RenderViewHostImpl::RenderViewHostImpl(SiteInstance* instance,
instance_(static_cast<SiteInstanceImpl*>(instance)),
waiting_for_drag_context_response_(false),
enabled_bindings_(0),
- guest_(false),
pending_request_id_(-1),
navigations_suspended_(false),
suspended_nav_message_(NULL),
@@ -205,7 +204,8 @@ content::SiteInstance* RenderViewHostImpl::GetSiteInstance() const {
bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
int opener_route_id,
- int32 max_page_id) {
+ int32 max_page_id,
+ int embedder_process_id) {
DCHECK(!IsRenderViewLive()) << "Creating view twice";
// The process may (if we're sharing a process with another host that already
@@ -254,7 +254,11 @@ bool RenderViewHostImpl::CreateRenderView(const string16& frame_name,
WebKit::WebScreenInfoFactory::screenInfo(
gfx::NativeViewFromId(GetNativeViewId()));
#endif
- params.guest = guest_;
+
+ if (embedder_process_id != -1)
+ params.embedder_channel_name =
+ StringPrintf("%d.r%d", GetProcess()->GetID(), embedder_process_id);
+
params.accessibility_mode =
BrowserAccessibilityState::GetInstance()->IsAccessibleBrowser() ?
AccessibilityModeComplete :
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 63573ba..eb3683b 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -231,13 +231,17 @@ class CONTENT_EXPORT RenderViewHostImpl
// Set up the RenderView child process. Virtual because it is overridden by
// TestRenderViewHost. If the |frame_name| parameter is non-empty, it is used
- // as the name of the new top-level frame. The |opener_route_id| parameter
- // indicates which RenderView created this (MSG_ROUTING_NONE if none). If
- // |max_page_id| is larger than -1, the RenderView is told to start issuing
- // page IDs at |max_page_id| + 1.
+ // as the name of the new top-level frame.
+ // The |opener_route_id| parameter indicates which RenderView created this
+ // (MSG_ROUTING_NONE if none). If |max_page_id| is larger than -1, the
+ // RenderView is told to start issuing page IDs at |max_page_id| + 1.
+ // If this RenderView is a guest, the embedder's process ID is also passed in
+ // so that the RenderView's process can establish a channel with its embedder
+ // if it's not already established.
virtual bool CreateRenderView(const string16& frame_name,
int opener_route_id,
- int32 max_page_id);
+ int32 max_page_id,
+ int embedder_process_id);
base::TerminationStatus render_view_termination_status() const {
return render_view_termination_status_;
@@ -351,8 +355,6 @@ class CONTENT_EXPORT RenderViewHostImpl
sudden_termination_allowed_ = enabled;
}
- void set_guest(bool guest) { guest_ = guest; }
-
// RenderWidgetHost public overrides.
virtual void Shutdown() OVERRIDE;
virtual bool IsRenderView() const OVERRIDE;
@@ -567,9 +569,6 @@ class CONTENT_EXPORT RenderViewHostImpl
// See BindingsPolicy for details.
int enabled_bindings_;
- // Indicates whether or not this RenderViewHost refers to a guest RenderView.
- bool guest_;
-
// The request_id for the pending cross-site request. Set to -1 if
// there is a pending request, but we have not yet started the unload
// for the current page. Set to the request_id value of the pending
diff --git a/content/browser/renderer_host/test_render_view_host.cc b/content/browser/renderer_host/test_render_view_host.cc
index ea5a4ec..6c2e541 100644
--- a/content/browser/renderer_host/test_render_view_host.cc
+++ b/content/browser/renderer_host/test_render_view_host.cc
@@ -232,7 +232,8 @@ TestRenderViewHost::~TestRenderViewHost() {
bool TestRenderViewHost::CreateRenderView(const string16& frame_name,
int opener_route_id,
- int32 max_page_id) {
+ int32 max_page_id,
+ int embedder_process_id) {
DCHECK(!render_view_created_);
render_view_created_ = true;
return true;
diff --git a/content/browser/renderer_host/test_render_view_host.h b/content/browser/renderer_host/test_render_view_host.h
index 7b2024f..4007bc7 100644
--- a/content/browser/renderer_host/test_render_view_host.h
+++ b/content/browser/renderer_host/test_render_view_host.h
@@ -274,7 +274,8 @@ class TestRenderViewHost
virtual bool CreateRenderView(const string16& frame_name,
int opener_route_id,
- int32 max_page_id) OVERRIDE;
+ int32 max_page_id,
+ int embedder_process_id) OVERRIDE;
virtual bool IsRenderViewLive() const OVERRIDE;
private:
diff --git a/content/browser/web_contents/interstitial_page_impl.cc b/content/browser/web_contents/interstitial_page_impl.cc
index bf67736..d9e3102 100644
--- a/content/browser/web_contents/interstitial_page_impl.cc
+++ b/content/browser/web_contents/interstitial_page_impl.cc
@@ -505,8 +505,10 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
int32 max_page_id = web_contents()->
GetMaxPageIDForSiteInstance(render_view_host_->GetSiteInstance());
- render_view_host_->CreateRenderView(string16(), MSG_ROUTING_NONE,
- max_page_id);
+ render_view_host_->CreateRenderView(string16(),
+ MSG_ROUTING_NONE,
+ max_page_id,
+ -1);
view->SetSize(web_contents_view->GetContainerSize());
// Don't show the interstitial until we have navigated to it.
view->Hide();
diff --git a/content/browser/web_contents/test_web_contents.cc b/content/browser/web_contents/test_web_contents.cc
index d0d2951..0af5075 100644
--- a/content/browser/web_contents/test_web_contents.cc
+++ b/content/browser/web_contents/test_web_contents.cc
@@ -90,7 +90,7 @@ bool TestWebContents::CreateRenderViewForRenderManager(
RenderViewHost* render_view_host, int opener_route_id) {
// This will go to a TestRenderViewHost.
static_cast<RenderViewHostImpl*>(
- render_view_host)->CreateRenderView(string16(), opener_route_id, -1);
+ render_view_host)->CreateRenderView(string16(), opener_route_id, -1, -1);
return true;
}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index fb924c8..b19ed13 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -14,7 +14,6 @@
#include "base/string_util.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
-#include "content/browser/browser_plugin/browser_plugin_web_contents_observer.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/debugger/devtools_manager_impl.h"
#include "content/browser/dom_storage/session_storage_namespace_impl.h"
@@ -327,9 +326,6 @@ WebContentsImpl::WebContentsImpl(
java_bridge_dispatcher_host_manager_.reset(
new JavaBridgeDispatcherHostManager(this));
#endif
-
- browser_plugin_web_contents_observer_.reset(
- new content::BrowserPluginWebContentsObserver(this));
}
WebContentsImpl::~WebContentsImpl() {
@@ -2715,8 +2711,10 @@ bool WebContentsImpl::CreateRenderViewForRenderManager(
GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance());
if (!static_cast<RenderViewHostImpl*>(
- render_view_host)->CreateRenderView(string16(), opener_route_id,
- max_page_id)) {
+ render_view_host)->CreateRenderView(string16(),
+ opener_route_id,
+ max_page_id,
+ -1)) {
return false;
}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 969623f..0b9bbf1 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -14,7 +14,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
#include "base/property_bag.h"
-#include "content/browser/browser_plugin/browser_plugin_web_contents_observer.h"
#include "content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h"
#include "content/browser/web_contents/navigation_controller_impl.h"
#include "content/browser/web_contents/render_view_host_manager.h"
@@ -125,11 +124,6 @@ class CONTENT_EXPORT WebContentsImpl
return java_bridge_dispatcher_host_manager_.get();
}
- content::BrowserPluginWebContentsObserver*
- browser_plugin_web_contents_observer() const {
- return browser_plugin_web_contents_observer_.get();
- }
-
// Like GetController from WebContents, but returns the concrete object.
NavigationControllerImpl& GetControllerImpl();
@@ -600,8 +594,6 @@ class CONTENT_EXPORT WebContentsImpl
scoped_ptr<JavaBridgeDispatcherHostManager>
java_bridge_dispatcher_host_manager_;
- scoped_ptr<content::BrowserPluginWebContentsObserver>
- browser_plugin_web_contents_observer_;
// SavePackage, lazily created.
scoped_refptr<SavePackage> save_package_;
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 3ff1849..9e64f05 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -668,9 +668,10 @@ IPC_STRUCT_BEGIN(ViewMsg_New_Params)
// The properties of the screen associated with the view.
IPC_STRUCT_MEMBER(WebKit::WebScreenInfo, screen_info)
- // Indicates whether this newly created RenderView will be hosted by another
- // RenderView.
- IPC_STRUCT_MEMBER(bool, guest)
+ // The name of the channel with which a guest talks to its embedder.
+ // If this newly created RenderView has no embedder this string will be
+ // empty.
+ IPC_STRUCT_MEMBER(std::string, embedder_channel_name)
// The accessibility mode of the renderer.
IPC_STRUCT_MEMBER(AccessibilityMode, accessibility_mode)
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 1d0a45d..44f0b86 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -205,8 +205,6 @@
'browser/browser_main_loop.cc',
'browser/browser_main_loop.h',
'browser/browser_main_runner.cc',
- 'browser/browser_plugin/browser_plugin_web_contents_observer.cc',
- 'browser/browser_plugin/browser_plugin_web_contents_observer.h',
'browser/browser_process_sub_thread.cc',
'browser/browser_process_sub_thread.h',
'browser/browser_thread_impl.cc',
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 77dd4af..dae9cd0 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -875,7 +875,7 @@ void RenderThreadImpl::OnCreateNewView(const ViewMsg_New_Params& params) {
params.swapped_out,
params.next_page_id,
params.screen_info,
- params.guest,
+ false,
params.accessibility_mode);
}
diff --git a/content/test/test_renderer_host.h b/content/test/test_renderer_host.h
index 367fbea..9e47ef9 100644
--- a/content/test/test_renderer_host.h
+++ b/content/test/test_renderer_host.h
@@ -67,7 +67,8 @@ class RenderViewHostTester {
// Gives tests access to RenderViewHostImpl::CreateRenderView.
virtual bool CreateRenderView(const string16& frame_name,
int opener_route_id,
- int32 max_page_id) = 0;
+ int32 max_page_id,
+ int embedder_process_id) = 0;
// Calls OnMsgNavigate on the RenderViewHost with the given information,
// setting the rest of the parameters in the message to the "typical" values.