diff options
Diffstat (limited to 'content/browser/web_contents/web_contents_impl.h')
-rw-r--r-- | content/browser/web_contents/web_contents_impl.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index 2fda9db..2dcbfd2 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,9 @@ class CONTENT_EXPORT WebContentsImpl std::string* embedder_channel_name, int* embedder_container_id); + // Removes browser plugin embedder if there is one. + void RemoveBrowserPluginEmbedder(); + // Data for core operation --------------------------------------------------- // Delegate for notifying our owner about stuff. Not owned by us. @@ -704,7 +725,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 +844,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_; |