Index: content/renderer/browser_plugin/browser_plugin_manager.h |
diff --git a/content/renderer/browser_plugin/browser_plugin_manager.h b/content/renderer/browser_plugin/browser_plugin_manager.h |
index 636f6ad2d978923a5e5cf4b253174e1838205263..443416239f88ee61675318eaaad8ac22a73e09c6 100644 |
--- a/content/renderer/browser_plugin/browser_plugin_manager.h |
+++ b/content/renderer/browser_plugin/browser_plugin_manager.h |
@@ -12,8 +12,13 @@ |
#include "content/public/renderer/render_view_observer.h" |
#include "ipc/ipc_sender.h" |
+namespace base { |
+class DictionaryValue; |
+} |
+ |
namespace blink { |
class WebFrame; |
+class WebNode; |
struct WebPluginParams; |
} |
@@ -49,12 +54,21 @@ class CONTENT_EXPORT BrowserPluginManager |
blink::WebFrame* frame, |
bool auto_navigate) = 0; |
+ void Attach(int browser_plugin_instance_id, int guest_instance_id); |
+ |
void AddBrowserPlugin(int guest_instance_id, BrowserPlugin* browser_plugin); |
void RemoveBrowserPlugin(int guest_instance_id); |
BrowserPlugin* GetBrowserPlugin(int guest_instance_id) const; |
+ |
+ void AddBrowserPluginInternal(int browser_plugin_instance_id, |
+ BrowserPlugin* browser_plugin); |
+ void RemoveBrowserPluginInternal(int browser_plugin_instance_id); |
+ BrowserPlugin* GetBrowserPluginInternal(int browser_plugin_instance_id) const; |
+ |
void UpdateDeviceScaleFactor(float device_scale_factor); |
void UpdateFocusState(); |
RenderViewImpl* render_view() const { return render_view_.get(); } |
+ int GetNextInstanceID(); |
// RenderViewObserver implementation. |
@@ -76,7 +90,12 @@ class CONTENT_EXPORT BrowserPluginManager |
virtual ~BrowserPluginManager(); |
// This map is keyed by guest instance IDs. |
- IDMap<BrowserPlugin> instances_; |
+ IDMap<BrowserPlugin> instances_by_guest_id_; |
+ // This map is keyed by browser plugin instance IDs. |
+ // TODO(lazyboy): |instances_| would go away once we can route messages using |
+ // internal IDs. |
+ IDMap<BrowserPlugin> instances_by_browser_plugin_id_; |
+ int next_instance_id_; |
base::WeakPtr<RenderViewImpl> render_view_; |
DISALLOW_COPY_AND_ASSIGN(BrowserPluginManager); |