Index: ipc/ipc_message_utils.cc |
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc |
index ea88b55a2a5129260bdc984b35e97ee0171b9ad5..5d09a50ba78d282267ba8651165f5afc63620133 100644 |
--- a/ipc/ipc_message_utils.cc |
+++ b/ipc/ipc_message_utils.cc |
@@ -67,12 +67,12 @@ void LogBytes(const std::vector<CharType>& data, std::string* out) { |
#endif |
} |
-bool ReadValue(const Message* m, |
+bool ReadValue(const base::Pickle* m, |
base::PickleIterator* iter, |
base::Value** value, |
int recursion); |
-void WriteValue(Message* m, const base::Value* value, int recursion) { |
+void WriteValue(base::Pickle* m, const base::Value* value, int recursion) { |
bool result; |
if (recursion > kMaxRecursionDepth) { |
LOG(WARNING) << "Max recursion depth hit in WriteValue."; |
@@ -145,7 +145,7 @@ void WriteValue(Message* m, const base::Value* value, int recursion) { |
// Helper for ReadValue that reads a DictionaryValue into a pre-allocated |
// object. |
-bool ReadDictionaryValue(const Message* m, |
+bool ReadDictionaryValue(const base::Pickle* m, |
base::PickleIterator* iter, |
base::DictionaryValue* value, |
int recursion) { |
@@ -167,7 +167,7 @@ bool ReadDictionaryValue(const Message* m, |
// Helper for ReadValue that reads a ReadListValue into a pre-allocated |
// object. |
-bool ReadListValue(const Message* m, |
+bool ReadListValue(const base::Pickle* m, |
base::PickleIterator* iter, |
base::ListValue* value, |
int recursion) { |
@@ -185,7 +185,7 @@ bool ReadListValue(const Message* m, |
return true; |
} |
-bool ReadValue(const Message* m, |
+bool ReadValue(const base::Pickle* m, |
base::PickleIterator* iter, |
base::Value** value, |
int recursion) { |
@@ -278,13 +278,13 @@ void ParamTraits<bool>::Log(const param_type& p, std::string* l) { |
l->append(p ? "true" : "false"); |
} |
-void ParamTraits<signed char>::Write(Message* m, const param_type& p) { |
+void ParamTraits<signed char>::Write(base::Pickle* m, const param_type& p) { |
m->WriteBytes(&p, sizeof(param_type)); |
} |
-bool ParamTraits<signed char>::Read(const Message* m, |
- base::PickleIterator* iter, |
- param_type* r) { |
+bool ParamTraits<signed char>::Read(const base::Pickle* m, |
+ base::PickleIterator* iter, |
+ param_type* r) { |
const char* data; |
if (!iter->ReadBytes(&data, sizeof(param_type))) |
return false; |
@@ -296,11 +296,11 @@ void ParamTraits<signed char>::Log(const param_type& p, std::string* l) { |
l->append(base::IntToString(p)); |
} |
-void ParamTraits<unsigned char>::Write(Message* m, const param_type& p) { |
+void ParamTraits<unsigned char>::Write(base::Pickle* m, const param_type& p) { |
m->WriteBytes(&p, sizeof(param_type)); |
} |
-bool ParamTraits<unsigned char>::Read(const Message* m, |
+bool ParamTraits<unsigned char>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char* data; |
@@ -314,11 +314,11 @@ void ParamTraits<unsigned char>::Log(const param_type& p, std::string* l) { |
l->append(base::UintToString(p)); |
} |
-void ParamTraits<unsigned short>::Write(Message* m, const param_type& p) { |
+void ParamTraits<unsigned short>::Write(base::Pickle* m, const param_type& p) { |
m->WriteBytes(&p, sizeof(param_type)); |
} |
-bool ParamTraits<unsigned short>::Read(const Message* m, |
+bool ParamTraits<unsigned short>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char* data; |
@@ -360,11 +360,11 @@ void ParamTraits<float>::Log(const param_type& p, std::string* l) { |
l->append(base::StringPrintf("%e", p)); |
} |
-void ParamTraits<double>::Write(Message* m, const param_type& p) { |
+void ParamTraits<double>::Write(base::Pickle* m, const param_type& p) { |
m->WriteBytes(reinterpret_cast<const char*>(&p), sizeof(param_type)); |
} |
-bool ParamTraits<double>::Read(const Message* m, |
+bool ParamTraits<double>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char *data; |
@@ -389,7 +389,8 @@ void ParamTraits<base::string16>::Log(const param_type& p, std::string* l) { |
l->append(base::UTF16ToUTF8(p)); |
} |
-void ParamTraits<std::vector<char> >::Write(Message* m, const param_type& p) { |
+void ParamTraits<std::vector<char>>::Write(base::Pickle* m, |
+ const param_type& p) { |
if (p.empty()) { |
m->WriteData(NULL, 0); |
} else { |
@@ -397,7 +398,7 @@ void ParamTraits<std::vector<char> >::Write(Message* m, const param_type& p) { |
} |
} |
-bool ParamTraits<std::vector<char>>::Read(const Message* m, |
+bool ParamTraits<std::vector<char>>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char *data; |
@@ -414,8 +415,8 @@ void ParamTraits<std::vector<char> >::Log(const param_type& p, std::string* l) { |
LogBytes(p, l); |
} |
-void ParamTraits<std::vector<unsigned char> >::Write(Message* m, |
- const param_type& p) { |
+void ParamTraits<std::vector<unsigned char>>::Write(base::Pickle* m, |
+ const param_type& p) { |
if (p.empty()) { |
m->WriteData(NULL, 0); |
} else { |
@@ -424,7 +425,7 @@ void ParamTraits<std::vector<unsigned char> >::Write(Message* m, |
} |
} |
-bool ParamTraits<std::vector<unsigned char>>::Read(const Message* m, |
+bool ParamTraits<std::vector<unsigned char>>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char *data; |
@@ -442,7 +443,8 @@ void ParamTraits<std::vector<unsigned char> >::Log(const param_type& p, |
LogBytes(p, l); |
} |
-void ParamTraits<std::vector<bool> >::Write(Message* m, const param_type& p) { |
+void ParamTraits<std::vector<bool>>::Write(base::Pickle* m, |
+ const param_type& p) { |
WriteParam(m, static_cast<int>(p.size())); |
// Cast to bool below is required because libc++'s |
// vector<bool>::const_reference is different from bool, and we want to avoid |
@@ -451,7 +453,7 @@ void ParamTraits<std::vector<bool> >::Write(Message* m, const param_type& p) { |
WriteParam(m, static_cast<bool>(p[i])); |
} |
-bool ParamTraits<std::vector<bool>>::Read(const Message* m, |
+bool ParamTraits<std::vector<bool>>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int size; |
@@ -477,13 +479,13 @@ void ParamTraits<std::vector<bool> >::Log(const param_type& p, std::string* l) { |
} |
void ParamTraits<BrokerableAttachment::AttachmentId>::Write( |
- Message* m, |
+ base::Pickle* m, |
const param_type& p) { |
m->WriteBytes(p.nonce, BrokerableAttachment::kNonceSize); |
} |
bool ParamTraits<BrokerableAttachment::AttachmentId>::Read( |
- const Message* m, |
+ const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char* data; |
@@ -498,12 +500,12 @@ void ParamTraits<BrokerableAttachment::AttachmentId>::Log(const param_type& p, |
l->append(base::HexEncode(p.nonce, BrokerableAttachment::kNonceSize)); |
} |
-void ParamTraits<base::DictionaryValue>::Write(Message* m, |
+void ParamTraits<base::DictionaryValue>::Write(base::Pickle* m, |
const param_type& p) { |
WriteValue(m, &p, 0); |
} |
-bool ParamTraits<base::DictionaryValue>::Read(const Message* m, |
+bool ParamTraits<base::DictionaryValue>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int type; |
@@ -521,7 +523,8 @@ void ParamTraits<base::DictionaryValue>::Log(const param_type& p, |
} |
#if defined(OS_POSIX) |
-void ParamTraits<base::FileDescriptor>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::FileDescriptor>::Write(base::Pickle* m, |
+ const param_type& p) { |
const bool valid = p.fd >= 0; |
WriteParam(m, valid); |
@@ -538,7 +541,7 @@ void ParamTraits<base::FileDescriptor>::Write(Message* m, const param_type& p) { |
} |
} |
-bool ParamTraits<base::FileDescriptor>::Read(const Message* m, |
+bool ParamTraits<base::FileDescriptor>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
*r = base::FileDescriptor(); |
@@ -551,11 +554,13 @@ bool ParamTraits<base::FileDescriptor>::Read(const Message* m, |
if (!valid) |
return true; |
- scoped_refptr<MessageAttachment> attachment; |
+ scoped_refptr<base::Pickle::Attachment> attachment; |
if (!m->ReadAttachment(iter, &attachment)) |
return false; |
- *r = base::FileDescriptor(attachment->TakePlatformFile(), true); |
+ *r = base::FileDescriptor( |
+ static_cast<MessageAttachment*>(attachment.get())->TakePlatformFile(), |
+ true); |
return true; |
} |
@@ -570,7 +575,7 @@ void ParamTraits<base::FileDescriptor>::Log(const param_type& p, |
#endif // defined(OS_POSIX) |
#if defined(OS_MACOSX) && !defined(OS_IOS) |
-void ParamTraits<base::SharedMemoryHandle>::Write(Message* m, |
+void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m, |
const param_type& p) { |
m->WriteInt(p.GetType()); |
@@ -595,7 +600,7 @@ void ParamTraits<base::SharedMemoryHandle>::Write(Message* m, |
} |
} |
-bool ParamTraits<base::SharedMemoryHandle>::Read(const Message* m, |
+bool ParamTraits<base::SharedMemoryHandle>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
base::SharedMemoryHandle::TypeWireFormat type; |
@@ -658,7 +663,7 @@ void ParamTraits<base::SharedMemoryHandle>::Log(const param_type& p, |
} |
#elif defined(OS_WIN) |
-void ParamTraits<base::SharedMemoryHandle>::Write(Message* m, |
+void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m, |
const param_type& p) { |
m->WriteBool(p.NeedsBrokering()); |
@@ -670,7 +675,7 @@ void ParamTraits<base::SharedMemoryHandle>::Write(Message* m, |
} |
} |
-bool ParamTraits<base::SharedMemoryHandle>::Read(const Message* m, |
+bool ParamTraits<base::SharedMemoryHandle>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
bool needs_brokering; |
@@ -702,11 +707,11 @@ void ParamTraits<base::SharedMemoryHandle>::Log(const param_type& p, |
} |
#endif // defined(OS_MACOSX) && !defined(OS_IOS) |
-void ParamTraits<base::FilePath>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::FilePath>::Write(base::Pickle* m, const param_type& p) { |
p.WriteToPickle(m); |
} |
-bool ParamTraits<base::FilePath>::Read(const Message* m, |
+bool ParamTraits<base::FilePath>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
return r->ReadFromPickle(iter); |
@@ -716,11 +721,11 @@ void ParamTraits<base::FilePath>::Log(const param_type& p, std::string* l) { |
ParamTraits<base::FilePath::StringType>::Log(p.value(), l); |
} |
-void ParamTraits<base::ListValue>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::ListValue>::Write(base::Pickle* m, const param_type& p) { |
WriteValue(m, &p, 0); |
} |
-bool ParamTraits<base::ListValue>::Read(const Message* m, |
+bool ParamTraits<base::ListValue>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int type; |
@@ -736,13 +741,13 @@ void ParamTraits<base::ListValue>::Log(const param_type& p, std::string* l) { |
l->append(json); |
} |
-void ParamTraits<base::NullableString16>::Write(Message* m, |
+void ParamTraits<base::NullableString16>::Write(base::Pickle* m, |
const param_type& p) { |
WriteParam(m, p.string()); |
WriteParam(m, p.is_null()); |
} |
-bool ParamTraits<base::NullableString16>::Read(const Message* m, |
+bool ParamTraits<base::NullableString16>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
base::string16 string; |
@@ -764,7 +769,7 @@ void ParamTraits<base::NullableString16>::Log(const param_type& p, |
l->append(")"); |
} |
-void ParamTraits<base::File::Info>::Write(Message* m, |
+void ParamTraits<base::File::Info>::Write(base::Pickle* m, |
const param_type& p) { |
WriteParam(m, p.size); |
WriteParam(m, p.is_directory); |
@@ -773,7 +778,7 @@ void ParamTraits<base::File::Info>::Write(Message* m, |
WriteParam(m, p.creation_time.ToDoubleT()); |
} |
-bool ParamTraits<base::File::Info>::Read(const Message* m, |
+bool ParamTraits<base::File::Info>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* p) { |
double last_modified, last_accessed, creation_time; |
@@ -804,11 +809,11 @@ void ParamTraits<base::File::Info>::Log(const param_type& p, |
l->append(")"); |
} |
-void ParamTraits<base::Time>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::Time>::Write(base::Pickle* m, const param_type& p) { |
ParamTraits<int64_t>::Write(m, p.ToInternalValue()); |
} |
-bool ParamTraits<base::Time>::Read(const Message* m, |
+bool ParamTraits<base::Time>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int64_t value; |
@@ -822,11 +827,11 @@ void ParamTraits<base::Time>::Log(const param_type& p, std::string* l) { |
ParamTraits<int64_t>::Log(p.ToInternalValue(), l); |
} |
-void ParamTraits<base::TimeDelta>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::TimeDelta>::Write(base::Pickle* m, const param_type& p) { |
ParamTraits<int64_t>::Write(m, p.ToInternalValue()); |
} |
-bool ParamTraits<base::TimeDelta>::Read(const Message* m, |
+bool ParamTraits<base::TimeDelta>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int64_t value; |
@@ -841,11 +846,11 @@ void ParamTraits<base::TimeDelta>::Log(const param_type& p, std::string* l) { |
ParamTraits<int64_t>::Log(p.ToInternalValue(), l); |
} |
-void ParamTraits<base::TimeTicks>::Write(Message* m, const param_type& p) { |
+void ParamTraits<base::TimeTicks>::Write(base::Pickle* m, const param_type& p) { |
ParamTraits<int64_t>::Write(m, p.ToInternalValue()); |
} |
-bool ParamTraits<base::TimeTicks>::Read(const Message* m, |
+bool ParamTraits<base::TimeTicks>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int64_t value; |
@@ -860,7 +865,8 @@ void ParamTraits<base::TimeTicks>::Log(const param_type& p, std::string* l) { |
ParamTraits<int64_t>::Log(p.ToInternalValue(), l); |
} |
-void ParamTraits<IPC::ChannelHandle>::Write(Message* m, const param_type& p) { |
+void ParamTraits<IPC::ChannelHandle>::Write(base::Pickle* m, |
+ const param_type& p) { |
#if defined(OS_WIN) |
// On Windows marshalling pipe handle is not supported. |
DCHECK(p.pipe.handle == NULL); |
@@ -871,7 +877,7 @@ void ParamTraits<IPC::ChannelHandle>::Write(Message* m, const param_type& p) { |
#endif |
} |
-bool ParamTraits<IPC::ChannelHandle>::Read(const Message* m, |
+bool ParamTraits<IPC::ChannelHandle>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
return ReadParam(m, iter, &r->name) |
@@ -891,7 +897,7 @@ void ParamTraits<IPC::ChannelHandle>::Log(const param_type& p, |
l->append(")"); |
} |
-void ParamTraits<LogData>::Write(Message* m, const param_type& p) { |
+void ParamTraits<LogData>::Write(base::Pickle* m, const param_type& p) { |
WriteParam(m, p.channel); |
WriteParam(m, p.routing_id); |
WriteParam(m, p.type); |
@@ -903,7 +909,7 @@ void ParamTraits<LogData>::Write(Message* m, const param_type& p) { |
WriteParam(m, p.params); |
} |
-bool ParamTraits<LogData>::Read(const Message* m, |
+bool ParamTraits<LogData>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
return |
@@ -922,7 +928,7 @@ void ParamTraits<LogData>::Log(const param_type& p, std::string* l) { |
// Doesn't make sense to implement this! |
} |
-void ParamTraits<Message>::Write(Message* m, const Message& p) { |
+void ParamTraits<Message>::Write(base::Pickle* m, const Message& p) { |
#if defined(OS_POSIX) |
// We don't serialize the file descriptors in the nested message, so there |
// better not be any. |
@@ -945,7 +951,7 @@ void ParamTraits<Message>::Write(Message* m, const Message& p) { |
m->WriteData(p.payload(), static_cast<uint32_t>(p.payload_size())); |
} |
-bool ParamTraits<Message>::Read(const Message* m, |
+bool ParamTraits<Message>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
Message* r) { |
uint32_t routing_id, type, flags; |
@@ -970,11 +976,11 @@ void ParamTraits<Message>::Log(const Message& p, std::string* l) { |
#if defined(OS_WIN) |
// Note that HWNDs/HANDLE/HCURSOR/HACCEL etc are always 32 bits, even on 64 |
// bit systems. That's why we use the Windows macros to convert to 32 bits. |
-void ParamTraits<HANDLE>::Write(Message* m, const param_type& p) { |
+void ParamTraits<HANDLE>::Write(base::Pickle* m, const param_type& p) { |
m->WriteInt(HandleToLong(p)); |
} |
-bool ParamTraits<HANDLE>::Read(const Message* m, |
+bool ParamTraits<HANDLE>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
int32_t temp; |
@@ -988,11 +994,11 @@ void ParamTraits<HANDLE>::Log(const param_type& p, std::string* l) { |
l->append(base::StringPrintf("0x%p", p)); |
} |
-void ParamTraits<LOGFONT>::Write(Message* m, const param_type& p) { |
+void ParamTraits<LOGFONT>::Write(base::Pickle* m, const param_type& p) { |
m->WriteData(reinterpret_cast<const char*>(&p), sizeof(LOGFONT)); |
} |
-bool ParamTraits<LOGFONT>::Read(const Message* m, |
+bool ParamTraits<LOGFONT>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char *data; |
@@ -1013,11 +1019,11 @@ void ParamTraits<LOGFONT>::Log(const param_type& p, std::string* l) { |
l->append(base::StringPrintf("<LOGFONT>")); |
} |
-void ParamTraits<MSG>::Write(Message* m, const param_type& p) { |
+void ParamTraits<MSG>::Write(base::Pickle* m, const param_type& p) { |
m->WriteData(reinterpret_cast<const char*>(&p), sizeof(MSG)); |
} |
-bool ParamTraits<MSG>::Read(const Message* m, |
+bool ParamTraits<MSG>::Read(const base::Pickle* m, |
base::PickleIterator* iter, |
param_type* r) { |
const char *data; |