Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: content/public/common/common_param_traits.h

Issue 825353003: Revert of Remove deprecated methods from Pickle. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is used to define IPC::ParamTraits<> specializations for a number 5 // This file is used to define IPC::ParamTraits<> specializations for a number
6 // of types so that they can be serialized over IPC. IPC::ParamTraits<> 6 // of types so that they can be serialized over IPC. IPC::ParamTraits<>
7 // specializations for basic types (like int and std::string) and types in the 7 // specializations for basic types (like int and std::string) and types in the
8 // 'base' project can be found in ipc/ipc_message_utils.h. This file contains 8 // 'base' project can be found in ipc/ipc_message_utils.h. This file contains
9 // specializations for types that are used by the content code, and which need 9 // specializations for types that are used by the content code, and which need
10 // manual serialization code. This is usually because they're not structs with 10 // manual serialization code. This is usually because they're not structs with
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 static void Write(Message* m, const param_type& p) { 82 static void Write(Message* m, const param_type& p) {
83 #if defined(OS_WIN) 83 #if defined(OS_WIN)
84 // HWNDs are always 32 bits on Windows, even on 64 bit systems. 84 // HWNDs are always 32 bits on Windows, even on 64 bit systems.
85 m->WriteUInt32(reinterpret_cast<uint32>(p)); 85 m->WriteUInt32(reinterpret_cast<uint32>(p));
86 #else 86 #else
87 m->WriteData(reinterpret_cast<const char*>(&p), sizeof(p)); 87 m->WriteData(reinterpret_cast<const char*>(&p), sizeof(p));
88 #endif 88 #endif
89 } 89 }
90 static bool Read(const Message* m, PickleIterator* iter, param_type* r) { 90 static bool Read(const Message* m, PickleIterator* iter, param_type* r) {
91 #if defined(OS_WIN) 91 #if defined(OS_WIN)
92 return iter->ReadUInt32(reinterpret_cast<uint32*>(r)); 92 return m->ReadUInt32(iter, reinterpret_cast<uint32*>(r));
93 #else 93 #else
94 const char *data; 94 const char *data;
95 int data_size = 0; 95 int data_size = 0;
96 bool result = iter->ReadData(&data, &data_size); 96 bool result = m->ReadData(iter, &data, &data_size);
97 if (result && data_size == sizeof(gfx::NativeWindow)) { 97 if (result && data_size == sizeof(gfx::NativeWindow)) {
98 memcpy(r, data, sizeof(gfx::NativeWindow)); 98 memcpy(r, data, sizeof(gfx::NativeWindow));
99 } else { 99 } else {
100 result = false; 100 result = false;
101 NOTREACHED(); 101 NOTREACHED();
102 } 102 }
103 return result; 103 return result;
104 #endif 104 #endif
105 } 105 }
106 static void Log(const param_type& p, std::string* l) { 106 static void Log(const param_type& p, std::string* l) {
(...skipping 19 matching lines...) Expand all
126 l->append(", "); 126 l->append(", ");
127 LogParam(p.sequence_num, l); 127 LogParam(p.sequence_num, l);
128 l->append(")"); 128 l->append(")");
129 } 129 }
130 }; 130 };
131 #endif 131 #endif
132 132
133 } // namespace IPC 133 } // namespace IPC
134 134
135 #endif // CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_H_ 135 #endif // CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_H_
OLDNEW
« no previous file with comments | « content/common/ssl_status_serialization.cc ('k') | content/public/common/common_param_traits.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698