Index: content/renderer/browser_plugin/browser_plugin_manager.cc |
diff --git a/content/renderer/browser_plugin/browser_plugin_manager.cc b/content/renderer/browser_plugin/browser_plugin_manager.cc |
index 03120d82f7889fc70dd1dd958f89e788cdc2ace1..77cd1af964e168ec5cce8266f16ba2502d8c919e 100644 |
--- a/content/renderer/browser_plugin/browser_plugin_manager.cc |
+++ b/content/renderer/browser_plugin/browser_plugin_manager.cc |
@@ -5,7 +5,9 @@ |
#include "content/renderer/browser_plugin/browser_plugin_manager.h" |
#include "base/lazy_instance.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/threading/thread_local.h" |
+#include "base/values.h" |
#include "content/public/renderer/render_thread.h" |
#include "content/renderer/browser_plugin/browser_plugin.h" |
#include "content/renderer/browser_plugin/browser_plugin_manager_factory.h" |
@@ -25,6 +27,8 @@ BrowserPluginManager* BrowserPluginManager::Create( |
BrowserPluginManager::BrowserPluginManager(RenderViewImpl* render_view) |
: RenderViewObserver(render_view), |
+ // TODO(lazyboy): 10 is for testing only, change it to 1. |
+ next_instance_id_(10), |
render_view_(render_view->AsWeakPtr()) { |
} |
@@ -46,6 +50,26 @@ BrowserPlugin* BrowserPluginManager::GetBrowserPlugin( |
return instances_.Lookup(guest_instance_id); |
} |
+void BrowserPluginManager::AddBrowserPluginInternal( |
+ int browser_plugin_instance_id, |
+ BrowserPlugin* browser_plugin) { |
+ instances_internal_.AddWithID(browser_plugin, browser_plugin_instance_id); |
+} |
+ |
+void BrowserPluginManager::RemoveBrowserPluginInternal( |
+ int browser_plugin_instance_id) { |
+ instances_internal_.Remove(browser_plugin_instance_id); |
+} |
+ |
+BrowserPlugin* BrowserPluginManager::GetBrowserPluginInternal( |
+ int browser_plugin_instance_id) const { |
+ return instances_internal_.Lookup(browser_plugin_instance_id); |
+} |
+ |
+int BrowserPluginManager::GetNextInstanceID() { |
+ return next_instance_id_++; |
+} |
+ |
void BrowserPluginManager::UpdateDeviceScaleFactor(float device_scale_factor) { |
IDMap<BrowserPlugin>::iterator iter(&instances_); |
while (!iter.IsAtEnd()) { |
@@ -62,4 +86,11 @@ void BrowserPluginManager::UpdateFocusState() { |
} |
} |
+void BrowserPluginManager::AttachToBrowserPlugin( |
+ blink::WebNode& browser_plugin) { |
+ BrowserPlugin* plugin = BrowserPlugin::FromNode(browser_plugin); |
+ if (plugin) |
+ plugin->Attach(); |
+} |
+ |
} // namespace content |