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

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: Updated 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..aa09efc970848d43b3811266f9b6c6b5fe22e71e 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() {
@@ -24,7 +25,7 @@ BrowserPlugin* BrowserPluginManagerImpl::CreateBrowserPlugin(
RenderViewImpl* render_view,
WebKit::WebFrame* frame,
const WebKit::WebPluginParams& params) {
- return new BrowserPlugin(browser_plugin_counter_++,
+ return new BrowserPlugin(++browser_plugin_counter_,
render_view,
frame,
params);
@@ -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) {
Charlie Reis 2012/12/14 18:24:02 This feels like a mis-use of the IPC logic. All t
Fady Samuel 2012/12/14 18:47:48 Regardless of the direction we go, BrowserPluginMa
Charlie Reis 2012/12/14 19:16:36 Perhaps the class is still needed.
+ int instance_id = 0;
+ PickleIterator iter(message);
Charlie Reis 2012/12/14 19:16:36 Please document that all messages that we allow he
Fady Samuel 2012/12/14 19:34:08 Done.
+ 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() {
Charlie Reis 2012/12/14 19:16:36 Instead of holding a set, just use a switch statem
Fady Samuel 2012/12/14 19:34:08 I made this a set rather than a static switch stat
Charlie Reis 2012/12/14 19:40:32 That doesn't imply that you need a set at runtime,
+ 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