diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-13 21:05:37 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-13 21:05:37 +0000 |
commit | 56879f932544d7752b9a9b5f8e0f3be24d3dcda3 (patch) | |
tree | 06c6a8d4a03a6b1e882fa50195d7c6fdacd97688 /ipc | |
parent | 947e3bef0848003abd87afb93a90f4f6637549d3 (diff) | |
download | chromium_src-56879f932544d7752b9a9b5f8e0f3be24d3dcda3.zip chromium_src-56879f932544d7752b9a9b5f8e0f3be24d3dcda3.tar.gz chromium_src-56879f932544d7752b9a9b5f8e0f3be24d3dcda3.tar.bz2 |
Make DOMStorageDispatcherHost be a message filter (and rename it accordingly). It now derives from BrowserMessageFilter and hence gets message dispatching to different threads for free.
Review URL: http://codereview.chromium.org/5722003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69049 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_message_impl_macros.h | 55 | ||||
-rw-r--r-- | ipc/ipc_message_macros.h | 64 | ||||
-rw-r--r-- | ipc/ipc_message_utils.h | 1 |
3 files changed, 120 insertions, 0 deletions
diff --git a/ipc/ipc_message_impl_macros.h b/ipc/ipc_message_impl_macros.h index b6b6278..e04749c 100644 --- a/ipc/ipc_message_impl_macros.h +++ b/ipc/ipc_message_impl_macros.h @@ -330,6 +330,61 @@ \ IPC_SYNC_MESSAGE_DTOR_AND_LOG(msg_class) +#define IPC_SYNC_MESSAGE_CONTROL4_3_EXTRA(msg_class, type1_in, type2_in, \ + type3_in, type4_in, type1_out, \ + type2_out, type3_out) \ + msg_class::msg_class(const type1_in& arg1, const type2_in& arg2, \ + const type3_in& arg3, const type4_in& arg4, \ + type1_out* arg5, type2_out* arg6, typ3_out* arg7) \ + : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, \ + type4_in>, \ + Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, ID, \ + MakeRefTuple(arg1, arg2, arg3, arg4), \ + MakeRefTuple(*arg5, *arg6, *arg7)) {} \ + \ + IPC_SYNC_MESSAGE_DTOR_AND_LOG(msg_class) + +#define IPC_SYNC_MESSAGE_CONTROL5_1_EXTRA(msg_class, type1_in, type2_in, \ + type3_in, type4_in, type5_in, \ + type1_out) \ + msg_class::msg_class(const type1_in& arg1, const type2_in& arg2, \ + const type3_in& arg3, const type4_in& arg4, \ + const type5_in& arg5, type1_out* arg6) \ + : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, type5_in>, \ + Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ + MakeRefTuple(arg1, arg2, arg3, arg4, arg5), MakeRefTuple(*arg6)) {} \ + \ + IPC_SYNC_MESSAGE_DTOR_AND_LOG(msg_class) + + +#define IPC_SYNC_MESSAGE_CONTROL5_2_EXTRA(msg_class, type1_in, type2_in, \ + type3_in, type4_in, type5_in, \ + type1_out, type2_out) \ + msg_class::msg_class(const type1_in& arg1, const type2_in& arg2, \ + const type3_in& arg3, const type4_in& arg4, \ + const type5_in& arg5, type1_out* arg6, type2_out* arg7) \ + : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, \ + type4_in, type5_in>, \ + Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ + MakeRefTuple(arg1, arg2, arg3, arg4, arg5), \ + MakeRefTuple(*arg6, *arg7)) {} \ + \ + IPC_SYNC_MESSAGE_DTOR_AND_LOG(msg_class) + +#define IPC_SYNC_MESSAGE_CONTROL5_3_EXTRA(msg_class, type1_in, type2_in, \ + type3_in, type4_in, type5_in, \ + type1_out, type2_out, type3_out) \ + msg_class::msg_class(const type1_in& arg1, const type2_in& arg2, \ + const type3_in& arg3, const type4_in& arg4, \ + const type5_in& arg5, type1_out* arg6, type2_out* arg7, typ3_out* arg8) \ + : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, \ + type4_in, type5_in>, \ + Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, ID, \ + MakeRefTuple(arg1, arg2, arg3, arg4, arg5), \ + MakeRefTuple(*arg6, *arg7, *arg8)) {} \ + \ + IPC_SYNC_MESSAGE_DTOR_AND_LOG(msg_class) + #define IPC_SYNC_MESSAGE_ROUTED0_0_EXTRA(msg_class) \ msg_class::msg_class(int routing_id) \ : IPC::MessageWithReply<Tuple0, Tuple0>( \ diff --git a/ipc/ipc_message_macros.h b/ipc/ipc_message_macros.h index d955135..7247c66 100644 --- a/ipc/ipc_message_macros.h +++ b/ipc/ipc_message_macros.h @@ -162,6 +162,18 @@ LogFunctionMap g_log_function_mapping; #define IPC_SYNC_MESSAGE_CONTROL4_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out) \ IPC_MESSAGE_LOG(msg_class) +#define IPC_SYNC_MESSAGE_CONTROL4_3_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out, type3_out) \ + IPC_MESSAGE_LOG(msg_class) + +#define IPC_SYNC_MESSAGE_CONTROL5_1_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out) \ + IPC_MESSAGE_LOG(msg_class) + +#define IPC_SYNC_MESSAGE_CONTROL5_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out) \ + IPC_MESSAGE_LOG(msg_class) + +#define IPC_SYNC_MESSAGE_CONTROL5_3_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out, type3_out) \ + IPC_MESSAGE_LOG(msg_class) + #define IPC_SYNC_MESSAGE_ROUTED0_0_EXTRA(msg_class) \ IPC_MESSAGE_LOG(msg_class) @@ -272,6 +284,10 @@ LogFunctionMap g_log_function_mapping; #define IPC_SYNC_MESSAGE_CONTROL3_4_EXTRA(msg_class, type1_in, type2_in, type3_in, type1_out, type2_out, type3_out, type4_out) #define IPC_SYNC_MESSAGE_CONTROL4_1_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out) #define IPC_SYNC_MESSAGE_CONTROL4_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out) +#define IPC_SYNC_MESSAGE_CONTROL4_3_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out, type3_out) +#define IPC_SYNC_MESSAGE_CONTROL5_1_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out) +#define IPC_SYNC_MESSAGE_CONTROL5_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out) +#define IPC_SYNC_MESSAGE_CONTROL5_3_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out, type3_out) #define IPC_SYNC_MESSAGE_ROUTED0_0_EXTRA(msg_class) #define IPC_SYNC_MESSAGE_ROUTED0_1_EXTRA(msg_class, type1_out) #define IPC_SYNC_MESSAGE_ROUTED0_2_EXTRA(msg_class, type1_out, type2_out) @@ -647,6 +663,54 @@ LogFunctionMap g_log_function_mapping; }; \ IPC_SYNC_MESSAGE_CONTROL4_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out) +#define IPC_SYNC_MESSAGE_CONTROL4_3(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out, type3_out) \ + class msg_class : \ + public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>, \ + Tuple3<type1_out&, type2_out&, type3_out&> > { \ + public: \ + enum { ID = (IPC_MESSAGE_START << 16) + __LINE__ }; \ + msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, const type4_in& arg4, type1_out* arg5, type2_out* arg6, type3_out* arg7); \ + ~msg_class(); \ + static void Log(std::string* name, const Message* msg, std::string* l); \ + }; \ + IPC_SYNC_MESSAGE_CONTROL4_3_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type1_out, type2_out, type3_out) + +#define IPC_SYNC_MESSAGE_CONTROL5_1(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out) \ + class msg_class : \ + public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, type5_in>, \ + Tuple1<type1_out&> > { \ + public: \ + enum { ID = (IPC_MESSAGE_START << 16) + __LINE__ }; \ + msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, const type4_in& arg4, const type5_in& arg5, type1_out* arg6); \ + ~msg_class(); \ + static void Log(std::string* name, const Message* msg, std::string* l); \ + }; \ + IPC_SYNC_MESSAGE_CONTROL5_1_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out) + +#define IPC_SYNC_MESSAGE_CONTROL5_2(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out) \ + class msg_class : \ + public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, type5_in>, \ + Tuple2<type1_out&, type2_out&> > { \ + public: \ + enum { ID = (IPC_MESSAGE_START << 16) + __LINE__ }; \ + msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, const type4_in& arg4, const type5_in& arg5, type1_out* arg6, type2_out* arg7); \ + ~msg_class(); \ + static void Log(std::string* name, const Message* msg, std::string* l); \ + }; \ + IPC_SYNC_MESSAGE_CONTROL5_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out) + +#define IPC_SYNC_MESSAGE_CONTROL5_3(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out, type3_out) \ + class msg_class : \ + public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, type5_in>, \ + Tuple3<type1_out&, type2_out&, type3_out&> > { \ + public: \ + enum { ID = (IPC_MESSAGE_START << 16) + __LINE__ }; \ + msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, const type4_in& arg4, const type5_in& arg5, type1_out* arg6, type2_out* arg7, type3_out* arg8); \ + ~msg_class(); \ + static void Log(std::string* name, const Message* msg, std::string* l); \ + }; \ + IPC_SYNC_MESSAGE_CONTROL4_2_EXTRA(msg_class, type1_in, type2_in, type3_in, type4_in, type5_in, type1_out, type2_out, type3_out) + #define IPC_SYNC_MESSAGE_ROUTED0_0(msg_class) \ class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ public: \ diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h index c556507..a7cdfd5 100644 --- a/ipc/ipc_message_utils.h +++ b/ipc/ipc_message_utils.h @@ -62,6 +62,7 @@ enum IPCMessageStart { FileUtilitiesMsgStart, MimeRegistryMsgStart, DatabaseMsgStart, + DOMStorageMsgStart, }; class DictionaryValue; |