summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-04 02:00:56 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-04 02:00:56 +0000
commita5da6d613f41ecf35c027e8744dd6d3a41e4010c (patch)
treedad6a3e159fcc21df62180f481a0024db97d5b0d /ipc
parente23ed5427d0892d07480781f45b4367adebc0c00 (diff)
downloadchromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.zip
chromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.tar.gz
chromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.tar.bz2
Cross-process Message Port implementation.
I'm sending this first, then I'll add support to workers in another changelist to avoid making this change larger. TEST=running message port related layout tests in ui_tests Review URL: http://codereview.chromium.org/159372 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22356 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r--ipc/ipc_message_utils.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h
index 2b2ff91..f337814 100644
--- a/ipc/ipc_message_utils.h
+++ b/ipc/ipc_message_utils.h
@@ -517,6 +517,25 @@ struct ParamTraits<std::wstring> {
}
};
+template <class A, class B>
+struct ParamTraits<std::pair<A, B> > {
+ typedef std::pair<A, B> param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.first);
+ WriteParam(m, p.second);
+ }
+ static bool Read(const Message* m, void** iter, param_type* r) {
+ return ReadParam(m, iter, &r->first) && ReadParam(m, iter, &r->second);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"(");
+ LogParam(p.first, l);
+ l->append(L", ");
+ LogParam(p.second, l);
+ l->append(L")");
+ }
+};
+
// If WCHAR_T_IS_UTF16 is defined, then string16 is a std::wstring so we don't
// need this trait.
#if !defined(WCHAR_T_IS_UTF16)