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

Side by Side Diff: chrome/common/render_messages.cc

Issue 3106018: Reapplies all the IPC system work (reverts the revert r56272). (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 4 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
« no previous file with comments | « chrome/common/render_messages.h ('k') | chrome/common/render_messages_internal.h » ('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) 2010 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 #include "chrome/common/render_messages.h"
6
7 #include "base/values.h"
8 #include "chrome/common/edit_command.h"
9 #include "chrome/common/extensions/extension_extent.h"
10 #include "chrome/common/extensions/url_pattern.h"
11 #include "chrome/common/indexed_db_key.h"
12 #include "chrome/common/serialized_script_value.h"
13 #include "chrome/common/thumbnail_score.h"
14 #include "gfx/rect.h"
15 #include "ipc/ipc_channel_handle.h"
16 #include "net/http/http_response_headers.h"
17 #include "third_party/skia/include/core/SkBitmap.h"
18 #include "third_party/WebKit/WebKit/chromium/public/WebCompositionUnderline.h"
19 #include "third_party/WebKit/WebKit/chromium/public/WebFindOptions.h"
20 #include "third_party/WebKit/WebKit/chromium/public/WebMediaPlayerAction.h"
21 #include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h"
22 #include "webkit/appcache/appcache_interfaces.h"
23 #include "webkit/glue/context_menu.h"
24 #include "webkit/glue/form_data.h"
25 #include "webkit/glue/form_field.h"
26 #include "webkit/glue/password_form_dom_manager.h"
27 #include "webkit/glue/password_form.h"
28 #include "webkit/glue/webaccessibility.h"
29 #include "webkit/glue/webcookie.h"
30 #include "webkit/glue/webcursor.h"
31 #include "webkit/glue/webdropdata.h"
32 #include "webkit/glue/plugins/webplugin.h"
33 #include "webkit/glue/plugins/webplugininfo.h"
34 #include "webkit/glue/dom_operations.h"
35
36 #define MESSAGES_INTERNAL_IMPL_FILE \
37 "chrome/common/render_messages_internal.h"
38 #include "ipc/ipc_message_impl_macros.h"
39
40 namespace IPC {
41
42 void ParamTraits<ViewMsg_Navigate_Params>::Write(Message* m,
43 const param_type& p) {
44 WriteParam(m, p.page_id);
45 WriteParam(m, p.pending_history_list_offset);
46 WriteParam(m, p.current_history_list_offset);
47 WriteParam(m, p.current_history_list_length);
48 WriteParam(m, p.url);
49 WriteParam(m, p.referrer);
50 WriteParam(m, p.transition);
51 WriteParam(m, p.state);
52 WriteParam(m, p.navigation_type);
53 WriteParam(m, p.request_time);
54 }
55
56 bool ParamTraits<ViewMsg_Navigate_Params>::Read(const Message* m, void** iter,
57 param_type* p) {
58 return
59 ReadParam(m, iter, &p->page_id) &&
60 ReadParam(m, iter, &p->pending_history_list_offset) &&
61 ReadParam(m, iter, &p->current_history_list_offset) &&
62 ReadParam(m, iter, &p->current_history_list_length) &&
63 ReadParam(m, iter, &p->url) &&
64 ReadParam(m, iter, &p->referrer) &&
65 ReadParam(m, iter, &p->transition) &&
66 ReadParam(m, iter, &p->state) &&
67 ReadParam(m, iter, &p->navigation_type) &&
68 ReadParam(m, iter, &p->request_time);
69 }
70
71 void ParamTraits<ViewMsg_Navigate_Params>::Log(const param_type& p,
72 std::wstring* l) {
73 l->append(L"(");
74 LogParam(p.page_id, l);
75 l->append(L", ");
76 LogParam(p.url, l);
77 l->append(L", ");
78 LogParam(p.transition, l);
79 l->append(L", ");
80 LogParam(p.state, l);
81 l->append(L", ");
82 LogParam(p.navigation_type, l);
83 l->append(L", ");
84 LogParam(p.request_time, l);
85 l->append(L")");
86 }
87
88 void ParamTraits<webkit_glue::FormField>::Write(Message* m,
89 const param_type& p) {
90 WriteParam(m, p.label());
91 WriteParam(m, p.name());
92 WriteParam(m, p.value());
93 WriteParam(m, p.form_control_type());
94 WriteParam(m, p.size());
95 WriteParam(m, p.option_strings());
96 }
97
98 bool ParamTraits<webkit_glue::FormField>::Read(const Message* m, void** iter,
99 param_type* p) {
100 string16 label, name, value, form_control_type;
101 int size = 0;
102 std::vector<string16> options;
103 bool result = ReadParam(m, iter, &label);
104 result = result && ReadParam(m, iter, &name);
105 result = result && ReadParam(m, iter, &value);
106 result = result && ReadParam(m, iter, &form_control_type);
107 result = result && ReadParam(m, iter, &size);
108 result = result && ReadParam(m, iter, &options);
109 if (!result)
110 return false;
111
112 p->set_label(label);
113 p->set_name(name);
114 p->set_value(value);
115 p->set_form_control_type(form_control_type);
116 p->set_size(size);
117 p->set_option_strings(options);
118 return true;
119 }
120
121 void ParamTraits<webkit_glue::FormField>::Log(const param_type& p,
122 std::wstring* l) {
123 l->append(L"<FormField>");
124 }
125
126 void ParamTraits<ContextMenuParams>::Write(Message* m, const param_type& p) {
127 WriteParam(m, p.media_type);
128 WriteParam(m, p.x);
129 WriteParam(m, p.y);
130 WriteParam(m, p.link_url);
131 WriteParam(m, p.unfiltered_link_url);
132 WriteParam(m, p.src_url);
133 WriteParam(m, p.is_image_blocked);
134 WriteParam(m, p.page_url);
135 WriteParam(m, p.frame_url);
136 WriteParam(m, p.media_flags);
137 WriteParam(m, p.selection_text);
138 WriteParam(m, p.misspelled_word);
139 WriteParam(m, p.dictionary_suggestions);
140 WriteParam(m, p.spellcheck_enabled);
141 WriteParam(m, p.is_editable);
142 #if defined(OS_MACOSX)
143 WriteParam(m, p.writing_direction_default);
144 WriteParam(m, p.writing_direction_left_to_right);
145 WriteParam(m, p.writing_direction_right_to_left);
146 #endif // OS_MACOSX
147 WriteParam(m, p.edit_flags);
148 WriteParam(m, p.security_info);
149 WriteParam(m, p.frame_charset);
150 WriteParam(m, p.custom_items);
151 }
152
153 bool ParamTraits<ContextMenuParams>::Read(const Message* m, void** iter,
154 param_type* p) {
155 return
156 ReadParam(m, iter, &p->media_type) &&
157 ReadParam(m, iter, &p->x) &&
158 ReadParam(m, iter, &p->y) &&
159 ReadParam(m, iter, &p->link_url) &&
160 ReadParam(m, iter, &p->unfiltered_link_url) &&
161 ReadParam(m, iter, &p->src_url) &&
162 ReadParam(m, iter, &p->is_image_blocked) &&
163 ReadParam(m, iter, &p->page_url) &&
164 ReadParam(m, iter, &p->frame_url) &&
165 ReadParam(m, iter, &p->media_flags) &&
166 ReadParam(m, iter, &p->selection_text) &&
167 ReadParam(m, iter, &p->misspelled_word) &&
168 ReadParam(m, iter, &p->dictionary_suggestions) &&
169 ReadParam(m, iter, &p->spellcheck_enabled) &&
170 ReadParam(m, iter, &p->is_editable) &&
171 #if defined(OS_MACOSX)
172 ReadParam(m, iter, &p->writing_direction_default) &&
173 ReadParam(m, iter, &p->writing_direction_left_to_right) &&
174 ReadParam(m, iter, &p->writing_direction_right_to_left) &&
175 #endif // OS_MACOSX
176 ReadParam(m, iter, &p->edit_flags) &&
177 ReadParam(m, iter, &p->security_info) &&
178 ReadParam(m, iter, &p->frame_charset) &&
179 ReadParam(m, iter, &p->custom_items);
180 }
181
182 void ParamTraits<ContextMenuParams>::Log(const param_type& p,
183 std::wstring* l) {
184 l->append(L"<ContextMenuParams>");
185 }
186
187 void ParamTraits<ViewHostMsg_UpdateRect_Params>::Write(
188 Message* m, const param_type& p) {
189 WriteParam(m, p.bitmap);
190 WriteParam(m, p.bitmap_rect);
191 WriteParam(m, p.dx);
192 WriteParam(m, p.dy);
193 WriteParam(m, p.scroll_rect);
194 WriteParam(m, p.copy_rects);
195 WriteParam(m, p.view_size);
196 WriteParam(m, p.plugin_window_moves);
197 WriteParam(m, p.flags);
198 }
199
200 bool ParamTraits<ViewHostMsg_UpdateRect_Params>::Read(
201 const Message* m, void** iter, param_type* p) {
202 return
203 ReadParam(m, iter, &p->bitmap) &&
204 ReadParam(m, iter, &p->bitmap_rect) &&
205 ReadParam(m, iter, &p->dx) &&
206 ReadParam(m, iter, &p->dy) &&
207 ReadParam(m, iter, &p->scroll_rect) &&
208 ReadParam(m, iter, &p->copy_rects) &&
209 ReadParam(m, iter, &p->view_size) &&
210 ReadParam(m, iter, &p->plugin_window_moves) &&
211 ReadParam(m, iter, &p->flags);
212 }
213
214 void ParamTraits<ViewHostMsg_UpdateRect_Params>::Log(const param_type& p,
215 std::wstring* l) {
216 l->append(L"(");
217 LogParam(p.bitmap, l);
218 l->append(L", ");
219 LogParam(p.bitmap_rect, l);
220 l->append(L", ");
221 LogParam(p.dx, l);
222 l->append(L", ");
223 LogParam(p.dy, l);
224 l->append(L", ");
225 LogParam(p.scroll_rect, l);
226 l->append(L", ");
227 LogParam(p.copy_rects, l);
228 l->append(L", ");
229 LogParam(p.view_size, l);
230 l->append(L", ");
231 LogParam(p.plugin_window_moves, l);
232 l->append(L", ");
233 LogParam(p.flags, l);
234 l->append(L")");
235 }
236
237 void ParamTraits<webkit_glue::WebPluginGeometry>::Write(Message* m,
238 const param_type& p) {
239 WriteParam(m, p.window);
240 WriteParam(m, p.window_rect);
241 WriteParam(m, p.clip_rect);
242 WriteParam(m, p.cutout_rects);
243 WriteParam(m, p.rects_valid);
244 WriteParam(m, p.visible);
245 }
246
247 bool ParamTraits<webkit_glue::WebPluginGeometry>::Read(
248 const Message* m, void** iter, param_type* p) {
249 return
250 ReadParam(m, iter, &p->window) &&
251 ReadParam(m, iter, &p->window_rect) &&
252 ReadParam(m, iter, &p->clip_rect) &&
253 ReadParam(m, iter, &p->cutout_rects) &&
254 ReadParam(m, iter, &p->rects_valid) &&
255 ReadParam(m, iter, &p->visible);
256 }
257
258 void ParamTraits<webkit_glue::WebPluginGeometry>::Log(const param_type& p,
259 std::wstring* l) {
260 l->append(L"(");
261 LogParam(p.window, l);
262 l->append(L", ");
263 LogParam(p.window_rect, l);
264 l->append(L", ");
265 LogParam(p.clip_rect, l);
266 l->append(L", ");
267 LogParam(p.cutout_rects, l);
268 l->append(L", ");
269 LogParam(p.rects_valid, l);
270 l->append(L", ");
271 LogParam(p.visible, l);
272 l->append(L")");
273 }
274
275 void ParamTraits<WebPluginMimeType>::Write(Message* m, const param_type& p) {
276 WriteParam(m, p.mime_type);
277 WriteParam(m, p.file_extensions);
278 WriteParam(m, p.description);
279 }
280
281 bool ParamTraits<WebPluginMimeType>::Read(const Message* m, void** iter,
282 param_type* r) {
283 return
284 ReadParam(m, iter, &r->mime_type) &&
285 ReadParam(m, iter, &r->file_extensions) &&
286 ReadParam(m, iter, &r->description);
287 }
288
289 void ParamTraits<WebPluginMimeType>::Log(const param_type& p, std::wstring* l) {
290 l->append(L"(");
291 LogParam(p.mime_type, l);
292 l->append(L", ");
293 LogParam(p.file_extensions, l);
294 l->append(L", ");
295 LogParam(p.description, l);
296 l->append(L")");
297 }
298
299 void ParamTraits<WebPluginInfo>::Write(Message* m, const param_type& p) {
300 WriteParam(m, p.name);
301 WriteParam(m, p.path);
302 WriteParam(m, p.version);
303 WriteParam(m, p.desc);
304 WriteParam(m, p.mime_types);
305 WriteParam(m, p.enabled);
306 }
307
308 bool ParamTraits<WebPluginInfo>::Read(const Message* m, void** iter,
309 param_type* r) {
310 return
311 ReadParam(m, iter, &r->name) &&
312 ReadParam(m, iter, &r->path) &&
313 ReadParam(m, iter, &r->version) &&
314 ReadParam(m, iter, &r->desc) &&
315 ReadParam(m, iter, &r->mime_types) &&
316 ReadParam(m, iter, &r->enabled);
317 }
318
319 void ParamTraits<WebPluginInfo>::Log(const param_type& p, std::wstring* l) {
320 l->append(L"(");
321 LogParam(p.name, l);
322 l->append(L", ");
323 l->append(L", ");
324 LogParam(p.path, l);
325 l->append(L", ");
326 LogParam(p.version, l);
327 l->append(L", ");
328 LogParam(p.desc, l);
329 l->append(L", ");
330 LogParam(p.mime_types, l);
331 l->append(L", ");
332 LogParam(p.enabled, l);
333 l->append(L")");
334 }
335
336 void ParamTraits<webkit_glue::PasswordFormFillData>::Write(
337 Message* m, const param_type& p) {
338 WriteParam(m, p.basic_data);
339 WriteParam(m, p.additional_logins);
340 WriteParam(m, p.wait_for_username);
341 }
342
343 bool ParamTraits<webkit_glue::PasswordFormFillData>::Read(
344 const Message* m, void** iter, param_type* r) {
345 return
346 ReadParam(m, iter, &r->basic_data) &&
347 ReadParam(m, iter, &r->additional_logins) &&
348 ReadParam(m, iter, &r->wait_for_username);
349 }
350
351 void ParamTraits<webkit_glue::PasswordFormFillData>::Log(const param_type& p,
352 std::wstring* l) {
353 l->append(L"<PasswordFormFillData>");
354 }
355
356 void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Write(
357 Message* m, const param_type& p) {
358 WriteParam(m, p.get() != NULL);
359 if (p) {
360 // Do not disclose Set-Cookie headers over IPC.
361 p->Persist(m, net::HttpResponseHeaders::PERSIST_SANS_COOKIES);
362 }
363 }
364
365 bool ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Read(
366 const Message* m, void** iter, param_type* r) {
367 bool has_object;
368 if (!ReadParam(m, iter, &has_object))
369 return false;
370 if (has_object)
371 *r = new net::HttpResponseHeaders(*m, iter);
372 return true;
373 }
374
375 void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Log(
376 const param_type& p, std::wstring* l) {
377 l->append(L"<HttpResponseHeaders>");
378 }
379
380 void ParamTraits<SerializedScriptValue>::Write(Message* m, const param_type& p) {
381 WriteParam(m, p.is_null());
382 WriteParam(m, p.is_invalid());
383 WriteParam(m, p.data());
384 }
385
386 bool ParamTraits<SerializedScriptValue>::Read(const Message* m, void** iter,
387 param_type* r) {
388 bool is_null;
389 bool is_invalid;
390 string16 data;
391 bool ok =
392 ReadParam(m, iter, &is_null) &&
393 ReadParam(m, iter, &is_invalid) &&
394 ReadParam(m, iter, &data);
395 if (!ok)
396 return false;
397 r->set_is_null(is_null);
398 r->set_is_invalid(is_invalid);
399 r->set_data(data);
400 return true;
401 }
402
403 void ParamTraits<SerializedScriptValue>::Log(const param_type& p,
404 std::wstring* l) {
405 l->append(L"<SerializedScriptValue>(");
406 LogParam(p.is_null(), l);
407 l->append(L", ");
408 LogParam(p.is_invalid(), l);
409 l->append(L", ");
410 LogParam(p.data(), l);
411 l->append(L")");
412 }
413
414 void ParamTraits<IndexedDBKey>::Write(Message* m, const param_type& p) {
415 WriteParam(m, int(p.type()));
416 // TODO(jorlow): Technically, we only need to pack the type being used.
417 WriteParam(m, p.string());
418 WriteParam(m, p.number());
419 }
420
421 bool ParamTraits<IndexedDBKey>::Read(const Message* m, void** iter,
422 param_type* r) {
423 int type;
424 string16 string;
425 int32 number;
426 bool ok =
427 ReadParam(m, iter, &type) &&
428 ReadParam(m, iter, &string) &&
429 ReadParam(m, iter, &number);
430 if (!ok)
431 return false;
432 switch (type) {
433 case WebKit::WebIDBKey::NullType:
434 r->SetNull();
435 return true;
436 case WebKit::WebIDBKey::StringType:
437 r->Set(string);
438 return true;
439 case WebKit::WebIDBKey::NumberType:
440 r->Set(number);
441 return true;
442 case WebKit::WebIDBKey::InvalidType:
443 r->SetInvalid();
444 return true;
445 }
446 NOTREACHED();
447 return false;
448 }
449
450 void ParamTraits<IndexedDBKey>::Log(const param_type& p, std::wstring* l) {
451 l->append(L"<IndexedDBKey>(");
452 LogParam(int(p.type()), l);
453 l->append(L", ");
454 LogParam(p.string(), l);
455 l->append(L", ");
456 LogParam(p.number(), l);
457 l->append(L")");
458 }
459
460 void ParamTraits<webkit_glue::FormData>::Write(Message* m,
461 const param_type& p) {
462 WriteParam(m, p.name);
463 WriteParam(m, p.method);
464 WriteParam(m, p.origin);
465 WriteParam(m, p.action);
466 WriteParam(m, p.user_submitted);
467 WriteParam(m, p.fields);
468 }
469
470 bool ParamTraits<webkit_glue::FormData>::Read(const Message* m, void** iter,
471 param_type* p) {
472 return
473 ReadParam(m, iter, &p->name) &&
474 ReadParam(m, iter, &p->method) &&
475 ReadParam(m, iter, &p->origin) &&
476 ReadParam(m, iter, &p->action) &&
477 ReadParam(m, iter, &p->user_submitted) &&
478 ReadParam(m, iter, &p->fields);
479 }
480
481 void ParamTraits<webkit_glue::FormData>::Log(const param_type& p,
482 std::wstring* l) {
483 l->append(L"<FormData>");
484 }
485
486 void ParamTraits<RendererPreferences>::Write(Message* m, const param_type& p) {
487 WriteParam(m, p.can_accept_load_drops);
488 WriteParam(m, p.should_antialias_text);
489 WriteParam(m, static_cast<int>(p.hinting));
490 WriteParam(m, static_cast<int>(p.subpixel_rendering));
491 WriteParam(m, p.focus_ring_color);
492 WriteParam(m, p.thumb_active_color);
493 WriteParam(m, p.thumb_inactive_color);
494 WriteParam(m, p.track_color);
495 WriteParam(m, p.active_selection_bg_color);
496 WriteParam(m, p.active_selection_fg_color);
497 WriteParam(m, p.inactive_selection_bg_color);
498 WriteParam(m, p.inactive_selection_fg_color);
499 WriteParam(m, p.browser_handles_top_level_requests);
500 WriteParam(m, p.caret_blink_interval);
501 }
502
503 bool ParamTraits<RendererPreferences>::Read(const Message* m, void** iter,
504 param_type* p) {
505 if (!ReadParam(m, iter, &p->can_accept_load_drops))
506 return false;
507 if (!ReadParam(m, iter, &p->should_antialias_text))
508 return false;
509
510 int hinting = 0;
511 if (!ReadParam(m, iter, &hinting))
512 return false;
513 p->hinting = static_cast<RendererPreferencesHintingEnum>(hinting);
514
515 int subpixel_rendering = 0;
516 if (!ReadParam(m, iter, &subpixel_rendering))
517 return false;
518 p->subpixel_rendering =
519 static_cast<RendererPreferencesSubpixelRenderingEnum>(
520 subpixel_rendering);
521
522 int focus_ring_color;
523 if (!ReadParam(m, iter, &focus_ring_color))
524 return false;
525 p->focus_ring_color = focus_ring_color;
526
527 int thumb_active_color, thumb_inactive_color, track_color;
528 int active_selection_bg_color, active_selection_fg_color;
529 int inactive_selection_bg_color, inactive_selection_fg_color;
530 if (!ReadParam(m, iter, &thumb_active_color) ||
531 !ReadParam(m, iter, &thumb_inactive_color) ||
532 !ReadParam(m, iter, &track_color) ||
533 !ReadParam(m, iter, &active_selection_bg_color) ||
534 !ReadParam(m, iter, &active_selection_fg_color) ||
535 !ReadParam(m, iter, &inactive_selection_bg_color) ||
536 !ReadParam(m, iter, &inactive_selection_fg_color))
537 return false;
538 p->thumb_active_color = thumb_active_color;
539 p->thumb_inactive_color = thumb_inactive_color;
540 p->track_color = track_color;
541 p->active_selection_bg_color = active_selection_bg_color;
542 p->active_selection_fg_color = active_selection_fg_color;
543 p->inactive_selection_bg_color = inactive_selection_bg_color;
544 p->inactive_selection_fg_color = inactive_selection_fg_color;
545
546 if (!ReadParam(m, iter, &p->browser_handles_top_level_requests))
547 return false;
548
549 if (!ReadParam(m, iter, &p->caret_blink_interval))
550 return false;
551
552 return true;
553 }
554
555 void ParamTraits<RendererPreferences>::Log(const param_type& p,
556 std::wstring* l) {
557 l->append(L"<RendererPreferences>");
558 }
559
560 void ParamTraits<WebPreferences>::Write(Message* m, const param_type& p) {
561 WriteParam(m, p.standard_font_family);
562 WriteParam(m, p.fixed_font_family);
563 WriteParam(m, p.serif_font_family);
564 WriteParam(m, p.sans_serif_font_family);
565 WriteParam(m, p.cursive_font_family);
566 WriteParam(m, p.fantasy_font_family);
567 WriteParam(m, p.default_font_size);
568 WriteParam(m, p.default_fixed_font_size);
569 WriteParam(m, p.minimum_font_size);
570 WriteParam(m, p.minimum_logical_font_size);
571 WriteParam(m, p.default_encoding);
572 WriteParam(m, p.javascript_enabled);
573 WriteParam(m, p.web_security_enabled);
574 WriteParam(m, p.javascript_can_open_windows_automatically);
575 WriteParam(m, p.loads_images_automatically);
576 WriteParam(m, p.plugins_enabled);
577 WriteParam(m, p.dom_paste_enabled);
578 WriteParam(m, p.developer_extras_enabled);
579 WriteParam(m, p.inspector_settings);
580 WriteParam(m, p.site_specific_quirks_enabled);
581 WriteParam(m, p.shrinks_standalone_images_to_fit);
582 WriteParam(m, p.uses_universal_detector);
583 WriteParam(m, p.text_areas_are_resizable);
584 WriteParam(m, p.java_enabled);
585 WriteParam(m, p.allow_scripts_to_close_windows);
586 WriteParam(m, p.uses_page_cache);
587 WriteParam(m, p.remote_fonts_enabled);
588 WriteParam(m, p.javascript_can_access_clipboard);
589 WriteParam(m, p.xss_auditor_enabled);
590 WriteParam(m, p.local_storage_enabled);
591 WriteParam(m, p.databases_enabled);
592 WriteParam(m, p.application_cache_enabled);
593 WriteParam(m, p.tabs_to_links);
594 WriteParam(m, p.user_style_sheet_enabled);
595 WriteParam(m, p.user_style_sheet_location);
596 WriteParam(m, p.author_and_user_styles_enabled);
597 WriteParam(m, p.allow_universal_access_from_file_urls);
598 WriteParam(m, p.allow_file_access_from_file_urls);
599 WriteParam(m, p.experimental_webgl_enabled);
600 WriteParam(m, p.show_composited_layer_borders);
601 WriteParam(m, p.accelerated_compositing_enabled);
602 WriteParam(m, p.accelerated_2d_canvas_enabled);
603 WriteParam(m, p.memory_info_enabled);
604 }
605
606 bool ParamTraits<WebPreferences>::Read(const Message* m, void** iter,
607 param_type* p) {
608 return
609 ReadParam(m, iter, &p->standard_font_family) &&
610 ReadParam(m, iter, &p->fixed_font_family) &&
611 ReadParam(m, iter, &p->serif_font_family) &&
612 ReadParam(m, iter, &p->sans_serif_font_family) &&
613 ReadParam(m, iter, &p->cursive_font_family) &&
614 ReadParam(m, iter, &p->fantasy_font_family) &&
615 ReadParam(m, iter, &p->default_font_size) &&
616 ReadParam(m, iter, &p->default_fixed_font_size) &&
617 ReadParam(m, iter, &p->minimum_font_size) &&
618 ReadParam(m, iter, &p->minimum_logical_font_size) &&
619 ReadParam(m, iter, &p->default_encoding) &&
620 ReadParam(m, iter, &p->javascript_enabled) &&
621 ReadParam(m, iter, &p->web_security_enabled) &&
622 ReadParam(m, iter, &p->javascript_can_open_windows_automatically) &&
623 ReadParam(m, iter, &p->loads_images_automatically) &&
624 ReadParam(m, iter, &p->plugins_enabled) &&
625 ReadParam(m, iter, &p->dom_paste_enabled) &&
626 ReadParam(m, iter, &p->developer_extras_enabled) &&
627 ReadParam(m, iter, &p->inspector_settings) &&
628 ReadParam(m, iter, &p->site_specific_quirks_enabled) &&
629 ReadParam(m, iter, &p->shrinks_standalone_images_to_fit) &&
630 ReadParam(m, iter, &p->uses_universal_detector) &&
631 ReadParam(m, iter, &p->text_areas_are_resizable) &&
632 ReadParam(m, iter, &p->java_enabled) &&
633 ReadParam(m, iter, &p->allow_scripts_to_close_windows) &&
634 ReadParam(m, iter, &p->uses_page_cache) &&
635 ReadParam(m, iter, &p->remote_fonts_enabled) &&
636 ReadParam(m, iter, &p->javascript_can_access_clipboard) &&
637 ReadParam(m, iter, &p->xss_auditor_enabled) &&
638 ReadParam(m, iter, &p->local_storage_enabled) &&
639 ReadParam(m, iter, &p->databases_enabled) &&
640 ReadParam(m, iter, &p->application_cache_enabled) &&
641 ReadParam(m, iter, &p->tabs_to_links) &&
642 ReadParam(m, iter, &p->user_style_sheet_enabled) &&
643 ReadParam(m, iter, &p->user_style_sheet_location) &&
644 ReadParam(m, iter, &p->author_and_user_styles_enabled) &&
645 ReadParam(m, iter, &p->allow_universal_access_from_file_urls) &&
646 ReadParam(m, iter, &p->allow_file_access_from_file_urls) &&
647 ReadParam(m, iter, &p->experimental_webgl_enabled) &&
648 ReadParam(m, iter, &p->show_composited_layer_borders) &&
649 ReadParam(m, iter, &p->accelerated_compositing_enabled) &&
650 ReadParam(m, iter, &p->accelerated_2d_canvas_enabled) &&
651 ReadParam(m, iter, &p->memory_info_enabled);
652 }
653
654 void ParamTraits<WebPreferences>::Log(const param_type& p, std::wstring* l) {
655 l->append(L"<WebPreferences>");
656 }
657
658 void ParamTraits<WebDropData>::Write(Message* m, const param_type& p) {
659 WriteParam(m, p.identity);
660 WriteParam(m, p.url);
661 WriteParam(m, p.url_title);
662 WriteParam(m, p.download_metadata);
663 WriteParam(m, p.file_extension);
664 WriteParam(m, p.filenames);
665 WriteParam(m, p.plain_text);
666 WriteParam(m, p.text_html);
667 WriteParam(m, p.html_base_url);
668 WriteParam(m, p.file_description_filename);
669 WriteParam(m, p.file_contents);
670 }
671
672 bool ParamTraits<WebDropData>::Read(const Message* m, void** iter,
673 param_type* p) {
674 return
675 ReadParam(m, iter, &p->identity) &&
676 ReadParam(m, iter, &p->url) &&
677 ReadParam(m, iter, &p->url_title) &&
678 ReadParam(m, iter, &p->download_metadata) &&
679 ReadParam(m, iter, &p->file_extension) &&
680 ReadParam(m, iter, &p->filenames) &&
681 ReadParam(m, iter, &p->plain_text) &&
682 ReadParam(m, iter, &p->text_html) &&
683 ReadParam(m, iter, &p->html_base_url) &&
684 ReadParam(m, iter, &p->file_description_filename) &&
685 ReadParam(m, iter, &p->file_contents);
686 }
687
688 void ParamTraits<WebDropData>::Log(const param_type& p, std::wstring* l) {
689 l->append(L"<WebDropData>");
690 }
691
692 void ParamTraits<URLPattern>::Write(Message* m, const param_type& p) {
693 WriteParam(m, p.valid_schemes());
694 WriteParam(m, p.GetAsString());
695 }
696
697 bool ParamTraits<URLPattern>::Read(const Message* m, void** iter,
698 param_type* p) {
699 int valid_schemes;
700 std::string spec;
701 if (!ReadParam(m, iter, &valid_schemes) ||
702 !ReadParam(m, iter, &spec))
703 return false;
704
705 p->set_valid_schemes(valid_schemes);
706 return p->Parse(spec);
707 }
708
709 void ParamTraits<URLPattern>::Log(const param_type& p, std::wstring* l) {
710 LogParam(p.GetAsString(), l);
711 }
712
713 void ParamTraits<EditCommand>::Write(Message* m, const param_type& p) {
714 WriteParam(m, p.name);
715 WriteParam(m, p.value);
716 }
717
718 bool ParamTraits<EditCommand>::Read(const Message* m, void** iter,
719 param_type* p) {
720 return ReadParam(m, iter, &p->name) && ReadParam(m, iter, &p->value);
721 }
722
723 void ParamTraits<EditCommand>::Log(const param_type& p, std::wstring* l) {
724 l->append(L"(");
725 LogParam(p.name, l);
726 l->append(L":");
727 LogParam(p.value, l);
728 l->append(L")");
729 }
730
731 void ParamTraits<webkit_glue::WebCookie>::Write(Message* m,
732 const param_type& p) {
733 WriteParam(m, p.name);
734 WriteParam(m, p.value);
735 WriteParam(m, p.domain);
736 WriteParam(m, p.path);
737 WriteParam(m, p.expires);
738 WriteParam(m, p.http_only);
739 WriteParam(m, p.secure);
740 WriteParam(m, p.session);
741 }
742
743 bool ParamTraits<webkit_glue::WebCookie>::Read(const Message* m, void** iter,
744 param_type* p) {
745 return
746 ReadParam(m, iter, &p->name) &&
747 ReadParam(m, iter, &p->value) &&
748 ReadParam(m, iter, &p->domain) &&
749 ReadParam(m, iter, &p->path) &&
750 ReadParam(m, iter, &p->expires) &&
751 ReadParam(m, iter, &p->http_only) &&
752 ReadParam(m, iter, &p->secure) &&
753 ReadParam(m, iter, &p->session);
754 }
755
756 void ParamTraits<webkit_glue::WebCookie>::Log(const param_type& p,
757 std::wstring* l) {
758 l->append(L"<WebCookie>");
759 }
760
761 void ParamTraits<ExtensionExtent>::Write(Message* m, const param_type& p) {
762 WriteParam(m, p.patterns());
763 }
764
765 bool ParamTraits<ExtensionExtent>::Read(const Message* m, void** iter,
766 param_type* p) {
767 std::vector<URLPattern> patterns;
768 bool success =
769 ReadParam(m, iter, &patterns);
770 if (!success)
771 return false;
772
773 for (size_t i = 0; i < patterns.size(); ++i)
774 p->AddPattern(patterns[i]);
775 return true;
776 }
777
778 void ParamTraits<ExtensionExtent>::Log(const param_type& p, std::wstring* l) {
779 LogParam(p.patterns(), l);
780 }
781
782 void ParamTraits<appcache::AppCacheResourceInfo>::Write(Message* m,
783 const param_type& p) {
784 WriteParam(m, p.url);
785 WriteParam(m, p.size);
786 WriteParam(m, p.is_manifest);
787 WriteParam(m, p.is_master);
788 WriteParam(m, p.is_fallback);
789 WriteParam(m, p.is_foreign);
790 WriteParam(m, p.is_explicit);
791 }
792
793 bool ParamTraits<appcache::AppCacheResourceInfo>::Read(
794 const Message* m, void** iter, param_type* p) {
795 return ReadParam(m, iter, &p->url) &&
796 ReadParam(m, iter, &p->size) &&
797 ReadParam(m, iter, &p->is_manifest) &&
798 ReadParam(m, iter, &p->is_master) &&
799 ReadParam(m, iter, &p->is_fallback) &&
800 ReadParam(m, iter, &p->is_foreign) &&
801 ReadParam(m, iter, &p->is_explicit);
802 }
803
804 void ParamTraits<appcache::AppCacheResourceInfo>::Log(const param_type& p,
805 std::wstring* l) {
806 l->append(L"(");
807 LogParam(p.url, l);
808 l->append(L", ");
809 LogParam(p.size, l);
810 l->append(L", ");
811 LogParam(p.is_manifest, l);
812 l->append(L", ");
813 LogParam(p.is_master, l);
814 l->append(L", ");
815 LogParam(p.is_fallback, l);
816 l->append(L", ");
817 LogParam(p.is_foreign, l);
818 l->append(L", ");
819 LogParam(p.is_explicit, l);
820 l->append(L")");
821 }
822
823 void ParamTraits<appcache::AppCacheInfo>::Write(Message* m,
824 const param_type& p) {
825 WriteParam(m, p.manifest_url);
826 WriteParam(m, p.creation_time);
827 WriteParam(m, p.last_update_time);
828 WriteParam(m, p.last_access_time);
829 WriteParam(m, p.cache_id);
830 WriteParam(m, p.status);
831 WriteParam(m, p.size);
832 WriteParam(m, p.is_complete);
833 }
834
835 bool ParamTraits<appcache::AppCacheInfo>::Read(const Message* m, void** iter,
836 param_type* p) {
837 return ReadParam(m, iter, &p->manifest_url) &&
838 ReadParam(m, iter, &p->creation_time) &&
839 ReadParam(m, iter, &p->last_update_time) &&
840 ReadParam(m, iter, &p->last_access_time) &&
841 ReadParam(m, iter, &p->cache_id) &&
842 ReadParam(m, iter, &p->status) &&
843 ReadParam(m, iter, &p->size) &&
844 ReadParam(m, iter, &p->is_complete);
845 }
846
847 void ParamTraits<appcache::AppCacheInfo>::Log(const param_type& p,
848 std::wstring* l) {
849 l->append(L"(");
850 LogParam(p.manifest_url, l);
851 l->append(L", ");
852 LogParam(p.creation_time, l);
853 l->append(L", ");
854 LogParam(p.last_update_time, l);
855 l->append(L", ");
856 LogParam(p.last_access_time, l);
857 l->append(L", ");
858 LogParam(p.cache_id, l);
859 l->append(L", ");
860 LogParam(p.status, l);
861 l->append(L", ");
862 LogParam(p.size, l);
863 l->append(L")");
864 LogParam(p.is_complete, l);
865 l->append(L", ");
866 }
867
868 void ParamTraits<webkit_glue::WebAccessibility>::Write(Message* m,
869 const param_type& p) {
870 WriteParam(m, p.id);
871 WriteParam(m, p.name);
872 WriteParam(m, p.value);
873 WriteParam(m, static_cast<int>(p.role));
874 WriteParam(m, static_cast<int>(p.state));
875 WriteParam(m, p.location);
876 WriteParam(m, p.attributes);
877 WriteParam(m, p.children);
878 }
879
880 bool ParamTraits<webkit_glue::WebAccessibility>::Read(
881 const Message* m, void** iter, param_type* p) {
882 bool ret = ReadParam(m, iter, &p->id);
883 ret = ret && ReadParam(m, iter, &p->name);
884 ret = ret && ReadParam(m, iter, &p->value);
885 int role = -1;
886 ret = ret && ReadParam(m, iter, &role);
887 if (role >= webkit_glue::WebAccessibility::ROLE_NONE &&
888 role < webkit_glue::WebAccessibility::NUM_ROLES) {
889 p->role = static_cast<webkit_glue::WebAccessibility::Role>(role);
890 } else {
891 p->role = webkit_glue::WebAccessibility::ROLE_NONE;
892 }
893 int state = 0;
894 ret = ret && ReadParam(m, iter, &state);
895 p->state = static_cast<webkit_glue::WebAccessibility::State>(state);
896 ret = ret && ReadParam(m, iter, &p->location);
897 ret = ret && ReadParam(m, iter, &p->attributes);
898 ret = ret && ReadParam(m, iter, &p->children);
899 return ret;
900 }
901
902 void ParamTraits<webkit_glue::WebAccessibility>::Log(const param_type& p,
903 std::wstring* l) {
904 l->append(L"(");
905 LogParam(p.id, l);
906 l->append(L", ");
907 LogParam(p.name, l);
908 l->append(L", ");
909 LogParam(p.value, l);
910 l->append(L", ");
911 LogParam(static_cast<int>(p.role), l);
912 l->append(L", ");
913 LogParam(static_cast<int>(p.state), l);
914 l->append(L", ");
915 LogParam(p.location, l);
916 l->append(L", ");
917 LogParam(p.attributes, l);
918 l->append(L", ");
919 LogParam(p.children, l);
920 l->append(L")");
921 }
922
923 } // namespace IPC
OLDNEW
« no previous file with comments | « chrome/common/render_messages.h ('k') | chrome/common/render_messages_internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698