diff options
Diffstat (limited to 'content/common/indexed_db_param_traits.h')
-rw-r--r-- | content/common/indexed_db_param_traits.h | 40 |
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_ |