Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #include "content/public/common/common_param_traits.h" | 5 #include "content/public/common/common_param_traits.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "content/public/common/content_constants.h" | 9 #include "content/public/common/content_constants.h" |
| 10 #include "content/public/common/page_state.h" | 10 #include "content/public/common/page_state.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 *p = GURL(); | 44 *p = GURL(); |
| 45 return false; | 45 return false; |
| 46 } | 46 } |
| 47 return true; | 47 return true; |
| 48 } | 48 } |
| 49 | 49 |
| 50 void ParamTraits<GURL>::Log(const GURL& p, std::string* l) { | 50 void ParamTraits<GURL>::Log(const GURL& p, std::string* l) { |
| 51 l->append(p.spec()); | 51 l->append(p.spec()); |
| 52 } | 52 } |
| 53 | 53 |
| 54 void ParamTraits<url::Origin>::Write(Message* m, | 54 void ParamTraits<url::Origin>::Write(Message* m, const url::Origin& p) { |
| 55 const url::Origin& p) { | 55 WriteParam(m, p.scheme()); |
| 56 m->WriteString(p.string()); | 56 WriteParam(m, p.host()); |
| 57 WriteParam(m, p.port()); | |
|
Ryan Sleevi
2015/05/22 20:43:35
DANGER: If p.port()'s signature were to hypothetic
Mike West
2015/05/28 07:24:29
My impression is that this is safe; if we update t
Ryan Sleevi
2015/05/28 07:33:21
You didn't add tsepez, fyi
| |
| 57 } | 58 } |
| 58 | 59 |
| 59 bool ParamTraits<url::Origin>::Read(const Message* m, | 60 bool ParamTraits<url::Origin>::Read(const Message* m, |
| 60 PickleIterator* iter, | 61 PickleIterator* iter, |
| 61 url::Origin* p) { | 62 url::Origin* p) { |
| 62 std::string s; | 63 std::string scheme; |
| 63 if (!iter->ReadString(&s)) { | 64 std::string host; |
| 65 unsigned short port; | |
|
Ryan Sleevi
2015/05/22 20:43:35
DANGER: This isn't explicitly sized, but it would
Mike West
2015/05/28 07:24:29
Following HostPortPair's lead, and converting this
| |
| 66 if (!ReadParam(m, iter, &scheme) || !ReadParam(m, iter, &host) || | |
| 67 !ReadParam(m, iter, &port)) { | |
| 64 *p = url::Origin(); | 68 *p = url::Origin(); |
| 65 return false; | 69 return false; |
| 66 } | 70 } |
| 67 *p = url::Origin(s); | 71 *p = url::Origin(scheme, host, port); |
| 68 return true; | 72 return true; |
| 69 } | 73 } |
| 70 | 74 |
| 71 void ParamTraits<url::Origin>::Log(const url::Origin& p, std::string* l) { | 75 void ParamTraits<url::Origin>::Log(const url::Origin& p, std::string* l) { |
| 72 l->append(p.string()); | 76 l->append(p.serialize()); |
| 73 } | 77 } |
| 74 | 78 |
| 75 void ParamTraits<net::HostPortPair>::Write(Message* m, const param_type& p) { | 79 void ParamTraits<net::HostPortPair>::Write(Message* m, const param_type& p) { |
| 76 WriteParam(m, p.host()); | 80 WriteParam(m, p.host()); |
| 77 WriteParam(m, p.port()); | 81 WriteParam(m, p.port()); |
| 78 } | 82 } |
| 79 | 83 |
| 80 bool ParamTraits<net::HostPortPair>::Read(const Message* m, | 84 bool ParamTraits<net::HostPortPair>::Read(const Message* m, |
| 81 PickleIterator* iter, | 85 PickleIterator* iter, |
| 82 param_type* r) { | 86 param_type* r) { |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 154 #undef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ | 158 #undef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ |
| 155 #include "content/public/common/common_param_traits_macros.h" | 159 #include "content/public/common/common_param_traits_macros.h" |
| 156 } // namespace IPC | 160 } // namespace IPC |
| 157 | 161 |
| 158 // Generate param traits log methods. | 162 // Generate param traits log methods. |
| 159 #include "ipc/param_traits_log_macros.h" | 163 #include "ipc/param_traits_log_macros.h" |
| 160 namespace IPC { | 164 namespace IPC { |
| 161 #undef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ | 165 #undef CONTENT_PUBLIC_COMMON_COMMON_PARAM_TRAITS_MACROS_H_ |
| 162 #include "content/public/common/common_param_traits_macros.h" | 166 #include "content/public/common/common_param_traits_macros.h" |
| 163 } // namespace IPC | 167 } // namespace IPC |
| OLD | NEW |