Chromium Code Reviews| Index: ipc/ipc_message_utils.cc |
| diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc |
| index 60c12ab60f96f879259612c993acf89d0c749cd0..c7f4fae24f938ef08209536fa681d8cfd18a921c 100644 |
| --- a/ipc/ipc_message_utils.cc |
| +++ b/ipc/ipc_message_utils.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/files/file_path.h" |
| #include "base/json/json_writer.h" |
| +#include "base/nonce.h" |
| #include "base/strings/nullable_string16.h" |
| #include "base/strings/string_number_conversions.h" |
| #include "base/strings/utf_string_conversions.h" |
| @@ -998,6 +999,30 @@ void ParamTraits<base::TimeTicks>::Log(const param_type& p, std::string* l) { |
| ParamTraits<int64_t>::Log(p.ToInternalValue(), l); |
| } |
| +void ParamTraits<base::Nonce>::GetSize(base::PickleSizer* sizer, |
| + const param_type& p) { |
| + sizer->AddBytes(sizeof(param_type)); |
| +} |
| + |
| +void ParamTraits<base::Nonce>::Write(base::Pickle* m, const param_type& p) { |
| + m->WriteBytes(reinterpret_cast<const char*>(&p), sizeof(param_type)); |
| +} |
| + |
| +bool ParamTraits<base::Nonce>::Read(const base::Pickle* m, |
| + base::PickleIterator* iter, |
| + param_type* r) { |
| + const char* data; |
| + if (!iter->ReadBytes(&data, sizeof(param_type))) |
| + return false; |
| + |
| + memcpy(r, data, sizeof(param_type)); |
|
Tom Sepez
2016/09/13 18:20:41
Yes, this works, but I'm less thrilled with copyin
tguilbert
2016/09/13 20:20:19
Done.
|
| + return true; |
| +} |
| + |
| +void ParamTraits<base::Nonce>::Log(const param_type& p, std::string* l) { |
| + l->append(p.ToString()); |
| +} |
| + |
| void ParamTraits<IPC::ChannelHandle>::GetSize(base::PickleSizer* sizer, |
| const param_type& p) { |
| GetParamSize(sizer, p.name); |