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

Side by Side Diff: content/common/webkit_param_traits.cc

Issue 8368004: Move common_param_traits and webkit_param_traits to content/public/common. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « content/common/webkit_param_traits.h ('k') | content/content_common.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // NOTE: New trait definitions that will be used by Chrome Frame must be placed
6 // in common_param_traits2.cc.
7
8 #include "content/common/webkit_param_traits.h"
9
10 #include "base/string_number_conversions.h"
11 #include "content/common/common_param_traits.h"
12 #include "content/common/content_constants.h"
13 #include "third_party/WebKit/Source/WebKit/chromium/public/WebBindings.h"
14 #include "webkit/glue/password_form.h"
15 #include "webkit/glue/resource_loader_bridge.h"
16
17 NPIdentifier_Param::NPIdentifier_Param()
18 : identifier() {
19 }
20
21 NPIdentifier_Param::~NPIdentifier_Param() {
22 }
23
24 NPVariant_Param::NPVariant_Param()
25 : type(NPVARIANT_PARAM_VOID),
26 bool_value(false),
27 int_value(0),
28 double_value(0),
29 npobject_routing_id(-1) {
30 }
31
32 NPVariant_Param::~NPVariant_Param() {
33 }
34
35 namespace IPC {
36
37 void ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Write(
38 Message* m, const param_type& p) {
39 WriteParam(m, p.base_time.is_null());
40 if (p.base_time.is_null())
41 return;
42 WriteParam(m, p.base_time);
43 WriteParam(m, p.proxy_start);
44 WriteParam(m, p.proxy_end);
45 WriteParam(m, p.dns_start);
46 WriteParam(m, p.dns_end);
47 WriteParam(m, p.connect_start);
48 WriteParam(m, p.connect_end);
49 WriteParam(m, p.ssl_start);
50 WriteParam(m, p.ssl_end);
51 WriteParam(m, p.send_start);
52 WriteParam(m, p.send_end);
53 WriteParam(m, p.receive_headers_start);
54 WriteParam(m, p.receive_headers_end);
55 }
56
57 bool ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Read(
58 const Message* m, void** iter, param_type* r) {
59 bool is_null;
60 if (!ReadParam(m, iter, &is_null))
61 return false;
62 if (is_null)
63 return true;
64
65 return
66 ReadParam(m, iter, &r->base_time) &&
67 ReadParam(m, iter, &r->proxy_start) &&
68 ReadParam(m, iter, &r->proxy_end) &&
69 ReadParam(m, iter, &r->dns_start) &&
70 ReadParam(m, iter, &r->dns_end) &&
71 ReadParam(m, iter, &r->connect_start) &&
72 ReadParam(m, iter, &r->connect_end) &&
73 ReadParam(m, iter, &r->ssl_start) &&
74 ReadParam(m, iter, &r->ssl_end) &&
75 ReadParam(m, iter, &r->send_start) &&
76 ReadParam(m, iter, &r->send_end) &&
77 ReadParam(m, iter, &r->receive_headers_start) &&
78 ReadParam(m, iter, &r->receive_headers_end);
79 }
80
81 void ParamTraits<webkit_glue::ResourceLoadTimingInfo>::Log(const param_type& p,
82 std::string* l) {
83 l->append("(");
84 LogParam(p.base_time, l);
85 l->append(", ");
86 LogParam(p.proxy_start, l);
87 l->append(", ");
88 LogParam(p.proxy_end, l);
89 l->append(", ");
90 LogParam(p.dns_start, l);
91 l->append(", ");
92 LogParam(p.dns_end, l);
93 l->append(", ");
94 LogParam(p.connect_start, l);
95 l->append(", ");
96 LogParam(p.connect_end, l);
97 l->append(", ");
98 LogParam(p.ssl_start, l);
99 l->append(", ");
100 LogParam(p.ssl_end, l);
101 l->append(", ");
102 LogParam(p.send_start, l);
103 l->append(", ");
104 LogParam(p.send_end, l);
105 l->append(", ");
106 LogParam(p.receive_headers_start, l);
107 l->append(", ");
108 LogParam(p.receive_headers_end, l);
109 l->append(")");
110 }
111
112 void ParamTraits<scoped_refptr<webkit_glue::ResourceDevToolsInfo> >::Write(
113 Message* m, const param_type& p) {
114 WriteParam(m, p.get() != NULL);
115 if (p.get()) {
116 WriteParam(m, p->http_status_code);
117 WriteParam(m, p->http_status_text);
118 WriteParam(m, p->request_headers);
119 WriteParam(m, p->response_headers);
120 WriteParam(m, p->request_headers_text);
121 WriteParam(m, p->response_headers_text);
122 }
123 }
124
125 bool ParamTraits<scoped_refptr<webkit_glue::ResourceDevToolsInfo> >::Read(
126 const Message* m, void** iter, param_type* r) {
127 bool has_object;
128 if (!ReadParam(m, iter, &has_object))
129 return false;
130 if (!has_object)
131 return true;
132 *r = new webkit_glue::ResourceDevToolsInfo();
133 return
134 ReadParam(m, iter, &(*r)->http_status_code) &&
135 ReadParam(m, iter, &(*r)->http_status_text) &&
136 ReadParam(m, iter, &(*r)->request_headers) &&
137 ReadParam(m, iter, &(*r)->response_headers) &&
138 ReadParam(m, iter, &(*r)->request_headers_text) &&
139 ReadParam(m, iter, &(*r)->response_headers_text);
140 }
141
142 void ParamTraits<scoped_refptr<webkit_glue::ResourceDevToolsInfo> >::Log(
143 const param_type& p, std::string* l) {
144 l->append("(");
145 if (p) {
146 LogParam(p->request_headers, l);
147 l->append(", ");
148 LogParam(p->response_headers, l);
149 }
150 l->append(")");
151 }
152
153 void ParamTraits<NPVariant_Param>::Write(Message* m, const param_type& p) {
154 WriteParam(m, static_cast<int>(p.type));
155 if (p.type == NPVARIANT_PARAM_BOOL) {
156 WriteParam(m, p.bool_value);
157 } else if (p.type == NPVARIANT_PARAM_INT) {
158 WriteParam(m, p.int_value);
159 } else if (p.type == NPVARIANT_PARAM_DOUBLE) {
160 WriteParam(m, p.double_value);
161 } else if (p.type == NPVARIANT_PARAM_STRING) {
162 WriteParam(m, p.string_value);
163 } else if (p.type == NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
164 p.type == NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
165 // This is the routing id used to connect NPObjectProxy in the other
166 // process with NPObjectStub in this process or to identify the raw
167 // npobject pointer to be used in the callee process.
168 WriteParam(m, p.npobject_routing_id);
169 } else {
170 DCHECK(p.type == NPVARIANT_PARAM_VOID || p.type == NPVARIANT_PARAM_NULL);
171 }
172 }
173
174 bool ParamTraits<NPVariant_Param>::Read(const Message* m,
175 void** iter,
176 param_type* r) {
177 int type;
178 if (!ReadParam(m, iter, &type))
179 return false;
180
181 bool result = false;
182 r->type = static_cast<NPVariant_ParamEnum>(type);
183 if (r->type == NPVARIANT_PARAM_BOOL) {
184 result = ReadParam(m, iter, &r->bool_value);
185 } else if (r->type == NPVARIANT_PARAM_INT) {
186 result = ReadParam(m, iter, &r->int_value);
187 } else if (r->type == NPVARIANT_PARAM_DOUBLE) {
188 result = ReadParam(m, iter, &r->double_value);
189 } else if (r->type == NPVARIANT_PARAM_STRING) {
190 result = ReadParam(m, iter, &r->string_value);
191 } else if (r->type == NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
192 r->type == NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
193 result = ReadParam(m, iter, &r->npobject_routing_id);
194 } else if ((r->type == NPVARIANT_PARAM_VOID) ||
195 (r->type == NPVARIANT_PARAM_NULL)) {
196 result = true;
197 } else {
198 NOTREACHED();
199 }
200
201 return result;
202 }
203
204 void ParamTraits<NPVariant_Param>::Log(const param_type& p, std::string* l) {
205 l->append(StringPrintf("NPVariant_Param(%d, ", static_cast<int>(p.type)));
206 if (p.type == NPVARIANT_PARAM_BOOL) {
207 LogParam(p.bool_value, l);
208 } else if (p.type == NPVARIANT_PARAM_INT) {
209 LogParam(p.int_value, l);
210 } else if (p.type == NPVARIANT_PARAM_DOUBLE) {
211 LogParam(p.double_value, l);
212 } else if (p.type == NPVARIANT_PARAM_STRING) {
213 LogParam(p.string_value, l);
214 } else if (p.type == NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
215 p.type == NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
216 LogParam(p.npobject_routing_id, l);
217 } else {
218 l->append("<none>");
219 }
220 l->append(")");
221 }
222
223 void ParamTraits<NPIdentifier_Param>::Write(Message* m, const param_type& p) {
224 webkit_glue::SerializeNPIdentifier(p.identifier, m);
225 }
226
227 bool ParamTraits<NPIdentifier_Param>::Read(const Message* m,
228 void** iter,
229 param_type* r) {
230 return webkit_glue::DeserializeNPIdentifier(*m, iter, &r->identifier);
231 }
232
233 void ParamTraits<NPIdentifier_Param>::Log(const param_type& p, std::string* l) {
234 if (WebKit::WebBindings::identifierIsString(p.identifier)) {
235 NPUTF8* str = WebKit::WebBindings::utf8FromIdentifier(p.identifier);
236 l->append(str);
237 NPN_MemFree(str);
238 } else {
239 l->append(base::IntToString(
240 WebKit::WebBindings::intFromIdentifier(p.identifier)));
241 }
242 }
243
244 void ParamTraits<webkit::WebPluginMimeType>::Write(Message* m,
245 const param_type& p) {
246 WriteParam(m, p.mime_type);
247 WriteParam(m, p.file_extensions);
248 WriteParam(m, p.description);
249 WriteParam(m, p.additional_param_names);
250 WriteParam(m, p.additional_param_values);
251 }
252
253 bool ParamTraits<webkit::WebPluginMimeType>::Read(const Message* m,
254 void** iter,
255 param_type* p) {
256 return
257 ReadParam(m, iter, &p->mime_type) &&
258 ReadParam(m, iter, &p->file_extensions) &&
259 ReadParam(m, iter, &p->description) &&
260 ReadParam(m, iter, &p->additional_param_names) &&
261 ReadParam(m, iter, &p->additional_param_values);
262 }
263
264 void ParamTraits<webkit::WebPluginMimeType>::Log(
265 const param_type& p, std::string* l) {
266 l->append("(");
267 LogParam(p.mime_type, l); l->append(", ");
268 LogParam(p.file_extensions, l); l->append(", ");
269 LogParam(p.description, l); l->append(", ");
270 LogParam(p.additional_param_names, l); l->append(", ");
271 LogParam(p.additional_param_values, l);
272 l->append(")");
273 }
274
275 void ParamTraits<webkit::WebPluginInfo>::Write(Message* m,
276 const param_type& p) {
277 WriteParam(m, p.name);
278 WriteParam(m, p.path);
279 WriteParam(m, p.version);
280 WriteParam(m, p.desc);
281 WriteParam(m, p.mime_types);
282 WriteParam(m, p.type);
283 }
284
285 bool ParamTraits<webkit::WebPluginInfo>::Read(const Message* m,
286 void** iter,
287 param_type* p) {
288 return
289 ReadParam(m, iter, &p->name) &&
290 ReadParam(m, iter, &p->path) &&
291 ReadParam(m, iter, &p->version) &&
292 ReadParam(m, iter, &p->desc) &&
293 ReadParam(m, iter, &p->mime_types) &&
294 ReadParam(m, iter, &p->type);
295 }
296 void ParamTraits<webkit::WebPluginInfo>::Log(const param_type& p,
297 std::string* l) {
298 l->append("(");
299 LogParam(p.name, l); l->append(", ");
300 LogParam(p.path, l); l->append(", ");
301 LogParam(p.version, l); l->append(", ");
302 LogParam(p.desc, l); l->append(", ");
303 LogParam(p.mime_types, l); l->append(", ");
304 LogParam(p.type, l);
305 l->append(")");
306 }
307
308 void ParamTraits<webkit_glue::PasswordForm>::Write(Message* m,
309 const param_type& p) {
310 WriteParam(m, p.signon_realm);
311 WriteParam(m, p.origin);
312 WriteParam(m, p.action);
313 WriteParam(m, p.submit_element);
314 WriteParam(m, p.username_element);
315 WriteParam(m, p.username_value);
316 WriteParam(m, p.password_element);
317 WriteParam(m, p.password_value);
318 WriteParam(m, p.old_password_element);
319 WriteParam(m, p.old_password_value);
320 WriteParam(m, p.ssl_valid);
321 WriteParam(m, p.preferred);
322 WriteParam(m, p.blacklisted_by_user);
323 }
324
325 bool ParamTraits<webkit_glue::PasswordForm>::Read(const Message* m, void** iter,
326 param_type* p) {
327 return
328 ReadParam(m, iter, &p->signon_realm) &&
329 ReadParam(m, iter, &p->origin) &&
330 ReadParam(m, iter, &p->action) &&
331 ReadParam(m, iter, &p->submit_element) &&
332 ReadParam(m, iter, &p->username_element) &&
333 ReadParam(m, iter, &p->username_value) &&
334 ReadParam(m, iter, &p->password_element) &&
335 ReadParam(m, iter, &p->password_value) &&
336 ReadParam(m, iter, &p->old_password_element) &&
337 ReadParam(m, iter, &p->old_password_value) &&
338 ReadParam(m, iter, &p->ssl_valid) &&
339 ReadParam(m, iter, &p->preferred) &&
340 ReadParam(m, iter, &p->blacklisted_by_user);
341 }
342 void ParamTraits<webkit_glue::PasswordForm>::Log(const param_type& p,
343 std::string* l) {
344 l->append("<PasswordForm>");
345 }
346
347 } // namespace IPC
OLDNEW
« no previous file with comments | « content/common/webkit_param_traits.h ('k') | content/content_common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698