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

Unified Diff: content/browser/web_contents/web_contents_impl.h

Issue 10868012: Browser Plugin: New Implementation (Browser Side) (Closed) Base URL: http://git.chromium.org/chromium/src.git@master-trial-obrowser
Patch Set: Fixed tests. Also fixed a case where UpdateRect was being sent from bp renderer before NavigateGues… Created 8 years, 4 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: content/browser/web_contents/web_contents_impl.h
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index ac27895ee08215ea29dbfea498c1771beee607b6..798d6cd1db800c5709820a7429cf737473e7640e 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -39,6 +39,8 @@ class WebContentsImpl;
struct ViewMsg_PostMessage_Params;
namespace content {
+class BrowserPluginHostEmbedderRole;
+class BrowserPluginHostGuestRole;
class ColorChooser;
class DownloadItem;
class JavaScriptDialogCreator;
@@ -152,6 +154,15 @@ class CONTENT_EXPORT WebContentsImpl
// Expose the render manager for testing.
RenderViewHostManager* GetRenderManagerForTesting();
+ // Adds browser plugin 'guest' role to this class.
+ content::BrowserPluginHostGuestRole* AddGuestRole(
+ int instance_id,
+ content::RenderProcessHost* render_process_host);
+ // Exposes guest/embedder role so browser plugin delegates are accessible from
rjkroege 2012/08/22 21:57:38 It's worth noting that having these indicates that
lazyboy 2012/08/23 00:45:22 Done.
+ // a WebContents instance.
+ content::BrowserPluginHostGuestRole* GetGuestRole();
+ content::BrowserPluginHostEmbedderRole* GetEmbedderRole();
+
// content::WebContents ------------------------------------------------------
virtual const base::PropertyBag* GetPropertyBag() const OVERRIDE;
virtual base::PropertyBag* GetPropertyBag() OVERRIDE;
@@ -519,6 +530,10 @@ class CONTENT_EXPORT WebContentsImpl
void OnWebUISend(const GURL& source_url,
const std::string& name,
const base::ListValue& args);
+ void OnBrowserPluginNavigateGuest(int instance_id,
+ int64 frame_id,
+ std::string src,
+ gfx::Size size);
// Changes the IsLoading state and notifies delegate as needed
// |details| is used to provide details on the load that just finished
@@ -675,7 +690,7 @@ class CONTENT_EXPORT WebContentsImpl
java_bridge_dispatcher_host_manager_;
// TODO(fsamuel): Remove this once upstreaming of the new browser plugin
- // implmentation is complete.
+ // implementation is complete.
// Manages the browser plugin instances hosted by this WebContents.
scoped_ptr<content::old::BrowserPluginHost> old_browser_plugin_host_;
@@ -794,6 +809,10 @@ class CONTENT_EXPORT WebContentsImpl
// Color chooser that was opened by this tab.
content::ColorChooser* color_chooser_;
+ // Roles for WebContents to act as guest and/or embedder.
+ scoped_ptr<content::BrowserPluginHostEmbedderRole> embedder_role_;
+ scoped_ptr<content::BrowserPluginHostGuestRole> guest_role_;
+
// This must be at the end, or else we might get notifications and use other
// member variables that are gone.
content::NotificationRegistrar registrar_;

Powered by Google App Engine
This is Rietveld 408576698