Chromium Code Reviews| 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 18645b5ab16c6f58afdce6d612530aaeff5aae0d..8d7de499b78d850fb0173b993339e0a6ea3ec36e 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 BrowserPluginEmbedder; |
| +class BrowserPluginGuest; |
| class ColorChooser; |
| class DownloadItem; |
| class JavaScriptDialogCreator; |
| @@ -89,6 +91,11 @@ class CONTENT_EXPORT WebContentsImpl |
| const WebContentsImpl* base_web_contents, |
| WebContentsImpl* opener); |
| + // Creates a WebContents to be used as a browser plugin guest. |
| + static WebContentsImpl* CreateGuest(content::BrowserContext* browser_context, |
| + const std::string& host, |
| + int guest_instance_id); |
| + |
| // Returns the content specific prefs for the given RVH. |
| static webkit_glue::WebPreferences GetWebkitPrefs( |
| content::RenderViewHost* rvh, const GURL& url); |
| @@ -162,6 +169,13 @@ class CONTENT_EXPORT WebContentsImpl |
| // Expose the render manager for testing. |
| RenderViewHostManager* GetRenderManagerForTesting(); |
| + // Returns guest browser plugin object, or NULL if this WebContents is not a |
| + // guest. |
| + content::BrowserPluginGuest* GetBrowserPluginGuest(); |
| + // Returns embedder browser plugin object, or NULL if this WebContents is not |
| + // an embedder. |
| + content::BrowserPluginEmbedder* GetBrowserPluginEmbedder(); |
| + |
| // content::WebContents ------------------------------------------------------ |
| virtual content::WebContentsDelegate* GetDelegate() OVERRIDE; |
| virtual void SetDelegate(content::WebContentsDelegate* delegate) OVERRIDE; |
| @@ -552,6 +566,10 @@ class CONTENT_EXPORT WebContentsImpl |
| void OnRequestPpapiBrokerPermission(int request_id, |
| const GURL& url, |
| const FilePath& plugin_path); |
| + void OnBrowserPluginNavigateGuest(int instance_id, |
| + int64 frame_id, |
| + const std::string& src, |
| + const gfx::Size& size); |
| // Changes the IsLoading state and notifies delegate as needed |
| // |details| is used to provide details on the load that just finished |
| @@ -657,6 +675,10 @@ class CONTENT_EXPORT WebContentsImpl |
| std::string* embedder_channel_name, |
| int* embedder_container_id); |
| + // Removes browser plugin embedder if there is one and its associated |
| + // RenderViewHost has been swapped out. |
| + void RemoveSwappedOutBrowserPluginEmbedder(); |
|
Charlie Reis
2012/09/13 22:46:25
Let's remove "SwappedOut" from the name, since we
lazyboy
2012/09/14 19:17:30
Done.
|
| + |
| // Data for core operation --------------------------------------------------- |
| // Delegate for notifying our owner about stuff. Not owned by us. |
| @@ -704,7 +726,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_; |
| @@ -823,6 +845,13 @@ class CONTENT_EXPORT WebContentsImpl |
| // Color chooser that was opened by this tab. |
| content::ColorChooser* color_chooser_; |
| + // Manages the embedder state for browser plugins, if this WebContents is an |
| + // embedder; NULL otherwise. |
| + scoped_ptr<content::BrowserPluginEmbedder> browser_plugin_embedder_; |
| + // Manages the guest state for browser plugin, if this WebContents is a guest; |
| + // NULL otherwise. |
| + scoped_ptr<content::BrowserPluginGuest> browser_plugin_guest_; |
| + |
| // This must be at the end, or else we might get notifications and use other |
| // member variables that are gone. |
| content::NotificationRegistrar registrar_; |