summaryrefslogtreecommitdiffstats
path: root/content/common/indexed_db_param_traits.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/common/indexed_db_param_traits.h')
-rw-r--r--content/common/indexed_db_param_traits.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/content/common/indexed_db_param_traits.h b/content/common/indexed_db_param_traits.h
new file mode 100644
index 0000000..2045bdd
--- /dev/null
+++ b/content/common/indexed_db_param_traits.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_COMMON_INDEXED_DB_PARAM_TRAITS_H_
+#define CONTENT_COMMON_INDEXED_DB_PARAM_TRAITS_H_
+#pragma once
+
+#include "ipc/ipc_message.h"
+#include "ipc/ipc_param_traits.h"
+
+class IndexedDBKey;
+class SerializedScriptValue;
+
+namespace IPC {
+
+// These datatypes are used by utility_messages.h and render_messages.h.
+// Unfortunately we can't move it to common: MSVC linker complains about
+// WebKit datatypes that are not linked on npchrome_frame (even though it's
+// never actually used by that target).
+
+template <>
+struct ParamTraits<SerializedScriptValue> {
+ typedef SerializedScriptValue 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<IndexedDBKey> {
+ typedef IndexedDBKey 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_INDEXED_DB_PARAM_TRAITS_H_