| 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/common/content_param_traits.h" | 5 #include "content/common/content_param_traits.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "content/common/accessibility_mode.h" | 10 #include "content/common/accessibility_mode.h" |
| 11 #include "content/common/message_port.h" | 11 #include "content/common/message_port.h" |
| 12 #include "ipc/ipc_mojo_message_helper.h" |
| 12 #include "ipc/ipc_mojo_param_traits.h" | 13 #include "ipc/ipc_mojo_param_traits.h" |
| 13 #include "net/base/ip_endpoint.h" | 14 #include "net/base/ip_endpoint.h" |
| 14 #include "ui/events/blink/web_input_event_traits.h" | 15 #include "ui/events/blink/web_input_event_traits.h" |
| 15 | 16 |
| 16 namespace IPC { | 17 namespace IPC { |
| 17 | 18 |
| 18 void ParamTraits<WebInputEventPointer>::GetSize(base::PickleSizer* s, | 19 void ParamTraits<WebInputEventPointer>::GetSize(base::PickleSizer* s, |
| 19 const param_type& p) { | 20 const param_type& p) { |
| 20 s->AddData(p->size()); | 21 s->AddData(p->size()); |
| 21 } | 22 } |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 param_type* r) { | 106 param_type* r) { |
| 106 uint32_t value; | 107 uint32_t value; |
| 107 if (!IPC::ReadParam(m, iter, &value)) | 108 if (!IPC::ReadParam(m, iter, &value)) |
| 108 return false; | 109 return false; |
| 109 *r = content::AccessibilityMode(value); | 110 *r = content::AccessibilityMode(value); |
| 110 return true; | 111 return true; |
| 111 } | 112 } |
| 112 | 113 |
| 113 void ParamTraits<content::AccessibilityMode>::Log(const param_type& p, | 114 void ParamTraits<content::AccessibilityMode>::Log(const param_type& p, |
| 114 std::string* l) {} | 115 std::string* l) {} |
| 116 |
| 117 void ParamTraits<storage::mojom::BlobPtr>::GetSize(base::PickleSizer* s, |
| 118 const param_type& p) { |
| 119 GetParamSize(s, p.is_bound()); |
| 120 if (p.is_bound()) { |
| 121 s->AddUInt32(); |
| 122 s->AddAttachment(); |
| 123 } |
| 124 } |
| 125 |
| 126 void ParamTraits<storage::mojom::BlobPtr>::Write(base::Pickle* m, |
| 127 const param_type& p) { |
| 128 WriteParam(m, p.is_bound()); |
| 129 if (p.is_bound()) { |
| 130 storage::mojom::BlobPtr clone; |
| 131 p->Clone(MakeRequest(&clone)); |
| 132 auto info = clone.PassInterface(); |
| 133 m->WriteUInt32(info.version()); |
| 134 MojoMessageHelper::WriteMessagePipeTo(m, info.PassHandle()); |
| 135 } |
| 136 } |
| 137 |
| 138 bool ParamTraits<storage::mojom::BlobPtr>::Read(const base::Pickle* m, |
| 139 base::PickleIterator* iter, |
| 140 param_type* r) { |
| 141 bool is_valid; |
| 142 if (!ReadParam(m, iter, &is_valid)) |
| 143 return false; |
| 144 if (!is_valid) |
| 145 return true; |
| 146 |
| 147 uint32_t version; |
| 148 if (!ReadParam(m, iter, &version)) |
| 149 return false; |
| 150 mojo::ScopedMessagePipeHandle handle; |
| 151 if (!MojoMessageHelper::ReadMessagePipeFrom(m, iter, &handle)) |
| 152 return false; |
| 153 DCHECK(handle.is_valid()); |
| 154 r->Bind( |
| 155 mojo::InterfacePtrInfo<storage::mojom::Blob>(std::move(handle), version)); |
| 156 return true; |
| 157 } |
| 158 |
| 159 void ParamTraits<storage::mojom::BlobPtr>::Log(const param_type& p, |
| 160 std::string* l) {} |
| 161 |
| 115 } // namespace IPC | 162 } // namespace IPC |
| 116 | 163 |
| 117 // Generate param traits size methods. | 164 // Generate param traits size methods. |
| 118 #include "ipc/param_traits_size_macros.h" | 165 #include "ipc/param_traits_size_macros.h" |
| 119 namespace IPC { | 166 namespace IPC { |
| 120 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ | 167 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ |
| 121 #include "content/common/content_param_traits_macros.h" | 168 #include "content/common/content_param_traits_macros.h" |
| 122 } | 169 } |
| 123 | 170 |
| 124 // Generate param traits write methods. | 171 // Generate param traits write methods. |
| 125 #include "ipc/param_traits_write_macros.h" | 172 #include "ipc/param_traits_write_macros.h" |
| 126 namespace IPC { | 173 namespace IPC { |
| 127 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ | 174 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ |
| 128 #include "content/common/content_param_traits_macros.h" | 175 #include "content/common/content_param_traits_macros.h" |
| 129 } // namespace IPC | 176 } // namespace IPC |
| 130 | 177 |
| 131 // Generate param traits read methods. | 178 // Generate param traits read methods. |
| 132 #include "ipc/param_traits_read_macros.h" | 179 #include "ipc/param_traits_read_macros.h" |
| 133 namespace IPC { | 180 namespace IPC { |
| 134 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ | 181 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ |
| 135 #include "content/common/content_param_traits_macros.h" | 182 #include "content/common/content_param_traits_macros.h" |
| 136 } // namespace IPC | 183 } // namespace IPC |
| 137 | 184 |
| 138 // Generate param traits log methods. | 185 // Generate param traits log methods. |
| 139 #include "ipc/param_traits_log_macros.h" | 186 #include "ipc/param_traits_log_macros.h" |
| 140 namespace IPC { | 187 namespace IPC { |
| 141 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ | 188 #undef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ |
| 142 #include "content/common/content_param_traits_macros.h" | 189 #include "content/common/content_param_traits_macros.h" |
| 143 } // namespace IPC | 190 } // namespace IPC |
| OLD | NEW |