summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-13 21:05:37 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-13 21:05:37 +0000
commit56879f932544d7752b9a9b5f8e0f3be24d3dcda3 (patch)
tree06c6a8d4a03a6b1e882fa50195d7c6fdacd97688 /ipc
parent947e3bef0848003abd87afb93a90f4f6637549d3 (diff)
downloadchromium_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.h55
-rw-r--r--ipc/ipc_message_macros.h64
-rw-r--r--ipc/ipc_message_utils.h1
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;