| 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..feee40ab6672c7a7b03dc7b476a6584989d183f7 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_;
|
|
|