| Index: content/common/common_param_traits.h
|
| ===================================================================
|
| --- content/common/common_param_traits.h (revision 77019)
|
| +++ content/common/common_param_traits.h (working copy)
|
| @@ -14,17 +14,34 @@
|
| #define CONTENT_COMMON_COMMON_PARAM_TRAITS_H_
|
| #pragma once
|
|
|
| +#include "base/ref_counted.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "ipc/ipc_message_utils.h"
|
| +#include "net/url_request/url_request_status.h"
|
| // !!! WARNING: DO NOT ADD NEW WEBKIT DEPENDENCIES !!!
|
| //
|
| // That means don't add #includes to any file in 'webkit/' or
|
| // 'third_party/WebKit/'. Chrome Frame and NACL build parts of base/ and
|
| // content/common/ for a mini-library that doesn't depend on webkit.
|
|
|
| +// TODO(erg): The following headers are historical and only work because
|
| +// their definitions are inlined, which also needs to be fixed.
|
| +#include "webkit/glue/resource_type.h"
|
| +
|
| // Forward declarations.
|
| class GURL;
|
|
|
| +namespace net {
|
| +class HttpResponseHeaders;
|
| +class HostPortPair;
|
| +class UploadData;
|
| +}
|
| +
|
| +namespace webkit_glue {
|
| +struct ResourceDevToolsInfo;
|
| +struct ResourceLoadTimingInfo;
|
| +}
|
| +
|
| namespace IPC {
|
|
|
| template <>
|
| @@ -35,6 +52,62 @@
|
| static void Log(const param_type& p, std::string* l);
|
| };
|
|
|
| +template <>
|
| +struct ParamTraits<ResourceType::Type> {
|
| + typedef ResourceType::Type param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* p);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template <>
|
| +struct ParamTraits<net::URLRequestStatus> {
|
| + typedef net::URLRequestStatus param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template <>
|
| +struct ParamTraits<scoped_refptr<net::UploadData> > {
|
| + typedef scoped_refptr<net::UploadData> param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template<>
|
| +struct ParamTraits<net::HostPortPair> {
|
| + typedef net::HostPortPair param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template <>
|
| +struct ParamTraits<scoped_refptr<net::HttpResponseHeaders> > {
|
| + typedef scoped_refptr<net::HttpResponseHeaders> param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template <>
|
| +struct ParamTraits<webkit_glue::ResourceLoadTimingInfo> {
|
| + typedef webkit_glue::ResourceLoadTimingInfo param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| +template <>
|
| +struct ParamTraits<scoped_refptr<webkit_glue::ResourceDevToolsInfo> > {
|
| + typedef scoped_refptr<webkit_glue::ResourceDevToolsInfo> param_type;
|
| + static void Write(Message* m, const param_type& p);
|
| + static bool Read(const Message* m, void** iter, param_type* r);
|
| + static void Log(const param_type& p, std::string* l);
|
| +};
|
| +
|
| } // namespace IPC
|
|
|
| #endif // CONTENT_COMMON_COMMON_PARAM_TRAITS_H_
|
|
|