diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-24 06:19:28 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-24 06:19:28 +0000 |
commit | a95986a837fc86e079b5c6dac357636478b50092 (patch) | |
tree | 66a32009250791e64741216cdd6c21ecf1ff7f86 /chrome/service | |
parent | 125a7ba65ad10ace9edcf36d6943ce9ae2bdc1d6 (diff) | |
download | chromium_src-a95986a837fc86e079b5c6dac357636478b50092.zip chromium_src-a95986a837fc86e079b5c6dac357636478b50092.tar.gz chromium_src-a95986a837fc86e079b5c6dac357636478b50092.tar.bz2 |
Make IPC::Channel::Listener:OnMessageReceived have a return value indicating whether a message was processed or not.
TBR=brettw
Review URL: http://codereview.chromium.org/5978003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70139 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service')
-rw-r--r-- | chrome/service/service_ipc_server.cc | 5 | ||||
-rw-r--r-- | chrome/service/service_ipc_server.h | 2 | ||||
-rw-r--r-- | chrome/service/service_utility_process_host.cc | 8 | ||||
-rw-r--r-- | chrome/service/service_utility_process_host.h | 4 |
4 files changed, 13 insertions, 6 deletions
diff --git a/chrome/service/service_ipc_server.cc b/chrome/service/service_ipc_server.cc index c7280c3..aa4d8ec 100644 --- a/chrome/service/service_ipc_server.cc +++ b/chrome/service/service_ipc_server.cc @@ -77,7 +77,8 @@ bool ServiceIPCServer::Send(IPC::Message* msg) { return channel_->Send(msg); } -void ServiceIPCServer::OnMessageReceived(const IPC::Message& msg) { +bool ServiceIPCServer::OnMessageReceived(const IPC::Message& msg) { + bool handled = true; IPC_BEGIN_MESSAGE_MAP(ServiceIPCServer, msg) IPC_MESSAGE_HANDLER(ServiceMsg_EnableCloudPrintProxy, OnEnableCloudPrintProxy) @@ -100,7 +101,9 @@ void ServiceIPCServer::OnMessageReceived(const IPC::Message& msg) { IPC_MESSAGE_HANDLER(ServiceMsg_Hello, OnHello); IPC_MESSAGE_HANDLER(ServiceMsg_Shutdown, OnShutdown); IPC_MESSAGE_HANDLER(ServiceMsg_UpdateAvailable, OnUpdateAvailable); + IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP() + return handled; } void ServiceIPCServer::OnEnableCloudPrintProxy(const std::string& lsid) { diff --git a/chrome/service/service_ipc_server.h b/chrome/service/service_ipc_server.h index af19f7b..bff4f45 100644 --- a/chrome/service/service_ipc_server.h +++ b/chrome/service/service_ipc_server.h @@ -35,7 +35,7 @@ class ServiceIPCServer : public IPC::Channel::Listener, private: // IPC::Channel::Listener implementation: - virtual void OnMessageReceived(const IPC::Message& msg); + virtual bool OnMessageReceived(const IPC::Message& msg); virtual void OnChannelConnected(int32 peer_pid); virtual void OnChannelError(); diff --git a/chrome/service/service_utility_process_host.cc b/chrome/service/service_utility_process_host.cc index d6b4dbe..859e725 100644 --- a/chrome/service/service_utility_process_host.cc +++ b/chrome/service/service_utility_process_host.cc @@ -128,7 +128,7 @@ void ServiceUtilityProcessHost::OnChildDied() { ServiceChildProcessHost::OnChildDied(); } -void ServiceUtilityProcessHost::OnMessageReceived(const IPC::Message& message) { +bool ServiceUtilityProcessHost::OnMessageReceived(const IPC::Message& message) { bool msg_is_ok = false; IPC_BEGIN_MESSAGE_MAP_EX(ServiceUtilityProcessHost, message, msg_is_ok) #if defined(OS_WIN) // This hack is Windows-specific. @@ -138,6 +138,7 @@ void ServiceUtilityProcessHost::OnMessageReceived(const IPC::Message& message) { OnRenderPDFPagesToMetafileSucceeded) IPC_MESSAGE_UNHANDLED(msg_is_ok__ = MessageForClient(message)) IPC_END_MESSAGE_MAP_EX() + return true; } bool ServiceUtilityProcessHost::MessageForClient(const IPC::Message& message) { @@ -172,8 +173,9 @@ void ServiceUtilityProcessHost::OnRenderPDFPagesToMetafileSucceeded( waiting_for_reply_ = false; } -void ServiceUtilityProcessHost::Client::OnMessageReceived( +bool ServiceUtilityProcessHost::Client::OnMessageReceived( const IPC::Message& message) { + bool handled = true; IPC_BEGIN_MESSAGE_MAP(ServiceUtilityProcessHost, message) IPC_MESSAGE_HANDLER(UtilityHostMsg_RenderPDFPagesToMetafile_Failed, Client::OnRenderPDFPagesToMetafileFailed) @@ -181,7 +183,9 @@ void ServiceUtilityProcessHost::Client::OnMessageReceived( Client::OnGetPrinterCapsAndDefaultsSucceeded) IPC_MESSAGE_HANDLER(UtilityHostMsg_GetPrinterCapsAndDefaults_Failed, Client::OnGetPrinterCapsAndDefaultsFailed) + IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP_EX() + return handled; } void ServiceUtilityProcessHost::Client::MetafileAvailable( diff --git a/chrome/service/service_utility_process_host.h b/chrome/service/service_utility_process_host.h index 54e039c..b770e1a 100644 --- a/chrome/service/service_utility_process_host.h +++ b/chrome/service/service_utility_process_host.h @@ -80,7 +80,7 @@ class ServiceUtilityProcessHost : public ServiceChildProcessHost { friend class base::RefCountedThreadSafe<Client>; friend class ServiceUtilityProcessHost; - void OnMessageReceived(const IPC::Message& message); + bool OnMessageReceived(const IPC::Message& message); // Invoked when a metafile file is ready. void MetafileAvailable(const FilePath& metafile_path, int highest_rendered_page_number); @@ -122,7 +122,7 @@ class ServiceUtilityProcessHost : public ServiceChildProcessHost { bool StartProcess(bool no_sandbox, const FilePath& exposed_dir); // IPC messages: - virtual void OnMessageReceived(const IPC::Message& message); + virtual bool OnMessageReceived(const IPC::Message& message); // Called when at least one page in the specified PDF has been rendered // successfully into metafile_path_; void OnRenderPDFPagesToMetafileSucceeded(int highest_rendered_page_number); |