summaryrefslogtreecommitdiffstats
path: root/chrome/service
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-24 06:19:28 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-24 06:19:28 +0000
commita95986a837fc86e079b5c6dac357636478b50092 (patch)
tree66a32009250791e64741216cdd6c21ecf1ff7f86 /chrome/service
parent125a7ba65ad10ace9edcf36d6943ce9ae2bdc1d6 (diff)
downloadchromium_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.cc5
-rw-r--r--chrome/service/service_ipc_server.h2
-rw-r--r--chrome/service/service_utility_process_host.cc8
-rw-r--r--chrome/service/service_utility_process_host.h4
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);