Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Unified Diff: content/renderer/browser_plugin/browser_plugin_manager_impl.cc

Issue 11565024: Browser Plugin: Reduce code repetition in BrowserPluginManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/browser_plugin/browser_plugin_manager_impl.cc
diff --git a/content/renderer/browser_plugin/browser_plugin_manager_impl.cc b/content/renderer/browser_plugin/browser_plugin_manager_impl.cc
index a9d9e4598d27fa40b7d865ffb5c0d50f6aef75ee..5e6fddf1f2e113a890b839807e9a75734584f20f 100644
--- a/content/renderer/browser_plugin/browser_plugin_manager_impl.cc
+++ b/content/renderer/browser_plugin/browser_plugin_manager_impl.cc
@@ -15,6 +15,7 @@ namespace content {
BrowserPluginManagerImpl::BrowserPluginManagerImpl(
RenderViewImpl* render_view)
: BrowserPluginManager(render_view) {
+ RegisterBrowserPluginMessages();
}
BrowserPluginManagerImpl::~BrowserPluginManagerImpl() {
@@ -36,25 +37,20 @@ bool BrowserPluginManagerImpl::Send(IPC::Message* msg) {
bool BrowserPluginManagerImpl::OnMessageReceived(
const IPC::Message& message) {
+ if (browser_plugin_messages_.count(message.type()) > 0) {
+ int instance_id = 0;
+ PickleIterator iter(message);
+ bool success = iter.ReadInt(&instance_id);
+ DCHECK(success);
+ BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
+ if (plugin && plugin->OnMessageReceived(message))
+ return true;
+ }
+
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(BrowserPluginManagerImpl, message)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_UpdateRect, OnUpdateRect)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestGone, OnGuestGone)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_AdvanceFocus, OnAdvanceFocus)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestContentWindowReady,
- OnGuestContentWindowReady)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_ShouldAcceptTouchEvents,
- OnShouldAcceptTouchEvents)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadStart, OnLoadStart)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadAbort, OnLoadAbort)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadRedirect, OnLoadRedirect)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadCommit, OnLoadCommit)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadStop, OnLoadStop)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_SetCursor, OnSetCursor)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_PluginAtPositionRequest,
OnPluginAtPositionRequest);
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestUnresponsive, OnGuestUnresponsive)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestResponsive, OnGuestResponsive)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -88,101 +84,20 @@ void BrowserPluginManagerImpl::OnPluginAtPositionRequest(
local_position));
}
-void BrowserPluginManagerImpl::OnUpdateRect(
- int instance_id,
- int message_id,
- const BrowserPluginMsg_UpdateRect_Params& params) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->UpdateRect(message_id, params);
-}
-
-void BrowserPluginManagerImpl::OnGuestGone(int instance_id,
- int process_id,
- int status) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->GuestGone(process_id, static_cast<base::TerminationStatus>(status));
+void BrowserPluginManagerImpl::RegisterBrowserPluginMessages() {
+ browser_plugin_messages_.insert(BrowserPluginMsg_UpdateRect::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_GuestGone::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_AdvanceFocus::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_GuestContentWindowReady::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_ShouldAcceptTouchEvents::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_LoadStart::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_LoadAbort::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_LoadRedirect::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_LoadCommit::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_LoadStop::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_SetCursor::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_GuestUnresponsive::ID);
+ browser_plugin_messages_.insert(BrowserPluginMsg_GuestResponsive::ID);
}
-void BrowserPluginManagerImpl::OnAdvanceFocus(int instance_id, bool reverse) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->AdvanceFocus(reverse);
-}
-
-void BrowserPluginManagerImpl::OnGuestContentWindowReady(int instance_id,
- int guest_routing_id) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->GuestContentWindowReady(guest_routing_id);
-}
-
-void BrowserPluginManagerImpl::OnShouldAcceptTouchEvents(int instance_id,
- bool accept) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->SetAcceptTouchEvents(accept);
-}
-
-void BrowserPluginManagerImpl::OnLoadStart(int instance_id,
- const GURL& url,
- bool is_top_level) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->LoadStart(url, is_top_level);
-}
-
-void BrowserPluginManagerImpl::OnLoadCommit(
- int instance_id,
- const BrowserPluginMsg_LoadCommit_Params& params) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->LoadCommit(params);
-}
-
-void BrowserPluginManagerImpl::OnLoadStop(int instance_id) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->LoadStop();
-}
-
-void BrowserPluginManagerImpl::OnLoadAbort(int instance_id,
- const GURL& url,
- bool is_top_level,
- const std::string& type) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->LoadAbort(url, is_top_level, type);
-}
-
-void BrowserPluginManagerImpl::OnLoadRedirect(int instance_id,
- const GURL& old_url,
- const GURL& new_url,
- bool is_top_level) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->LoadRedirect(old_url, new_url, is_top_level);
-}
-
-void BrowserPluginManagerImpl::OnSetCursor(int instance_id,
- const WebCursor& cursor) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->SetCursor(cursor);
-}
-
-void BrowserPluginManagerImpl::OnGuestUnresponsive(int instance_id,
- int process_id) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->GuestUnresponsive(process_id);
-}
-
-void BrowserPluginManagerImpl::OnGuestResponsive(int instance_id,
- int process_id) {
- BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
- if (plugin)
- plugin->GuestResponsive(process_id);
-}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698