| Index: chrome/common/ipc_message_utils.h
|
| diff --git a/chrome/common/ipc_message_utils.h b/chrome/common/ipc_message_utils.h
|
| index ae42bb0f340b8b216746663cbc6f8ba3508890c8..428c889e12af502d06b2f128d78c863fbc0473f2 100644
|
| --- a/chrome/common/ipc_message_utils.h
|
| +++ b/chrome/common/ipc_message_utils.h
|
| @@ -15,8 +15,10 @@
|
| #if defined(OS_POSIX)
|
| #include "chrome/common/file_descriptor_set_posix.h"
|
| #endif
|
| +#include "chrome/common/ipc_maybe.h"
|
| #include "chrome/common/ipc_sync_message.h"
|
| #include "chrome/common/thumbnail_score.h"
|
| +#include "chrome/common/transport_dib.h"
|
| #include "webkit/glue/cache_manager.h"
|
| #include "webkit/glue/console_message_level.h"
|
| #include "webkit/glue/find_in_page_request.h"
|
| @@ -1045,6 +1047,55 @@ struct ParamTraits< Tuple6<A, B, C, D, E, F> > {
|
| }
|
| };
|
|
|
| +#if defined(OS_WIN)
|
| +template<>
|
| +struct ParamTraits<TransportDIB::Id> {
|
| + typedef TransportDIB::Id param_type;
|
| + static void Write(Message* m, const param_type& p) {
|
| + WriteParam(m, p.handle);
|
| + WriteParam(m, p.sequence_num);
|
| + }
|
| + static bool Read(const Message* m, void** iter, param_type* r) {
|
| + return (ReadParam(m, iter, &r->handle) &&
|
| + ReadParam(m, iter, &r->sequence_num));
|
| + }
|
| + static void Log(const param_type& p, std::wstring* l) {
|
| + l->append(L"TransportDIB(");
|
| + LogParam(p.handle, l);
|
| + l->append(L", ");
|
| + LogParam(p.sequence_num, l);
|
| + l->append(L")");
|
| + }
|
| +};
|
| +#endif
|
| +
|
| +template<typename A>
|
| +struct ParamTraits<Maybe<A> > {
|
| + typedef struct Maybe<A> param_type;
|
| + static void Write(Message* m, const param_type& p) {
|
| + WriteParam(m, p.valid);
|
| + if (p.valid)
|
| + WriteParam(m, p.value);
|
| + }
|
| + static bool Read(const Message* m, void** iter, param_type* r) {
|
| + if (!ReadParam(m, iter, &r->valid))
|
| + return false;
|
| +
|
| + if (r->valid)
|
| + return ReadParam(m, iter, &r->value);
|
| + return true;
|
| + }
|
| + static void Log(const param_type& p, std::wstring* l) {
|
| + if (p.valid) {
|
| + l->append(L"Just ");
|
| + ParamTraits<A>::Log(p.value, l);
|
| + } else {
|
| + l->append(L"Nothing");
|
| + }
|
| +
|
| + }
|
| +};
|
| +
|
| template <>
|
| struct ParamTraits<webkit_glue::WebApplicationInfo> {
|
| typedef webkit_glue::WebApplicationInfo param_type;
|
|
|