| Index: ipc/ipc_message_macros.h
|
| diff --git a/ipc/ipc_message_macros.h b/ipc/ipc_message_macros.h
|
| index 38f428e90aaa185f59cefe4fee46d9a5ed6546f4..237c4e2c56db0237f775a648bce9070cbe448341 100644
|
| --- a/ipc/ipc_message_macros.h
|
| +++ b/ipc/ipc_message_macros.h
|
| @@ -180,6 +180,9 @@
|
| // Use the IPC_MESSAGE_HANDLER_DELAY_REPLY macro instead of IPC_MESSAGE_HANDLER
|
| // IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_SyncMessageName,
|
| // OnSyncMessageName)
|
| +// Unlike IPC_MESSAGE_HANDLER which works with IPC_BEGIN_MESSAGE_MAP as well as
|
| +// IPC_BEGIN_MESSAGE_MAP_WITH_PARAM, one needs to use
|
| +// IPC_MESSAGE_HANDLER_WITH_PARAM_DELAY_REPLY to properly handle the param.
|
| //
|
| // The handler function will look like:
|
| // void OnSyncMessageName(const type1& in1, IPC::Message* reply_msg);
|
| @@ -371,6 +374,20 @@
|
| IPC_MESSAGE_FORWARD_DELAY_REPLY(msg_class, this, \
|
| _IpcMessageHandlerClass::member_func)
|
|
|
| +#define IPC_MESSAGE_FORWARD_WITH_PARAM_DELAY_REPLY(msg_class, obj, \
|
| + member_func) \
|
| + case msg_class::ID: { \
|
| + TRACK_RUN_IN_THIS_SCOPED_REGION(member_func); \
|
| + if (!msg_class::DispatchWithParamDelayReply(&ipc_message__, obj, param__, \
|
| + &member_func)) \
|
| + ipc_message__.set_dispatch_error(); \
|
| + } \
|
| + break;
|
| +
|
| +#define IPC_MESSAGE_HANDLER_WITH_PARAM_DELAY_REPLY(msg_class, member_func) \
|
| + IPC_MESSAGE_FORWARD_WITH_PARAM_DELAY_REPLY( \
|
| + msg_class, this, _IpcMessageHandlerClass::member_func)
|
| +
|
| // TODO(jar): fix chrome frame to always supply |code| argument.
|
| #define IPC_MESSAGE_HANDLER_GENERIC(msg_class, code) \
|
| case msg_class::ID: { \
|
|
|