OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #ifndef CHROME_COMMON_RENDER_MESSAGES_H_ | 5 #ifndef CHROME_COMMON_RENDER_MESSAGES_H_ |
6 #define CHROME_COMMON_RENDER_MESSAGES_H_ | 6 #define CHROME_COMMON_RENDER_MESSAGES_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 #include <map> | 10 #include <map> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/gfx/native_widget_types.h" | 13 #include "base/gfx/native_widget_types.h" |
14 #include "base/ref_counted.h" | 14 #include "base/ref_counted.h" |
15 #include "base/shared_memory.h" | 15 #include "base/shared_memory.h" |
16 #include "chrome/common/bitmap_wire_data.h" | 16 #include "chrome/common/bitmap_wire_data.h" |
17 #include "chrome/common/filter_policy.h" | 17 #include "chrome/common/filter_policy.h" |
| 18 #include "chrome/common/ipc_message.h" |
18 #include "chrome/common/ipc_message_utils.h" | 19 #include "chrome/common/ipc_message_utils.h" |
19 #include "chrome/common/modal_dialog_event.h" | 20 #include "chrome/common/modal_dialog_event.h" |
20 #include "chrome/common/page_transition_types.h" | 21 #include "chrome/common/page_transition_types.h" |
21 #include "googleurl/src/gurl.h" | 22 #include "googleurl/src/gurl.h" |
22 #include "net/base/upload_data.h" | 23 #include "net/base/upload_data.h" |
23 #include "net/url_request/url_request_status.h" | 24 #include "net/url_request/url_request_status.h" |
24 #include "webkit/glue/autofill_form.h" | 25 #include "webkit/glue/autofill_form.h" |
25 #include "webkit/glue/cache_manager.h" | 26 #include "webkit/glue/cache_manager.h" |
26 #include "webkit/glue/context_node_types.h" | 27 #include "webkit/glue/context_node_types.h" |
27 #include "webkit/glue/form_data.h" | 28 #include "webkit/glue/form_data.h" |
28 #include "webkit/glue/password_form.h" | 29 #include "webkit/glue/password_form.h" |
29 #include "webkit/glue/password_form_dom_manager.h" | 30 #include "webkit/glue/password_form_dom_manager.h" |
30 #include "webkit/glue/resource_loader_bridge.h" | 31 #include "webkit/glue/resource_loader_bridge.h" |
31 #include "webkit/glue/screen_info.h" | 32 #include "webkit/glue/screen_info.h" |
32 #include "webkit/glue/webdropdata.h" | 33 #include "webkit/glue/webdropdata.h" |
33 #include "webkit/glue/webinputevent.h" | |
34 #include "webkit/glue/webplugin.h" | 34 #include "webkit/glue/webplugin.h" |
35 #include "webkit/glue/webpreferences.h" | 35 #include "webkit/glue/webpreferences.h" |
36 #include "webkit/glue/webview_delegate.h" | 36 #include "webkit/glue/webview_delegate.h" |
37 | 37 |
38 #if defined(OS_POSIX) | 38 #if defined(OS_POSIX) |
39 #include "skia/include/SkBitmap.h" | 39 #include "skia/include/SkBitmap.h" |
40 #endif | 40 #endif |
41 | 41 |
42 // Parameters structure for ViewMsg_Navigate, which has too many data | 42 // Parameters structure for ViewMsg_Navigate, which has too many data |
43 // parameters to be reasonably put in a predefined IPC message. | 43 // parameters to be reasonably put in a predefined IPC message. |
(...skipping 15 matching lines...) Expand all Loading... |
59 PageTransition::Type transition; | 59 PageTransition::Type transition; |
60 | 60 |
61 // Opaque history state (received by ViewHostMsg_UpdateState). | 61 // Opaque history state (received by ViewHostMsg_UpdateState). |
62 std::string state; | 62 std::string state; |
63 | 63 |
64 // Specifies if the URL should be loaded using 'reload' semantics (i.e., | 64 // Specifies if the URL should be loaded using 'reload' semantics (i.e., |
65 // bypassing any locally cached content). | 65 // bypassing any locally cached content). |
66 bool reload; | 66 bool reload; |
67 }; | 67 }; |
68 | 68 |
69 // Traits for ViewMsg_Navigate_Params structure to pack/unpack. | 69 // Parameters structure for ViewHostMsg_FrameNavigate, which has too many data |
70 template <> | 70 // parameters to be reasonably put in a predefined IPC message. |
71 struct ParamTraits<ViewMsg_Navigate_Params> { | |
72 typedef ViewMsg_Navigate_Params param_type; | |
73 static void Write(IPC::Message* m, const param_type& p) { | |
74 WriteParam(m, p.page_id); | |
75 WriteParam(m, p.url); | |
76 WriteParam(m, p.referrer); | |
77 WriteParam(m, p.transition); | |
78 WriteParam(m, p.state); | |
79 WriteParam(m, p.reload); | |
80 } | |
81 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
82 return | |
83 ReadParam(m, iter, &p->page_id) && | |
84 ReadParam(m, iter, &p->url) && | |
85 ReadParam(m, iter, &p->referrer) && | |
86 ReadParam(m, iter, &p->transition) && | |
87 ReadParam(m, iter, &p->state) && | |
88 ReadParam(m, iter, &p->reload); | |
89 } | |
90 static void Log(const param_type& p, std::wstring* l) { | |
91 l->append(L"("); | |
92 LogParam(p.page_id, l); | |
93 l->append(L", "); | |
94 LogParam(p.url, l); | |
95 l->append(L", "); | |
96 LogParam(p.transition, l); | |
97 l->append(L", "); | |
98 LogParam(p.state, l); | |
99 l->append(L", "); | |
100 LogParam(p.reload, l); | |
101 l->append(L")"); | |
102 } | |
103 }; | |
104 | |
105 | |
106 struct ViewHostMsg_FrameNavigate_Params { | 71 struct ViewHostMsg_FrameNavigate_Params { |
107 // Page ID of this navigation. The renderer creates a new unique page ID | 72 // Page ID of this navigation. The renderer creates a new unique page ID |
108 // anytime a new session history entry is created. This means you'll get new | 73 // anytime a new session history entry is created. This means you'll get new |
109 // page IDs for user actions, and the old page IDs will be reloaded when | 74 // page IDs for user actions, and the old page IDs will be reloaded when |
110 // iframes are loaded automatically. | 75 // iframes are loaded automatically. |
111 int32 page_id; | 76 int32 page_id; |
112 | 77 |
113 // URL of the page being loaded. | 78 // URL of the page being loaded. |
114 GURL url; | 79 GURL url; |
115 | 80 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 std::string contents_mime_type; | 114 std::string contents_mime_type; |
150 | 115 |
151 // True if this was a post request. | 116 // True if this was a post request. |
152 bool is_post; | 117 bool is_post; |
153 | 118 |
154 // Whether the content of the frame was replaced with some alternate content | 119 // Whether the content of the frame was replaced with some alternate content |
155 // (this can happen if the resource was insecure). | 120 // (this can happen if the resource was insecure). |
156 bool is_content_filtered; | 121 bool is_content_filtered; |
157 }; | 122 }; |
158 | 123 |
159 template <> | 124 // Parameters structure for ViewHostMsg_ContextMenu, which has too many data |
160 struct ParamTraits<ViewHostMsg_FrameNavigate_Params> { | 125 // parameters to be reasonably put in a predefined IPC message. |
161 typedef ViewHostMsg_FrameNavigate_Params param_type; | |
162 static void Write(IPC::Message* m, const param_type& p) { | |
163 WriteParam(m, p.page_id); | |
164 WriteParam(m, p.url); | |
165 WriteParam(m, p.referrer); | |
166 WriteParam(m, p.transition); | |
167 WriteParam(m, p.redirects); | |
168 WriteParam(m, p.should_update_history); | |
169 WriteParam(m, p.searchable_form_url); | |
170 WriteParam(m, p.searchable_form_element_name); | |
171 WriteParam(m, p.searchable_form_encoding); | |
172 WriteParam(m, p.password_form); | |
173 WriteParam(m, p.security_info); | |
174 WriteParam(m, p.gesture); | |
175 WriteParam(m, p.contents_mime_type); | |
176 WriteParam(m, p.is_post); | |
177 WriteParam(m, p.is_content_filtered); | |
178 } | |
179 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
180 return | |
181 ReadParam(m, iter, &p->page_id) && | |
182 ReadParam(m, iter, &p->url) && | |
183 ReadParam(m, iter, &p->referrer) && | |
184 ReadParam(m, iter, &p->transition) && | |
185 ReadParam(m, iter, &p->redirects) && | |
186 ReadParam(m, iter, &p->should_update_history) && | |
187 ReadParam(m, iter, &p->searchable_form_url) && | |
188 ReadParam(m, iter, &p->searchable_form_element_name) && | |
189 ReadParam(m, iter, &p->searchable_form_encoding) && | |
190 ReadParam(m, iter, &p->password_form) && | |
191 ReadParam(m, iter, &p->security_info) && | |
192 ReadParam(m, iter, &p->gesture) && | |
193 ReadParam(m, iter, &p->contents_mime_type) && | |
194 ReadParam(m, iter, &p->is_post) && | |
195 ReadParam(m, iter, &p->is_content_filtered); | |
196 } | |
197 static void Log(const param_type& p, std::wstring* l) { | |
198 l->append(L"("); | |
199 LogParam(p.page_id, l); | |
200 l->append(L", "); | |
201 LogParam(p.url, l); | |
202 l->append(L", "); | |
203 LogParam(p.referrer, l); | |
204 l->append(L", "); | |
205 LogParam(p.transition, l); | |
206 l->append(L", "); | |
207 LogParam(p.redirects, l); | |
208 l->append(L", "); | |
209 LogParam(p.should_update_history, l); | |
210 l->append(L", "); | |
211 LogParam(p.searchable_form_url, l); | |
212 l->append(L", "); | |
213 LogParam(p.searchable_form_element_name, l); | |
214 l->append(L", "); | |
215 LogParam(p.searchable_form_encoding, l); | |
216 l->append(L", "); | |
217 LogParam(p.password_form, l); | |
218 l->append(L", "); | |
219 LogParam(p.security_info, l); | |
220 l->append(L", "); | |
221 LogParam(p.gesture, l); | |
222 l->append(L", "); | |
223 LogParam(p.contents_mime_type, l); | |
224 l->append(L", "); | |
225 LogParam(p.is_post, l); | |
226 l->append(L", "); | |
227 LogParam(p.is_content_filtered, l); | |
228 l->append(L")"); | |
229 } | |
230 }; | |
231 | |
232 | |
233 // FIXME(beng): This would be more useful in the future and more efficient | 126 // FIXME(beng): This would be more useful in the future and more efficient |
234 // if the parameters here weren't so literally mapped to what | 127 // if the parameters here weren't so literally mapped to what |
235 // they contain for the ContextMenu task. It might be better | 128 // they contain for the ContextMenu task. It might be better |
236 // to make the string fields more generic so that this object | 129 // to make the string fields more generic so that this object |
237 // could be used for more contextual actions. | 130 // could be used for more contextual actions. |
238 struct ViewHostMsg_ContextMenu_Params { | 131 struct ViewHostMsg_ContextMenu_Params { |
239 // This is the type of Context Node that the context menu was invoked on. | 132 // This is the type of Context Node that the context menu was invoked on. |
240 ContextNode node; | 133 ContextNode node; |
241 | 134 |
242 // These values represent the coordinates of the mouse when the context menu | 135 // These values represent the coordinates of the mouse when the context menu |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 bool spellcheck_enabled; | 169 bool spellcheck_enabled; |
277 | 170 |
278 // These flags indicate to the browser whether the renderer believes it is | 171 // These flags indicate to the browser whether the renderer believes it is |
279 // able to perform the corresponding action. | 172 // able to perform the corresponding action. |
280 int edit_flags; | 173 int edit_flags; |
281 | 174 |
282 // The security info for the resource we are showing the menu on. | 175 // The security info for the resource we are showing the menu on. |
283 std::string security_info; | 176 std::string security_info; |
284 }; | 177 }; |
285 | 178 |
286 template <> | |
287 struct ParamTraits<ViewHostMsg_ContextMenu_Params> { | |
288 typedef ViewHostMsg_ContextMenu_Params param_type; | |
289 static void Write(IPC::Message* m, const param_type& p) { | |
290 WriteParam(m, p.node); | |
291 WriteParam(m, p.x); | |
292 WriteParam(m, p.y); | |
293 WriteParam(m, p.link_url); | |
294 WriteParam(m, p.image_url); | |
295 WriteParam(m, p.page_url); | |
296 WriteParam(m, p.frame_url); | |
297 WriteParam(m, p.selection_text); | |
298 WriteParam(m, p.misspelled_word); | |
299 WriteParam(m, p.dictionary_suggestions); | |
300 WriteParam(m, p.spellcheck_enabled); | |
301 WriteParam(m, p.edit_flags); | |
302 WriteParam(m, p.security_info); | |
303 } | |
304 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
305 return | |
306 ReadParam(m, iter, &p->node) && | |
307 ReadParam(m, iter, &p->x) && | |
308 ReadParam(m, iter, &p->y) && | |
309 ReadParam(m, iter, &p->link_url) && | |
310 ReadParam(m, iter, &p->image_url) && | |
311 ReadParam(m, iter, &p->page_url) && | |
312 ReadParam(m, iter, &p->frame_url) && | |
313 ReadParam(m, iter, &p->selection_text) && | |
314 ReadParam(m, iter, &p->misspelled_word) && | |
315 ReadParam(m, iter, &p->dictionary_suggestions) && | |
316 ReadParam(m, iter, &p->spellcheck_enabled) && | |
317 ReadParam(m, iter, &p->edit_flags) && | |
318 ReadParam(m, iter, &p->security_info); | |
319 } | |
320 static void Log(const param_type& p, std::wstring* l) { | |
321 l->append(L"<ViewHostMsg_ContextMenu_Params>"); | |
322 } | |
323 }; | |
324 | |
325 // Values that may be OR'd together to form the 'flags' parameter of a | 179 // Values that may be OR'd together to form the 'flags' parameter of a |
326 // ViewHostMsg_PaintRect message. | 180 // ViewHostMsg_PaintRect message. |
327 struct ViewHostMsg_PaintRect_Flags { | 181 struct ViewHostMsg_PaintRect_Flags { |
328 enum { | 182 enum { |
329 IS_RESIZE_ACK = 1 << 0, | 183 IS_RESIZE_ACK = 1 << 0, |
330 IS_RESTORE_ACK = 1 << 1, | 184 IS_RESTORE_ACK = 1 << 1, |
331 IS_REPAINT_ACK = 1 << 2, | 185 IS_REPAINT_ACK = 1 << 2, |
332 }; | 186 }; |
333 static bool is_resize_ack(int flags) { | 187 static bool is_resize_ack(int flags) { |
334 return (flags & IS_RESIZE_ACK) != 0; | 188 return (flags & IS_RESIZE_ACK) != 0; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 // ViewHostMsg_PaintRect_Flags::IS_RESTORE_ACK | 220 // ViewHostMsg_PaintRect_Flags::IS_RESTORE_ACK |
367 // Indicates that this is a response to a ViewMsg_WasRestored message. | 221 // Indicates that this is a response to a ViewMsg_WasRestored message. |
368 // | 222 // |
369 // If flags is zero, then this message corresponds to an unsoliticed paint | 223 // If flags is zero, then this message corresponds to an unsoliticed paint |
370 // request by the render view. Both of the above bits may be set in flags, | 224 // request by the render view. Both of the above bits may be set in flags, |
371 // which would indicate that this paint message is an ACK for multiple | 225 // which would indicate that this paint message is an ACK for multiple |
372 // request messages. | 226 // request messages. |
373 int flags; | 227 int flags; |
374 }; | 228 }; |
375 | 229 |
376 template <> | 230 // Parameters structure for ViewHostMsg_ScrollRect, which has too many data |
377 struct ParamTraits<ViewHostMsg_PaintRect_Params> { | 231 // parameters to be reasonably put in a predefined IPC message. |
378 typedef ViewHostMsg_PaintRect_Params param_type; | |
379 static void Write(IPC::Message* m, const param_type& p) { | |
380 WriteParam(m, p.bitmap); | |
381 WriteParam(m, p.bitmap_rect); | |
382 WriteParam(m, p.view_size); | |
383 WriteParam(m, p.plugin_window_moves); | |
384 WriteParam(m, p.flags); | |
385 } | |
386 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
387 return | |
388 ReadParam(m, iter, &p->bitmap) && | |
389 ReadParam(m, iter, &p->bitmap_rect) && | |
390 ReadParam(m, iter, &p->view_size) && | |
391 ReadParam(m, iter, &p->plugin_window_moves) && | |
392 ReadParam(m, iter, &p->flags); | |
393 } | |
394 static void Log(const param_type& p, std::wstring* l) { | |
395 l->append(L"("); | |
396 LogParam(p.bitmap, l); | |
397 l->append(L", "); | |
398 LogParam(p.bitmap_rect, l); | |
399 l->append(L", "); | |
400 LogParam(p.view_size, l); | |
401 l->append(L", "); | |
402 LogParam(p.plugin_window_moves, l); | |
403 l->append(L", "); | |
404 LogParam(p.flags, l); | |
405 l->append(L")"); | |
406 } | |
407 }; | |
408 | |
409 | |
410 struct ViewHostMsg_ScrollRect_Params { | 232 struct ViewHostMsg_ScrollRect_Params { |
411 // The bitmap to be painted into the rect exposed by scrolling. | 233 // The bitmap to be painted into the rect exposed by scrolling. |
412 BitmapWireData bitmap; | 234 BitmapWireData bitmap; |
413 | 235 |
414 // The position and size of the bitmap. | 236 // The position and size of the bitmap. |
415 gfx::Rect bitmap_rect; | 237 gfx::Rect bitmap_rect; |
416 | 238 |
417 // The scroll offset. Only one of these can be non-zero. | 239 // The scroll offset. Only one of these can be non-zero. |
418 int dx; | 240 int dx; |
419 int dy; | 241 int dy; |
420 | 242 |
421 // The rectangular region to scroll. | 243 // The rectangular region to scroll. |
422 gfx::Rect clip_rect; | 244 gfx::Rect clip_rect; |
423 | 245 |
424 // The size of the RenderView when this message was generated. | 246 // The size of the RenderView when this message was generated. |
425 gfx::Size view_size; | 247 gfx::Size view_size; |
426 | 248 |
427 // New window locations for plugin child windows. | 249 // New window locations for plugin child windows. |
428 std::vector<WebPluginGeometry> plugin_window_moves; | 250 std::vector<WebPluginGeometry> plugin_window_moves; |
429 }; | 251 }; |
430 | 252 |
431 template <> | 253 // Parameters structure for ViewMsg_UploadFile. |
432 struct ParamTraits<ViewHostMsg_ScrollRect_Params> { | |
433 typedef ViewHostMsg_ScrollRect_Params param_type; | |
434 static void Write(IPC::Message* m, const param_type& p) { | |
435 WriteParam(m, p.bitmap); | |
436 WriteParam(m, p.bitmap_rect); | |
437 WriteParam(m, p.dx); | |
438 WriteParam(m, p.dy); | |
439 WriteParam(m, p.clip_rect); | |
440 WriteParam(m, p.view_size); | |
441 WriteParam(m, p.plugin_window_moves); | |
442 } | |
443 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
444 return | |
445 ReadParam(m, iter, &p->bitmap) && | |
446 ReadParam(m, iter, &p->bitmap_rect) && | |
447 ReadParam(m, iter, &p->dx) && | |
448 ReadParam(m, iter, &p->dy) && | |
449 ReadParam(m, iter, &p->clip_rect) && | |
450 ReadParam(m, iter, &p->view_size) && | |
451 ReadParam(m, iter, &p->plugin_window_moves); | |
452 } | |
453 static void Log(const param_type& p, std::wstring* l) { | |
454 l->append(L"("); | |
455 LogParam(p.bitmap, l); | |
456 l->append(L", "); | |
457 LogParam(p.bitmap_rect, l); | |
458 l->append(L", "); | |
459 LogParam(p.dx, l); | |
460 l->append(L", "); | |
461 LogParam(p.dy, l); | |
462 l->append(L", "); | |
463 LogParam(p.clip_rect, l); | |
464 l->append(L", "); | |
465 LogParam(p.view_size, l); | |
466 l->append(L", "); | |
467 LogParam(p.plugin_window_moves, l); | |
468 l->append(L")"); | |
469 } | |
470 }; | |
471 | |
472 | |
473 struct ViewMsg_UploadFile_Params { | 254 struct ViewMsg_UploadFile_Params { |
474 // See WebContents::StartFileUpload for a description of these fields. | 255 // See WebContents::StartFileUpload for a description of these fields. |
475 std::wstring file_path; | 256 std::wstring file_path; |
476 std::wstring form; | 257 std::wstring form; |
477 std::wstring file; | 258 std::wstring file; |
478 std::wstring submit; | 259 std::wstring submit; |
479 std::wstring other_values; | 260 std::wstring other_values; |
480 }; | 261 }; |
481 | 262 |
482 template <> | 263 // Parameters for a resource request. |
483 struct ParamTraits<ViewMsg_UploadFile_Params> { | |
484 typedef ViewMsg_UploadFile_Params param_type; | |
485 static void Write(IPC::Message* m, const param_type& p) { | |
486 WriteParam(m, p.file_path); | |
487 WriteParam(m, p.form); | |
488 WriteParam(m, p.file); | |
489 WriteParam(m, p.submit); | |
490 WriteParam(m, p.other_values); | |
491 } | |
492 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
493 return | |
494 ReadParam(m, iter, &p->file_path) && | |
495 ReadParam(m, iter, &p->form) && | |
496 ReadParam(m, iter, &p->file) && | |
497 ReadParam(m, iter, &p->submit) && | |
498 ReadParam(m, iter, &p->other_values); | |
499 } | |
500 static void Log(const param_type& p, std::wstring* l) { | |
501 l->append(L"<ViewMsg_UploadFile_Params>"); | |
502 } | |
503 }; | |
504 | |
505 | |
506 struct ViewHostMsg_Resource_Request { | 264 struct ViewHostMsg_Resource_Request { |
507 // The request method: GET, POST, etc. | 265 // The request method: GET, POST, etc. |
508 std::string method; | 266 std::string method; |
509 | 267 |
510 // The requested URL. | 268 // The requested URL. |
511 GURL url; | 269 GURL url; |
512 | 270 |
513 // The URL of the document in the top-level window, which may be checked by | 271 // The URL of the document in the top-level window, which may be checked by |
514 // the third-party cookie blocking policy. Leaving it empty may lead to | 272 // the third-party cookie blocking policy. Leaving it empty may lead to |
515 // undesired cookie blocking. Third-party cookie blocking can be bypassed by | 273 // undesired cookie blocking. Third-party cookie blocking can be bypassed by |
(...skipping 21 matching lines...) Expand all Loading... |
537 // was loaded over HTTPS. | 295 // was loaded over HTTPS. |
538 bool mixed_content; | 296 bool mixed_content; |
539 | 297 |
540 // Used by plugin->browser requests to get the correct URLRequestContext. | 298 // Used by plugin->browser requests to get the correct URLRequestContext. |
541 uint32 request_context; | 299 uint32 request_context; |
542 | 300 |
543 // Optional upload data (may be empty). | 301 // Optional upload data (may be empty). |
544 std::vector<net::UploadData::Element> upload_content; | 302 std::vector<net::UploadData::Element> upload_content; |
545 }; | 303 }; |
546 | 304 |
547 template <> | 305 // Parameters for a resource response header. |
548 struct ParamTraits<ViewHostMsg_Resource_Request> { | |
549 typedef ViewHostMsg_Resource_Request param_type; | |
550 static void Write(IPC::Message* m, const param_type& p) { | |
551 WriteParam(m, p.method); | |
552 WriteParam(m, p.url); | |
553 WriteParam(m, p.policy_url); | |
554 WriteParam(m, p.referrer); | |
555 WriteParam(m, p.headers); | |
556 WriteParam(m, p.load_flags); | |
557 WriteParam(m, p.origin_pid); | |
558 WriteParam(m, p.resource_type); | |
559 WriteParam(m, p.mixed_content); | |
560 WriteParam(m, p.request_context); | |
561 WriteParam(m, p.upload_content); | |
562 } | |
563 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | |
564 return | |
565 ReadParam(m, iter, &r->method) && | |
566 ReadParam(m, iter, &r->url) && | |
567 ReadParam(m, iter, &r->policy_url) && | |
568 ReadParam(m, iter, &r->referrer) && | |
569 ReadParam(m, iter, &r->headers) && | |
570 ReadParam(m, iter, &r->load_flags) && | |
571 ReadParam(m, iter, &r->origin_pid) && | |
572 ReadParam(m, iter, &r->resource_type) && | |
573 ReadParam(m, iter, &r->mixed_content) && | |
574 ReadParam(m, iter, &r->request_context) && | |
575 ReadParam(m, iter, &r->upload_content); | |
576 } | |
577 static void Log(const param_type& p, std::wstring* l) { | |
578 l->append(L"("); | |
579 LogParam(p.method, l); | |
580 l->append(L", "); | |
581 LogParam(p.url, l); | |
582 l->append(L", "); | |
583 LogParam(p.referrer, l); | |
584 l->append(L", "); | |
585 LogParam(p.load_flags, l); | |
586 l->append(L", "); | |
587 LogParam(p.origin_pid, l); | |
588 l->append(L", "); | |
589 LogParam(p.resource_type, l); | |
590 l->append(L", "); | |
591 LogParam(p.mixed_content, l); | |
592 l->append(L", "); | |
593 LogParam(p.request_context, l); | |
594 l->append(L")"); | |
595 } | |
596 }; | |
597 | |
598 | |
599 struct ViewMsg_Resource_ResponseHead | 306 struct ViewMsg_Resource_ResponseHead |
600 : webkit_glue::ResourceLoaderBridge::ResponseInfo { | 307 : webkit_glue::ResourceLoaderBridge::ResponseInfo { |
601 // The response status. | 308 // The response status. |
602 URLRequestStatus status; | 309 URLRequestStatus status; |
603 | 310 |
604 // Specifies if the resource should be filtered before being displayed | 311 // Specifies if the resource should be filtered before being displayed |
605 // (insecure resources can be filtered to keep the page secure). | 312 // (insecure resources can be filtered to keep the page secure). |
606 FilterPolicy::Type filter_policy; | 313 FilterPolicy::Type filter_policy; |
607 }; | 314 }; |
608 | 315 |
609 template <> | 316 // Parameters for a synchronous resource response. |
610 struct ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo> { | |
611 typedef webkit_glue::ResourceLoaderBridge::ResponseInfo param_type; | |
612 static void Write(IPC::Message* m, const param_type& p) { | |
613 WriteParam(m, p.request_time); | |
614 WriteParam(m, p.response_time); | |
615 WriteParam(m, p.headers); | |
616 WriteParam(m, p.mime_type); | |
617 WriteParam(m, p.charset); | |
618 WriteParam(m, p.security_info); | |
619 WriteParam(m, p.content_length); | |
620 } | |
621 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | |
622 return | |
623 ReadParam(m, iter, &r->request_time) && | |
624 ReadParam(m, iter, &r->response_time) && | |
625 ReadParam(m, iter, &r->headers) && | |
626 ReadParam(m, iter, &r->mime_type) && | |
627 ReadParam(m, iter, &r->charset) && | |
628 ReadParam(m, iter, &r->security_info) && | |
629 ReadParam(m, iter, &r->content_length); | |
630 } | |
631 static void Log(const param_type& p, std::wstring* l) { | |
632 l->append(L"("); | |
633 LogParam(p.request_time, l); | |
634 l->append(L", "); | |
635 LogParam(p.response_time, l); | |
636 l->append(L", "); | |
637 LogParam(p.headers, l); | |
638 l->append(L", "); | |
639 LogParam(p.mime_type, l); | |
640 l->append(L", "); | |
641 LogParam(p.charset, l); | |
642 l->append(L", "); | |
643 LogParam(p.security_info, l); | |
644 l->append(L")"); | |
645 } | |
646 }; | |
647 | |
648 template <> | |
649 struct ParamTraits<ViewMsg_Resource_ResponseHead> { | |
650 typedef ViewMsg_Resource_ResponseHead param_type; | |
651 static void Write(IPC::Message* m, const param_type& p) { | |
652 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Write(m, p); | |
653 WriteParam(m, p.status); | |
654 WriteParam(m, p.filter_policy); | |
655 } | |
656 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | |
657 return | |
658 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Read(m, iter
, r) && | |
659 ReadParam(m, iter, &r->status) && | |
660 ReadParam(m, iter, &r->filter_policy); | |
661 } | |
662 static void Log(const param_type& p, std::wstring* l) { | |
663 // log more? | |
664 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); | |
665 } | |
666 }; | |
667 | |
668 | |
669 struct ViewHostMsg_SyncLoad_Result : ViewMsg_Resource_ResponseHead { | 317 struct ViewHostMsg_SyncLoad_Result : ViewMsg_Resource_ResponseHead { |
670 // The final URL after any redirects. | 318 // The final URL after any redirects. |
671 GURL final_url; | 319 GURL final_url; |
672 | 320 |
673 // The response data. | 321 // The response data. |
674 std::string data; | 322 std::string data; |
675 }; | 323 }; |
676 | 324 |
677 template <> | 325 // Parameters for a render request. |
678 struct ParamTraits<ViewHostMsg_SyncLoad_Result> { | |
679 typedef ViewHostMsg_SyncLoad_Result param_type; | |
680 static void Write(IPC::Message* m, const param_type& p) { | |
681 ParamTraits<ViewMsg_Resource_ResponseHead>::Write(m, p); | |
682 WriteParam(m, p.final_url); | |
683 WriteParam(m, p.data); | |
684 } | |
685 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | |
686 return | |
687 ParamTraits<ViewMsg_Resource_ResponseHead>::Read(m, iter, r) && | |
688 ReadParam(m, iter, &r->final_url) && | |
689 ReadParam(m, iter, &r->data); | |
690 } | |
691 static void Log(const param_type& p, std::wstring* l) { | |
692 // log more? | |
693 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); | |
694 } | |
695 }; | |
696 | |
697 | |
698 struct ViewMsg_Print_Params { | 326 struct ViewMsg_Print_Params { |
699 // In pixels according to dpi_x and dpi_y. | 327 // In pixels according to dpi_x and dpi_y. |
700 gfx::Size printable_size; | 328 gfx::Size printable_size; |
701 | 329 |
702 // Specifies dots per inch. | 330 // Specifies dots per inch. |
703 double dpi; | 331 double dpi; |
704 | 332 |
705 // Minimum shrink factor. See PrintSettings::min_shrink for more information. | 333 // Minimum shrink factor. See PrintSettings::min_shrink for more information. |
706 double min_shrink; | 334 double min_shrink; |
707 | 335 |
708 // Maximum shrink factor. See PrintSettings::max_shrink for more information. | 336 // Maximum shrink factor. See PrintSettings::max_shrink for more information. |
709 double max_shrink; | 337 double max_shrink; |
710 | 338 |
711 // Desired apparent dpi on paper. | 339 // Desired apparent dpi on paper. |
712 int desired_dpi; | 340 int desired_dpi; |
713 | 341 |
714 // Cookie for the document to ensure correctness. | 342 // Cookie for the document to ensure correctness. |
715 int document_cookie; | 343 int document_cookie; |
716 | 344 |
717 // Warning: do not compare document_cookie. | 345 // Warning: do not compare document_cookie. |
718 bool Equals(const ViewMsg_Print_Params& rhs) const { | 346 bool Equals(const ViewMsg_Print_Params& rhs) const { |
719 return printable_size == rhs.printable_size && | 347 return printable_size == rhs.printable_size && |
720 dpi == rhs.dpi && | 348 dpi == rhs.dpi && |
721 min_shrink == rhs.min_shrink && | 349 min_shrink == rhs.min_shrink && |
722 max_shrink == rhs.max_shrink && | 350 max_shrink == rhs.max_shrink && |
723 desired_dpi == rhs.desired_dpi; | 351 desired_dpi == rhs.desired_dpi; |
724 } | 352 } |
725 }; | 353 }; |
726 | 354 |
727 template <> | |
728 struct ParamTraits<ViewMsg_Print_Params> { | |
729 typedef ViewMsg_Print_Params param_type; | |
730 static void Write(IPC::Message* m, const param_type& p) { | |
731 WriteParam(m, p.printable_size); | |
732 WriteParam(m, p.dpi); | |
733 WriteParam(m, p.min_shrink); | |
734 WriteParam(m, p.max_shrink); | |
735 WriteParam(m, p.desired_dpi); | |
736 WriteParam(m, p.document_cookie); | |
737 } | |
738 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
739 return ReadParam(m, iter, &p->printable_size) && | |
740 ReadParam(m, iter, &p->dpi) && | |
741 ReadParam(m, iter, &p->min_shrink) && | |
742 ReadParam(m, iter, &p->max_shrink) && | |
743 ReadParam(m, iter, &p->desired_dpi) && | |
744 ReadParam(m, iter, &p->document_cookie); | |
745 } | |
746 static void Log(const param_type& p, std::wstring* l) { | |
747 l->append(L"<ViewMsg_Print_Params>"); | |
748 } | |
749 }; | |
750 | |
751 | |
752 struct ViewMsg_PrintPage_Params { | 355 struct ViewMsg_PrintPage_Params { |
753 // Parameters to render the page as a printed page. It must always be the same | 356 // Parameters to render the page as a printed page. It must always be the same |
754 // value for all the document. | 357 // value for all the document. |
755 ViewMsg_Print_Params params; | 358 ViewMsg_Print_Params params; |
756 | 359 |
757 // The page number is the indicator of the square that should be rendered | 360 // The page number is the indicator of the square that should be rendered |
758 // according to the layout specified in ViewMsg_Print_Params. | 361 // according to the layout specified in ViewMsg_Print_Params. |
759 int page_number; | 362 int page_number; |
760 }; | 363 }; |
761 | 364 |
762 template <> | |
763 struct ParamTraits<ViewMsg_PrintPage_Params> { | |
764 typedef ViewMsg_PrintPage_Params param_type; | |
765 static void Write(IPC::Message* m, const param_type& p) { | |
766 WriteParam(m, p.params); | |
767 WriteParam(m, p.page_number); | |
768 } | |
769 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
770 return ReadParam(m, iter, &p->params) && | |
771 ReadParam(m, iter, &p->page_number); | |
772 } | |
773 static void Log(const param_type& p, std::wstring* l) { | |
774 l->append(L"<ViewMsg_PrintPage_Params>"); | |
775 } | |
776 }; | |
777 | |
778 | |
779 struct ViewMsg_PrintPages_Params { | 365 struct ViewMsg_PrintPages_Params { |
780 // Parameters to render the page as a printed page. It must always be the same | 366 // Parameters to render the page as a printed page. It must always be the same |
781 // value for all the document. | 367 // value for all the document. |
782 ViewMsg_Print_Params params; | 368 ViewMsg_Print_Params params; |
783 | 369 |
784 // If empty, this means a request to render all the printed pages. | 370 // If empty, this means a request to render all the printed pages. |
785 std::vector<int> pages; | 371 std::vector<int> pages; |
786 }; | 372 }; |
787 | 373 |
788 template <> | |
789 struct ParamTraits<ViewMsg_PrintPages_Params> { | |
790 typedef ViewMsg_PrintPages_Params param_type; | |
791 static void Write(IPC::Message* m, const param_type& p) { | |
792 WriteParam(m, p.params); | |
793 WriteParam(m, p.pages); | |
794 } | |
795 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
796 return ReadParam(m, iter, &p->params) && | |
797 ReadParam(m, iter, &p->pages); | |
798 } | |
799 static void Log(const param_type& p, std::wstring* l) { | |
800 l->append(L"<ViewMsg_PrintPages_Params>"); | |
801 } | |
802 }; | |
803 | |
804 | |
805 // Parameters to describe a rendered page. | 374 // Parameters to describe a rendered page. |
806 struct ViewHostMsg_DidPrintPage_Params { | 375 struct ViewHostMsg_DidPrintPage_Params { |
807 // A shared memory handle to the EMF data. This data can be quite large so a | 376 // A shared memory handle to the EMF data. This data can be quite large so a |
808 // memory map needs to be used. | 377 // memory map needs to be used. |
809 base::SharedMemoryHandle emf_data_handle; | 378 base::SharedMemoryHandle emf_data_handle; |
810 | 379 |
811 // Size of the EMF data. | 380 // Size of the EMF data. |
812 unsigned data_size; | 381 unsigned data_size; |
813 | 382 |
814 // Cookie for the document to ensure correctness. | 383 // Cookie for the document to ensure correctness. |
815 int document_cookie; | 384 int document_cookie; |
816 | 385 |
817 // Page number. | 386 // Page number. |
818 int page_number; | 387 int page_number; |
819 | 388 |
820 // Shrink factor used to render this page. | 389 // Shrink factor used to render this page. |
821 double actual_shrink; | 390 double actual_shrink; |
822 }; | 391 }; |
823 | 392 |
824 template <> | |
825 struct ParamTraits<ViewHostMsg_DidPrintPage_Params> { | |
826 typedef ViewHostMsg_DidPrintPage_Params param_type; | |
827 static void Write(IPC::Message* m, const param_type& p) { | |
828 WriteParam(m, p.emf_data_handle); | |
829 WriteParam(m, p.data_size); | |
830 WriteParam(m, p.document_cookie); | |
831 WriteParam(m, p.page_number); | |
832 WriteParam(m, p.actual_shrink); | |
833 } | |
834 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
835 return ReadParam(m, iter, &p->emf_data_handle) && | |
836 ReadParam(m, iter, &p->data_size) && | |
837 ReadParam(m, iter, &p->document_cookie) && | |
838 ReadParam(m, iter, &p->page_number) && | |
839 ReadParam(m, iter, &p->actual_shrink); | |
840 } | |
841 static void Log(const param_type& p, std::wstring* l) { | |
842 l->append(L"<ViewHostMsg_DidPrintPage_Params>"); | |
843 } | |
844 }; | |
845 | |
846 | |
847 // Parameters structure to hold a union of the possible IAccessible function | 393 // Parameters structure to hold a union of the possible IAccessible function |
848 // INPUT variables, with the unused fields always set to default value. Used in | 394 // INPUT variables, with the unused fields always set to default value. Used in |
849 // ViewMsg_GetAccessibilityInfo, as only parameter. | 395 // ViewMsg_GetAccessibilityInfo, as only parameter. |
850 struct ViewMsg_Accessibility_In_Params { | 396 struct ViewMsg_Accessibility_In_Params { |
851 // Identifier to uniquely distinguish which instance of IAccessible is being | 397 // Identifier to uniquely distinguish which instance of IAccessible is being |
852 // called upon on the renderer side. | 398 // called upon on the renderer side. |
853 int iaccessible_id; | 399 int iaccessible_id; |
854 | 400 |
855 // Identifier to resolve which IAccessible interface function is being called. | 401 // Identifier to resolve which IAccessible interface function is being called. |
856 int iaccessible_function_id; | 402 int iaccessible_function_id; |
857 | 403 |
858 // Function input parameters. | 404 // Function input parameters. |
859 // Input VARIANT structure's LONG field to specify requested object. | 405 // Input VARIANT structure's LONG field to specify requested object. |
860 long input_variant_lval; | 406 long input_variant_lval; |
861 | 407 |
862 // LONG input parameters, used differently depending on the function called. | 408 // LONG input parameters, used differently depending on the function called. |
863 long input_long1; | 409 long input_long1; |
864 long input_long2; | 410 long input_long2; |
865 }; | 411 }; |
866 | 412 |
867 template <> | |
868 struct ParamTraits<ViewMsg_Accessibility_In_Params> { | |
869 typedef ViewMsg_Accessibility_In_Params param_type; | |
870 static void Write(IPC::Message* m, const param_type& p) { | |
871 WriteParam(m, p.iaccessible_id); | |
872 WriteParam(m, p.iaccessible_function_id); | |
873 WriteParam(m, p.input_variant_lval); | |
874 WriteParam(m, p.input_long1); | |
875 WriteParam(m, p.input_long2); | |
876 } | |
877 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
878 return | |
879 ReadParam(m, iter, &p->iaccessible_id) && | |
880 ReadParam(m, iter, &p->iaccessible_function_id) && | |
881 ReadParam(m, iter, &p->input_variant_lval) && | |
882 ReadParam(m, iter, &p->input_long1) && | |
883 ReadParam(m, iter, &p->input_long2); | |
884 } | |
885 static void Log(const param_type& p, std::wstring* l) { | |
886 l->append(L"("); | |
887 LogParam(p.iaccessible_id, l); | |
888 l->append(L", "); | |
889 LogParam(p.iaccessible_function_id, l); | |
890 l->append(L", "); | |
891 LogParam(p.input_variant_lval, l); | |
892 l->append(L", "); | |
893 LogParam(p.input_long1, l); | |
894 l->append(L", "); | |
895 LogParam(p.input_long2, l); | |
896 l->append(L")"); | |
897 } | |
898 }; | |
899 | |
900 | |
901 // Parameters structure to hold a union of the possible IAccessible function | 413 // Parameters structure to hold a union of the possible IAccessible function |
902 // OUTPUT variables, with the unused fields always set to default value. Used in | 414 // OUTPUT variables, with the unused fields always set to default value. Used in |
903 // ViewHostMsg_GetAccessibilityInfoResponse, as only parameter. | 415 // ViewHostMsg_GetAccessibilityInfoResponse, as only parameter. |
904 struct ViewHostMsg_Accessibility_Out_Params { | 416 struct ViewHostMsg_Accessibility_Out_Params { |
905 // Identifier to uniquely distinguish which instance of IAccessible is being | 417 // Identifier to uniquely distinguish which instance of IAccessible is being |
906 // called upon on the renderer side. | 418 // called upon on the renderer side. |
907 int iaccessible_id; | 419 int iaccessible_id; |
908 | 420 |
909 // Function output parameters. | 421 // Function output parameters. |
910 // Output VARIANT structure's LONG field to specify requested object. | 422 // Output VARIANT structure's LONG field to specify requested object. |
911 long output_variant_lval; | 423 long output_variant_lval; |
912 | 424 |
913 // LONG output parameters, used differently depending on the function called. | 425 // LONG output parameters, used differently depending on the function called. |
914 // output_long1 can in some cases be set to -1 to indicate that the child | 426 // output_long1 can in some cases be set to -1 to indicate that the child |
915 // object found by the called IAccessible function is not a simple object. | 427 // object found by the called IAccessible function is not a simple object. |
916 long output_long1; | 428 long output_long1; |
917 long output_long2; | 429 long output_long2; |
918 long output_long3; | 430 long output_long3; |
919 long output_long4; | 431 long output_long4; |
920 | 432 |
921 // String output parameter. | 433 // String output parameter. |
922 std::wstring output_string; | 434 std::wstring output_string; |
923 | 435 |
924 // Return code, either S_OK (true) or S_FALSE (false). WebKit MSAA error | 436 // Return code, either S_OK (true) or S_FALSE (false). WebKit MSAA error |
925 // return codes (E_POINTER, E_INVALIDARG, E_FAIL, E_NOTIMPL) must be handled | 437 // return codes (E_POINTER, E_INVALIDARG, E_FAIL, E_NOTIMPL) must be handled |
926 // on the browser side by input validation. | 438 // on the browser side by input validation. |
927 bool return_code; | 439 bool return_code; |
928 }; | 440 }; |
929 | 441 |
930 template <> | |
931 struct ParamTraits<ViewHostMsg_Accessibility_Out_Params> { | |
932 typedef ViewHostMsg_Accessibility_Out_Params param_type; | |
933 static void Write(IPC::Message* m, const param_type& p) { | |
934 WriteParam(m, p.iaccessible_id); | |
935 WriteParam(m, p.output_variant_lval); | |
936 WriteParam(m, p.output_long1); | |
937 WriteParam(m, p.output_long2); | |
938 WriteParam(m, p.output_long3); | |
939 WriteParam(m, p.output_long4); | |
940 WriteParam(m, p.output_string); | |
941 WriteParam(m, p.return_code); | |
942 } | |
943 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
944 return | |
945 ReadParam(m, iter, &p->iaccessible_id) && | |
946 ReadParam(m, iter, &p->output_variant_lval) && | |
947 ReadParam(m, iter, &p->output_long1) && | |
948 ReadParam(m, iter, &p->output_long2) && | |
949 ReadParam(m, iter, &p->output_long3) && | |
950 ReadParam(m, iter, &p->output_long4) && | |
951 ReadParam(m, iter, &p->output_string) && | |
952 ReadParam(m, iter, &p->return_code); | |
953 } | |
954 static void Log(const param_type& p, std::wstring* l) { | |
955 l->append(L"("); | |
956 LogParam(p.iaccessible_id, l); | |
957 l->append(L", "); | |
958 LogParam(p.output_variant_lval, l); | |
959 l->append(L", "); | |
960 LogParam(p.output_long1, l); | |
961 l->append(L", "); | |
962 LogParam(p.output_long2, l); | |
963 l->append(L", "); | |
964 LogParam(p.output_long3, l); | |
965 l->append(L", "); | |
966 LogParam(p.output_long4, l); | |
967 l->append(L", "); | |
968 LogParam(p.output_string, l); | |
969 l->append(L", "); | |
970 LogParam(p.return_code, l); | |
971 l->append(L")"); | |
972 } | |
973 }; | |
974 | |
975 | |
976 // The first parameter for the ViewHostMsg_ImeUpdateStatus message. | 442 // The first parameter for the ViewHostMsg_ImeUpdateStatus message. |
977 enum ViewHostMsg_ImeControl { | 443 enum ViewHostMsg_ImeControl { |
978 IME_DISABLE = 0, | 444 IME_DISABLE = 0, |
979 IME_MOVE_WINDOWS, | 445 IME_MOVE_WINDOWS, |
980 IME_COMPLETE_COMPOSITION, | 446 IME_COMPLETE_COMPOSITION, |
981 }; | 447 }; |
982 | 448 |
983 template <> | 449 // Multi-pass include of render_messages_internal. Preprocessor magic allows |
984 struct ParamTraits<ViewHostMsg_ImeControl> { | 450 // us to use 1 header to define the enums and classes for our render messages. |
985 typedef ViewHostMsg_ImeControl param_type; | 451 #define IPC_MESSAGE_MACROS_ENUMS |
986 static void Write(IPC::Message* m, const param_type& p) { | 452 #include "chrome/common/render_messages_internal.h" |
987 m->WriteInt(p); | |
988 } | |
989 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | |
990 int type; | |
991 if (!m->ReadInt(iter, &type)) | |
992 return false; | |
993 *p = static_cast<ViewHostMsg_ImeControl>(type); | |
994 return true; | |
995 } | |
996 static void Log(const param_type& p, std::wstring* l) { | |
997 std::wstring control; | |
998 switch (p) { | |
999 case IME_DISABLE: | |
1000 control = L"IME_DISABLE"; | |
1001 break; | |
1002 case IME_MOVE_WINDOWS: | |
1003 control = L"IME_MOVE_WINDOWS"; | |
1004 break; | |
1005 case IME_COMPLETE_COMPOSITION: | |
1006 control = L"IME_COMPLETE_COMPOSITION"; | |
1007 break; | |
1008 default: | |
1009 control = L"UNKNOWN"; | |
1010 break; | |
1011 } | |
1012 | 453 |
1013 LogParam(control, l); | 454 #ifdef IPC_MESSAGE_MACROS_LOG_ENABLED |
1014 } | 455 // When we are supposed to create debug strings, we run it through twice, once |
1015 }; | 456 // with debug strings on, and once with only CLASSES on to generate both types |
| 457 // of messages. |
| 458 # undef IPC_MESSAGE_MACROS_LOG |
| 459 # define IPC_MESSAGE_MACROS_CLASSES |
| 460 # include "chrome/common/render_messages_internal.h" |
| 461 |
| 462 # undef IPC_MESSAGE_MACROS_CLASSES |
| 463 # define IPC_MESSAGE_MACROS_LOG |
| 464 # include "chrome/common/render_messages_internal.h" |
| 465 #else |
| 466 // No debug strings requested, just define the classes |
| 467 # define IPC_MESSAGE_MACROS_CLASSES |
| 468 # include "chrome/common/render_messages_internal.h" |
| 469 #endif |
1016 | 470 |
1017 | 471 |
1018 // These traits are for structures that are defined outside of this file. | 472 namespace IPC { |
| 473 |
1019 template <> | 474 template <> |
1020 struct ParamTraits<ResourceType::Type> { | 475 struct ParamTraits<ResourceType::Type> { |
1021 typedef ResourceType::Type param_type; | 476 typedef ResourceType::Type param_type; |
1022 static void Write(IPC::Message* m, const param_type& p) { | 477 static void Write(Message* m, const param_type& p) { |
1023 m->WriteInt(p); | 478 m->WriteInt(p); |
1024 } | 479 } |
1025 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 480 static bool Read(const Message* m, void** iter, param_type* p) { |
1026 int type; | 481 int type; |
1027 if (!m->ReadInt(iter, &type) || !ResourceType::ValidType(type)) | 482 if (!m->ReadInt(iter, &type) || !ResourceType::ValidType(type)) |
1028 return false; | 483 return false; |
1029 *p = ResourceType::FromInt(type); | 484 *p = ResourceType::FromInt(type); |
1030 return true; | 485 return true; |
1031 } | 486 } |
1032 static void Log(const param_type& p, std::wstring* l) { | 487 static void Log(const param_type& p, std::wstring* l) { |
1033 std::wstring type; | 488 std::wstring type; |
1034 switch (p) { | 489 switch (p) { |
1035 case ResourceType::MAIN_FRAME: | 490 case ResourceType::MAIN_FRAME: |
(...skipping 13 matching lines...) Expand all Loading... |
1049 break; | 504 break; |
1050 } | 505 } |
1051 | 506 |
1052 LogParam(type, l); | 507 LogParam(type, l); |
1053 } | 508 } |
1054 }; | 509 }; |
1055 | 510 |
1056 template <> | 511 template <> |
1057 struct ParamTraits<FilterPolicy::Type> { | 512 struct ParamTraits<FilterPolicy::Type> { |
1058 typedef FilterPolicy::Type param_type; | 513 typedef FilterPolicy::Type param_type; |
1059 static void Write(IPC::Message* m, const param_type& p) { | 514 static void Write(Message* m, const param_type& p) { |
1060 m->WriteInt(p); | 515 m->WriteInt(p); |
1061 } | 516 } |
1062 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 517 static bool Read(const Message* m, void** iter, param_type* p) { |
1063 int type; | 518 int type; |
1064 if (!m->ReadInt(iter, &type) || !FilterPolicy::ValidType(type)) | 519 if (!m->ReadInt(iter, &type) || !FilterPolicy::ValidType(type)) |
1065 return false; | 520 return false; |
1066 *p = FilterPolicy::FromInt(type); | 521 *p = FilterPolicy::FromInt(type); |
1067 return true; | 522 return true; |
1068 } | 523 } |
1069 static void Log(const param_type& p, std::wstring* l) { | 524 static void Log(const param_type& p, std::wstring* l) { |
1070 std::wstring type; | 525 std::wstring type; |
1071 switch (p) { | 526 switch (p) { |
1072 case FilterPolicy::DONT_FILTER: | 527 case FilterPolicy::DONT_FILTER: |
(...skipping 10 matching lines...) Expand all Loading... |
1083 break; | 538 break; |
1084 } | 539 } |
1085 | 540 |
1086 LogParam(type, l); | 541 LogParam(type, l); |
1087 } | 542 } |
1088 }; | 543 }; |
1089 | 544 |
1090 template <> | 545 template <> |
1091 struct ParamTraits<ContextNode> { | 546 struct ParamTraits<ContextNode> { |
1092 typedef ContextNode param_type; | 547 typedef ContextNode param_type; |
1093 static void Write(IPC::Message* m, const param_type& p) { | 548 static void Write(Message* m, const param_type& p) { |
1094 m->WriteInt(p.type); | 549 m->WriteInt(p.type); |
1095 } | 550 } |
1096 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 551 static bool Read(const Message* m, void** iter, param_type* p) { |
1097 int type; | 552 int type; |
1098 if (!m->ReadInt(iter, &type)) | 553 if (!m->ReadInt(iter, &type)) |
1099 return false; | 554 return false; |
1100 *p = ContextNode(type); | 555 *p = ContextNode(type); |
1101 return true; | 556 return true; |
1102 } | 557 } |
1103 static void Log(const param_type& p, std::wstring* l) { | 558 static void Log(const param_type& p, std::wstring* l) { |
1104 std::wstring event = L""; | 559 std::wstring event = L""; |
1105 | 560 |
1106 if (!p.type) { | 561 if (!p.type) { |
(...skipping 17 matching lines...) Expand all Loading... |
1124 event.append(L")"); | 579 event.append(L")"); |
1125 } | 580 } |
1126 | 581 |
1127 LogParam(event, l); | 582 LogParam(event, l); |
1128 } | 583 } |
1129 }; | 584 }; |
1130 | 585 |
1131 template <> | 586 template <> |
1132 struct ParamTraits<WebInputEvent::Type> { | 587 struct ParamTraits<WebInputEvent::Type> { |
1133 typedef WebInputEvent::Type param_type; | 588 typedef WebInputEvent::Type param_type; |
1134 static void Write(IPC::Message* m, const param_type& p) { | 589 static void Write(Message* m, const param_type& p) { |
1135 m->WriteInt(p); | 590 m->WriteInt(p); |
1136 } | 591 } |
1137 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 592 static bool Read(const Message* m, void** iter, param_type* p) { |
1138 int type; | 593 int type; |
1139 if (!m->ReadInt(iter, &type)) | 594 if (!m->ReadInt(iter, &type)) |
1140 return false; | 595 return false; |
1141 *p = static_cast<WebInputEvent::Type>(type); | 596 *p = static_cast<WebInputEvent::Type>(type); |
1142 return true; | 597 return true; |
1143 } | 598 } |
1144 static void Log(const param_type& p, std::wstring* l) { | 599 static void Log(const param_type& p, std::wstring* l) { |
1145 std::wstring type; | 600 std::wstring type; |
1146 switch (p) { | 601 switch (p) { |
1147 case WebInputEvent::MOUSE_DOWN: | 602 case WebInputEvent::MOUSE_DOWN: |
(...skipping 22 matching lines...) Expand all Loading... |
1170 break; | 625 break; |
1171 default: | 626 default: |
1172 type = L"UNKNOWN"; | 627 type = L"UNKNOWN"; |
1173 break; | 628 break; |
1174 } | 629 } |
1175 | 630 |
1176 LogParam(type, l); | 631 LogParam(type, l); |
1177 } | 632 } |
1178 }; | 633 }; |
1179 | 634 |
| 635 // Traits for ViewMsg_Accessibility_In_Params structure to pack/unpack. |
| 636 template <> |
| 637 struct ParamTraits<ViewMsg_Accessibility_In_Params> { |
| 638 typedef ViewMsg_Accessibility_In_Params param_type; |
| 639 static void Write(Message* m, const param_type& p) { |
| 640 WriteParam(m, p.iaccessible_id); |
| 641 WriteParam(m, p.iaccessible_function_id); |
| 642 WriteParam(m, p.input_variant_lval); |
| 643 WriteParam(m, p.input_long1); |
| 644 WriteParam(m, p.input_long2); |
| 645 } |
| 646 static bool Read(const Message* m, void** iter, param_type* p) { |
| 647 return |
| 648 ReadParam(m, iter, &p->iaccessible_id) && |
| 649 ReadParam(m, iter, &p->iaccessible_function_id) && |
| 650 ReadParam(m, iter, &p->input_variant_lval) && |
| 651 ReadParam(m, iter, &p->input_long1) && |
| 652 ReadParam(m, iter, &p->input_long2); |
| 653 } |
| 654 static void Log(const param_type& p, std::wstring* l) { |
| 655 l->append(L"("); |
| 656 LogParam(p.iaccessible_id, l); |
| 657 l->append(L", "); |
| 658 LogParam(p.iaccessible_function_id, l); |
| 659 l->append(L", "); |
| 660 LogParam(p.input_variant_lval, l); |
| 661 l->append(L", "); |
| 662 LogParam(p.input_long1, l); |
| 663 l->append(L", "); |
| 664 LogParam(p.input_long2, l); |
| 665 l->append(L")"); |
| 666 } |
| 667 }; |
| 668 |
| 669 // Traits for ViewHostMsg_Accessibility_Out_Params structure to pack/unpack. |
| 670 template <> |
| 671 struct ParamTraits<ViewHostMsg_Accessibility_Out_Params> { |
| 672 typedef ViewHostMsg_Accessibility_Out_Params param_type; |
| 673 static void Write(Message* m, const param_type& p) { |
| 674 WriteParam(m, p.iaccessible_id); |
| 675 WriteParam(m, p.output_variant_lval); |
| 676 WriteParam(m, p.output_long1); |
| 677 WriteParam(m, p.output_long2); |
| 678 WriteParam(m, p.output_long3); |
| 679 WriteParam(m, p.output_long4); |
| 680 WriteParam(m, p.output_string); |
| 681 WriteParam(m, p.return_code); |
| 682 } |
| 683 static bool Read(const Message* m, void** iter, param_type* p) { |
| 684 return |
| 685 ReadParam(m, iter, &p->iaccessible_id) && |
| 686 ReadParam(m, iter, &p->output_variant_lval) && |
| 687 ReadParam(m, iter, &p->output_long1) && |
| 688 ReadParam(m, iter, &p->output_long2) && |
| 689 ReadParam(m, iter, &p->output_long3) && |
| 690 ReadParam(m, iter, &p->output_long4) && |
| 691 ReadParam(m, iter, &p->output_string) && |
| 692 ReadParam(m, iter, &p->return_code); |
| 693 } |
| 694 static void Log(const param_type& p, std::wstring* l) { |
| 695 l->append(L"("); |
| 696 LogParam(p.iaccessible_id, l); |
| 697 l->append(L", "); |
| 698 LogParam(p.output_variant_lval, l); |
| 699 l->append(L", "); |
| 700 LogParam(p.output_long1, l); |
| 701 l->append(L", "); |
| 702 LogParam(p.output_long2, l); |
| 703 l->append(L", "); |
| 704 LogParam(p.output_long3, l); |
| 705 l->append(L", "); |
| 706 LogParam(p.output_long4, l); |
| 707 l->append(L", "); |
| 708 LogParam(p.output_string, l); |
| 709 l->append(L", "); |
| 710 LogParam(p.return_code, l); |
| 711 l->append(L")"); |
| 712 } |
| 713 }; |
| 714 |
1180 template <> | 715 template <> |
| 716 struct ParamTraits<ViewHostMsg_ImeControl> { |
| 717 typedef ViewHostMsg_ImeControl param_type; |
| 718 static void Write(Message* m, const param_type& p) { |
| 719 m->WriteInt(p); |
| 720 } |
| 721 static bool Read(const Message* m, void** iter, param_type* p) { |
| 722 int type; |
| 723 if (!m->ReadInt(iter, &type)) |
| 724 return false; |
| 725 *p = static_cast<ViewHostMsg_ImeControl>(type); |
| 726 return true; |
| 727 } |
| 728 static void Log(const param_type& p, std::wstring* l) { |
| 729 std::wstring control; |
| 730 switch (p) { |
| 731 case IME_DISABLE: |
| 732 control = L"IME_DISABLE"; |
| 733 break; |
| 734 case IME_MOVE_WINDOWS: |
| 735 control = L"IME_MOVE_WINDOWS"; |
| 736 break; |
| 737 case IME_COMPLETE_COMPOSITION: |
| 738 control = L"IME_COMPLETE_COMPOSITION"; |
| 739 break; |
| 740 default: |
| 741 control = L"UNKNOWN"; |
| 742 break; |
| 743 } |
| 744 |
| 745 LogParam(control, l); |
| 746 } |
| 747 }; |
| 748 |
| 749 // Traits for ViewMsg_Navigate_Params structure to pack/unpack. |
| 750 template <> |
| 751 struct ParamTraits<ViewMsg_Navigate_Params> { |
| 752 typedef ViewMsg_Navigate_Params param_type; |
| 753 static void Write(Message* m, const param_type& p) { |
| 754 WriteParam(m, p.page_id); |
| 755 WriteParam(m, p.url); |
| 756 WriteParam(m, p.referrer); |
| 757 WriteParam(m, p.transition); |
| 758 WriteParam(m, p.state); |
| 759 WriteParam(m, p.reload); |
| 760 } |
| 761 static bool Read(const Message* m, void** iter, param_type* p) { |
| 762 return |
| 763 ReadParam(m, iter, &p->page_id) && |
| 764 ReadParam(m, iter, &p->url) && |
| 765 ReadParam(m, iter, &p->referrer) && |
| 766 ReadParam(m, iter, &p->transition) && |
| 767 ReadParam(m, iter, &p->state) && |
| 768 ReadParam(m, iter, &p->reload); |
| 769 } |
| 770 static void Log(const param_type& p, std::wstring* l) { |
| 771 l->append(L"("); |
| 772 LogParam(p.page_id, l); |
| 773 l->append(L", "); |
| 774 LogParam(p.url, l); |
| 775 l->append(L", "); |
| 776 LogParam(p.transition, l); |
| 777 l->append(L", "); |
| 778 LogParam(p.state, l); |
| 779 l->append(L", "); |
| 780 LogParam(p.reload, l); |
| 781 l->append(L")"); |
| 782 } |
| 783 }; |
| 784 |
| 785 // Traits for PasswordForm_Params structure to pack/unpack. |
| 786 template <> |
1181 struct ParamTraits<PasswordForm> { | 787 struct ParamTraits<PasswordForm> { |
1182 typedef PasswordForm param_type; | 788 typedef PasswordForm param_type; |
1183 static void Write(IPC::Message* m, const param_type& p) { | 789 static void Write(Message* m, const param_type& p) { |
1184 WriteParam(m, p.signon_realm); | 790 WriteParam(m, p.signon_realm); |
1185 WriteParam(m, p.origin); | 791 WriteParam(m, p.origin); |
1186 WriteParam(m, p.action); | 792 WriteParam(m, p.action); |
1187 WriteParam(m, p.submit_element); | 793 WriteParam(m, p.submit_element); |
1188 WriteParam(m, p.username_element); | 794 WriteParam(m, p.username_element); |
1189 WriteParam(m, p.username_value); | 795 WriteParam(m, p.username_value); |
1190 WriteParam(m, p.password_element); | 796 WriteParam(m, p.password_element); |
1191 WriteParam(m, p.password_value); | 797 WriteParam(m, p.password_value); |
1192 WriteParam(m, p.old_password_element); | 798 WriteParam(m, p.old_password_element); |
1193 WriteParam(m, p.old_password_value); | 799 WriteParam(m, p.old_password_value); |
1194 WriteParam(m, p.ssl_valid); | 800 WriteParam(m, p.ssl_valid); |
1195 WriteParam(m, p.preferred); | 801 WriteParam(m, p.preferred); |
1196 WriteParam(m, p.blacklisted_by_user); | 802 WriteParam(m, p.blacklisted_by_user); |
1197 } | 803 } |
1198 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 804 static bool Read(const Message* m, void** iter, param_type* p) { |
1199 return | 805 return |
1200 ReadParam(m, iter, &p->signon_realm) && | 806 ReadParam(m, iter, &p->signon_realm) && |
1201 ReadParam(m, iter, &p->origin) && | 807 ReadParam(m, iter, &p->origin) && |
1202 ReadParam(m, iter, &p->action) && | 808 ReadParam(m, iter, &p->action) && |
1203 ReadParam(m, iter, &p->submit_element) && | 809 ReadParam(m, iter, &p->submit_element) && |
1204 ReadParam(m, iter, &p->username_element) && | 810 ReadParam(m, iter, &p->username_element) && |
1205 ReadParam(m, iter, &p->username_value) && | 811 ReadParam(m, iter, &p->username_value) && |
1206 ReadParam(m, iter, &p->password_element) && | 812 ReadParam(m, iter, &p->password_element) && |
1207 ReadParam(m, iter, &p->password_value) && | 813 ReadParam(m, iter, &p->password_value) && |
1208 ReadParam(m, iter, &p->old_password_element) && | 814 ReadParam(m, iter, &p->old_password_element) && |
1209 ReadParam(m, iter, &p->old_password_value) && | 815 ReadParam(m, iter, &p->old_password_value) && |
1210 ReadParam(m, iter, &p->ssl_valid) && | 816 ReadParam(m, iter, &p->ssl_valid) && |
1211 ReadParam(m, iter, &p->preferred) && | 817 ReadParam(m, iter, &p->preferred) && |
1212 ReadParam(m, iter, &p->blacklisted_by_user); | 818 ReadParam(m, iter, &p->blacklisted_by_user); |
1213 } | 819 } |
1214 static void Log(const param_type& p, std::wstring* l) { | 820 static void Log(const param_type& p, std::wstring* l) { |
1215 l->append(L"<PasswordForm>"); | 821 l->append(L"<PasswordForm>"); |
1216 } | 822 } |
1217 }; | 823 }; |
1218 | 824 |
| 825 // Traits for AutofillForm_Params structure to pack/unpack. |
1219 template <> | 826 template <> |
1220 struct ParamTraits<AutofillForm> { | 827 struct ParamTraits<AutofillForm> { |
1221 typedef AutofillForm param_type; | 828 typedef AutofillForm param_type; |
1222 static void Write(IPC::Message* m, const param_type& p) { | 829 static void Write(Message* m, const param_type& p) { |
1223 WriteParam(m, p.elements.size()); | 830 WriteParam(m, p.elements.size()); |
1224 for (std::vector<AutofillForm::Element>::const_iterator itr = | 831 for (std::vector<AutofillForm::Element>::const_iterator itr = |
1225 p.elements.begin(); | 832 p.elements.begin(); |
1226 itr != p.elements.end(); | 833 itr != p.elements.end(); |
1227 itr++) { | 834 itr++) { |
1228 WriteParam(m, itr->name); | 835 WriteParam(m, itr->name); |
1229 WriteParam(m, itr->value); | 836 WriteParam(m, itr->value); |
1230 } | 837 } |
1231 } | 838 } |
1232 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 839 static bool Read(const Message* m, void** iter, param_type* p) { |
1233 bool result = true; | 840 bool result = true; |
1234 size_t elements_size = 0; | 841 size_t elements_size = 0; |
1235 result = result && ReadParam(m, iter, &elements_size); | 842 result = result && ReadParam(m, iter, &elements_size); |
1236 p->elements.resize(elements_size); | 843 p->elements.resize(elements_size); |
1237 for (size_t i = 0; i < elements_size; i++) { | 844 for (size_t i = 0; i < elements_size; i++) { |
1238 std::wstring s; | 845 std::wstring s; |
1239 result = result && ReadParam(m, iter, &(p->elements[i].name)); | 846 result = result && ReadParam(m, iter, &(p->elements[i].name)); |
1240 result = result && ReadParam(m, iter, &(p->elements[i].value)); | 847 result = result && ReadParam(m, iter, &(p->elements[i].value)); |
1241 } | 848 } |
1242 return result; | 849 return result; |
1243 } | 850 } |
1244 static void Log(const param_type& p, std::wstring* l) { | 851 static void Log(const param_type& p, std::wstring* l) { |
1245 l->append(L"<AutofillForm>"); | 852 l->append(L"<AutofillForm>"); |
1246 } | 853 } |
1247 }; | 854 }; |
1248 | 855 |
| 856 // Traits for ViewHostMsg_FrameNavigate_Params structure to pack/unpack. |
| 857 template <> |
| 858 struct ParamTraits<ViewHostMsg_FrameNavigate_Params> { |
| 859 typedef ViewHostMsg_FrameNavigate_Params param_type; |
| 860 static void Write(Message* m, const param_type& p) { |
| 861 WriteParam(m, p.page_id); |
| 862 WriteParam(m, p.url); |
| 863 WriteParam(m, p.referrer); |
| 864 WriteParam(m, p.transition); |
| 865 WriteParam(m, p.redirects); |
| 866 WriteParam(m, p.should_update_history); |
| 867 WriteParam(m, p.searchable_form_url); |
| 868 WriteParam(m, p.searchable_form_element_name); |
| 869 WriteParam(m, p.searchable_form_encoding); |
| 870 WriteParam(m, p.password_form); |
| 871 WriteParam(m, p.security_info); |
| 872 WriteParam(m, p.gesture); |
| 873 WriteParam(m, p.contents_mime_type); |
| 874 WriteParam(m, p.is_post); |
| 875 WriteParam(m, p.is_content_filtered); |
| 876 } |
| 877 static bool Read(const Message* m, void** iter, param_type* p) { |
| 878 return |
| 879 ReadParam(m, iter, &p->page_id) && |
| 880 ReadParam(m, iter, &p->url) && |
| 881 ReadParam(m, iter, &p->referrer) && |
| 882 ReadParam(m, iter, &p->transition) && |
| 883 ReadParam(m, iter, &p->redirects) && |
| 884 ReadParam(m, iter, &p->should_update_history) && |
| 885 ReadParam(m, iter, &p->searchable_form_url) && |
| 886 ReadParam(m, iter, &p->searchable_form_element_name) && |
| 887 ReadParam(m, iter, &p->searchable_form_encoding) && |
| 888 ReadParam(m, iter, &p->password_form) && |
| 889 ReadParam(m, iter, &p->security_info) && |
| 890 ReadParam(m, iter, &p->gesture) && |
| 891 ReadParam(m, iter, &p->contents_mime_type) && |
| 892 ReadParam(m, iter, &p->is_post) && |
| 893 ReadParam(m, iter, &p->is_content_filtered); |
| 894 } |
| 895 static void Log(const param_type& p, std::wstring* l) { |
| 896 l->append(L"("); |
| 897 LogParam(p.page_id, l); |
| 898 l->append(L", "); |
| 899 LogParam(p.url, l); |
| 900 l->append(L", "); |
| 901 LogParam(p.referrer, l); |
| 902 l->append(L", "); |
| 903 LogParam(p.transition, l); |
| 904 l->append(L", "); |
| 905 LogParam(p.redirects, l); |
| 906 l->append(L", "); |
| 907 LogParam(p.should_update_history, l); |
| 908 l->append(L", "); |
| 909 LogParam(p.searchable_form_url, l); |
| 910 l->append(L", "); |
| 911 LogParam(p.searchable_form_element_name, l); |
| 912 l->append(L", "); |
| 913 LogParam(p.searchable_form_encoding, l); |
| 914 l->append(L", "); |
| 915 LogParam(p.password_form, l); |
| 916 l->append(L", "); |
| 917 LogParam(p.security_info, l); |
| 918 l->append(L", "); |
| 919 LogParam(p.gesture, l); |
| 920 l->append(L", "); |
| 921 LogParam(p.contents_mime_type, l); |
| 922 l->append(L", "); |
| 923 LogParam(p.is_post, l); |
| 924 l->append(L", "); |
| 925 LogParam(p.is_content_filtered, l); |
| 926 l->append(L")"); |
| 927 } |
| 928 }; |
| 929 |
| 930 // Traits for ViewHostMsg_ContextMenu_Params structure to pack/unpack. |
| 931 template <> |
| 932 struct ParamTraits<ViewHostMsg_ContextMenu_Params> { |
| 933 typedef ViewHostMsg_ContextMenu_Params param_type; |
| 934 static void Write(Message* m, const param_type& p) { |
| 935 WriteParam(m, p.node); |
| 936 WriteParam(m, p.x); |
| 937 WriteParam(m, p.y); |
| 938 WriteParam(m, p.link_url); |
| 939 WriteParam(m, p.image_url); |
| 940 WriteParam(m, p.page_url); |
| 941 WriteParam(m, p.frame_url); |
| 942 WriteParam(m, p.selection_text); |
| 943 WriteParam(m, p.misspelled_word); |
| 944 WriteParam(m, p.dictionary_suggestions); |
| 945 WriteParam(m, p.spellcheck_enabled); |
| 946 WriteParam(m, p.edit_flags); |
| 947 WriteParam(m, p.security_info); |
| 948 } |
| 949 static bool Read(const Message* m, void** iter, param_type* p) { |
| 950 return |
| 951 ReadParam(m, iter, &p->node) && |
| 952 ReadParam(m, iter, &p->x) && |
| 953 ReadParam(m, iter, &p->y) && |
| 954 ReadParam(m, iter, &p->link_url) && |
| 955 ReadParam(m, iter, &p->image_url) && |
| 956 ReadParam(m, iter, &p->page_url) && |
| 957 ReadParam(m, iter, &p->frame_url) && |
| 958 ReadParam(m, iter, &p->selection_text) && |
| 959 ReadParam(m, iter, &p->misspelled_word) && |
| 960 ReadParam(m, iter, &p->dictionary_suggestions) && |
| 961 ReadParam(m, iter, &p->spellcheck_enabled) && |
| 962 ReadParam(m, iter, &p->edit_flags) && |
| 963 ReadParam(m, iter, &p->security_info); |
| 964 } |
| 965 static void Log(const param_type& p, std::wstring* l) { |
| 966 l->append(L"<ViewHostMsg_ContextMenu_Params>"); |
| 967 } |
| 968 }; |
| 969 |
| 970 // Traits for ViewHostMsg_PaintRect_Params structure to pack/unpack. |
| 971 template <> |
| 972 struct ParamTraits<ViewHostMsg_PaintRect_Params> { |
| 973 typedef ViewHostMsg_PaintRect_Params param_type; |
| 974 static void Write(Message* m, const param_type& p) { |
| 975 WriteParam(m, p.bitmap); |
| 976 WriteParam(m, p.bitmap_rect); |
| 977 WriteParam(m, p.view_size); |
| 978 WriteParam(m, p.plugin_window_moves); |
| 979 WriteParam(m, p.flags); |
| 980 } |
| 981 static bool Read(const Message* m, void** iter, param_type* p) { |
| 982 return |
| 983 ReadParam(m, iter, &p->bitmap) && |
| 984 ReadParam(m, iter, &p->bitmap_rect) && |
| 985 ReadParam(m, iter, &p->view_size) && |
| 986 ReadParam(m, iter, &p->plugin_window_moves) && |
| 987 ReadParam(m, iter, &p->flags); |
| 988 } |
| 989 static void Log(const param_type& p, std::wstring* l) { |
| 990 l->append(L"("); |
| 991 LogParam(p.bitmap, l); |
| 992 l->append(L", "); |
| 993 LogParam(p.bitmap_rect, l); |
| 994 l->append(L", "); |
| 995 LogParam(p.view_size, l); |
| 996 l->append(L", "); |
| 997 LogParam(p.plugin_window_moves, l); |
| 998 l->append(L", "); |
| 999 LogParam(p.flags, l); |
| 1000 l->append(L")"); |
| 1001 } |
| 1002 }; |
| 1003 |
| 1004 // Traits for ViewHostMsg_ScrollRect_Params structure to pack/unpack. |
| 1005 template <> |
| 1006 struct ParamTraits<ViewHostMsg_ScrollRect_Params> { |
| 1007 typedef ViewHostMsg_ScrollRect_Params param_type; |
| 1008 static void Write(Message* m, const param_type& p) { |
| 1009 WriteParam(m, p.bitmap); |
| 1010 WriteParam(m, p.bitmap_rect); |
| 1011 WriteParam(m, p.dx); |
| 1012 WriteParam(m, p.dy); |
| 1013 WriteParam(m, p.clip_rect); |
| 1014 WriteParam(m, p.view_size); |
| 1015 WriteParam(m, p.plugin_window_moves); |
| 1016 } |
| 1017 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1018 return |
| 1019 ReadParam(m, iter, &p->bitmap) && |
| 1020 ReadParam(m, iter, &p->bitmap_rect) && |
| 1021 ReadParam(m, iter, &p->dx) && |
| 1022 ReadParam(m, iter, &p->dy) && |
| 1023 ReadParam(m, iter, &p->clip_rect) && |
| 1024 ReadParam(m, iter, &p->view_size) && |
| 1025 ReadParam(m, iter, &p->plugin_window_moves); |
| 1026 } |
| 1027 static void Log(const param_type& p, std::wstring* l) { |
| 1028 l->append(L"("); |
| 1029 LogParam(p.bitmap, l); |
| 1030 l->append(L", "); |
| 1031 LogParam(p.bitmap_rect, l); |
| 1032 l->append(L", "); |
| 1033 LogParam(p.dx, l); |
| 1034 l->append(L", "); |
| 1035 LogParam(p.dy, l); |
| 1036 l->append(L", "); |
| 1037 LogParam(p.clip_rect, l); |
| 1038 l->append(L", "); |
| 1039 LogParam(p.view_size, l); |
| 1040 l->append(L", "); |
| 1041 LogParam(p.plugin_window_moves, l); |
| 1042 l->append(L")"); |
| 1043 } |
| 1044 }; |
1249 | 1045 |
1250 template <> | 1046 template <> |
1251 struct ParamTraits<WebPluginGeometry> { | 1047 struct ParamTraits<WebPluginGeometry> { |
1252 typedef WebPluginGeometry param_type; | 1048 typedef WebPluginGeometry param_type; |
1253 static void Write(IPC::Message* m, const param_type& p) { | 1049 static void Write(Message* m, const param_type& p) { |
1254 WriteParam(m, p.window); | 1050 WriteParam(m, p.window); |
1255 WriteParam(m, p.window_rect); | 1051 WriteParam(m, p.window_rect); |
1256 WriteParam(m, p.clip_rect); | 1052 WriteParam(m, p.clip_rect); |
1257 WriteParam(m, p.cutout_rects); | 1053 WriteParam(m, p.cutout_rects); |
1258 WriteParam(m, p.visible); | 1054 WriteParam(m, p.visible); |
1259 } | 1055 } |
1260 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1056 static bool Read(const Message* m, void** iter, param_type* p) { |
1261 return | 1057 return |
1262 ReadParam(m, iter, &p->window) && | 1058 ReadParam(m, iter, &p->window) && |
1263 ReadParam(m, iter, &p->window_rect) && | 1059 ReadParam(m, iter, &p->window_rect) && |
1264 ReadParam(m, iter, &p->clip_rect) && | 1060 ReadParam(m, iter, &p->clip_rect) && |
1265 ReadParam(m, iter, &p->cutout_rects) && | 1061 ReadParam(m, iter, &p->cutout_rects) && |
1266 ReadParam(m, iter, &p->visible); | 1062 ReadParam(m, iter, &p->visible); |
1267 } | 1063 } |
1268 static void Log(const param_type& p, std::wstring* l) { | 1064 static void Log(const param_type& p, std::wstring* l) { |
1269 l->append(L"("); | 1065 l->append(L"("); |
1270 LogParam(p.window, l); | 1066 LogParam(p.window, l); |
1271 l->append(L", "); | 1067 l->append(L", "); |
1272 LogParam(p.window_rect, l); | 1068 LogParam(p.window_rect, l); |
1273 l->append(L", "); | 1069 l->append(L", "); |
1274 LogParam(p.clip_rect, l); | 1070 LogParam(p.clip_rect, l); |
1275 l->append(L", "); | 1071 l->append(L", "); |
1276 LogParam(p.cutout_rects, l); | 1072 LogParam(p.cutout_rects, l); |
1277 l->append(L", "); | 1073 l->append(L", "); |
1278 LogParam(p.visible, l); | 1074 LogParam(p.visible, l); |
1279 l->append(L")"); | 1075 l->append(L")"); |
1280 } | 1076 } |
1281 }; | 1077 }; |
1282 | 1078 |
1283 | 1079 // Traits for ViewMsg_GetPlugins_Reply structure to pack/unpack. |
1284 template <> | 1080 template <> |
1285 struct ParamTraits<WebPluginMimeType> { | 1081 struct ParamTraits<WebPluginMimeType> { |
1286 typedef WebPluginMimeType param_type; | 1082 typedef WebPluginMimeType param_type; |
1287 static void Write(IPC::Message* m, const param_type& p) { | 1083 static void Write(Message* m, const param_type& p) { |
1288 WriteParam(m, p.mime_type); | 1084 WriteParam(m, p.mime_type); |
1289 WriteParam(m, p.file_extensions); | 1085 WriteParam(m, p.file_extensions); |
1290 WriteParam(m, p.description); | 1086 WriteParam(m, p.description); |
1291 } | 1087 } |
1292 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1088 static bool Read(const Message* m, void** iter, param_type* r) { |
1293 return | 1089 return |
1294 ReadParam(m, iter, &r->mime_type) && | 1090 ReadParam(m, iter, &r->mime_type) && |
1295 ReadParam(m, iter, &r->file_extensions) && | 1091 ReadParam(m, iter, &r->file_extensions) && |
1296 ReadParam(m, iter, &r->description); | 1092 ReadParam(m, iter, &r->description); |
1297 } | 1093 } |
1298 static void Log(const param_type& p, std::wstring* l) { | 1094 static void Log(const param_type& p, std::wstring* l) { |
1299 l->append(L"("); | 1095 l->append(L"("); |
1300 LogParam(p.mime_type, l); | 1096 LogParam(p.mime_type, l); |
1301 l->append(L", "); | 1097 l->append(L", "); |
1302 LogParam(p.file_extensions, l); | 1098 LogParam(p.file_extensions, l); |
1303 l->append(L", "); | 1099 l->append(L", "); |
1304 LogParam(p.description, l); | 1100 LogParam(p.description, l); |
1305 l->append(L")"); | 1101 l->append(L")"); |
1306 } | 1102 } |
1307 }; | 1103 }; |
1308 | 1104 |
1309 | 1105 |
1310 template <> | 1106 template <> |
1311 struct ParamTraits<WebPluginInfo> { | 1107 struct ParamTraits<WebPluginInfo> { |
1312 typedef WebPluginInfo param_type; | 1108 typedef WebPluginInfo param_type; |
1313 static void Write(IPC::Message* m, const param_type& p) { | 1109 static void Write(Message* m, const param_type& p) { |
1314 WriteParam(m, p.name); | 1110 WriteParam(m, p.name); |
1315 WriteParam(m, p.path); | 1111 WriteParam(m, p.path); |
1316 WriteParam(m, p.version); | 1112 WriteParam(m, p.version); |
1317 WriteParam(m, p.desc); | 1113 WriteParam(m, p.desc); |
1318 WriteParam(m, p.mime_types); | 1114 WriteParam(m, p.mime_types); |
1319 } | 1115 } |
1320 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1116 static bool Read(const Message* m, void** iter, param_type* r) { |
1321 return | 1117 return |
1322 ReadParam(m, iter, &r->name) && | 1118 ReadParam(m, iter, &r->name) && |
1323 ReadParam(m, iter, &r->path) && | 1119 ReadParam(m, iter, &r->path) && |
1324 ReadParam(m, iter, &r->version) && | 1120 ReadParam(m, iter, &r->version) && |
1325 ReadParam(m, iter, &r->desc) && | 1121 ReadParam(m, iter, &r->desc) && |
1326 ReadParam(m, iter, &r->mime_types); | 1122 ReadParam(m, iter, &r->mime_types); |
1327 } | 1123 } |
1328 static void Log(const param_type& p, std::wstring* l) { | 1124 static void Log(const param_type& p, std::wstring* l) { |
1329 l->append(L"("); | 1125 l->append(L"("); |
1330 LogParam(p.name, l); | 1126 LogParam(p.name, l); |
1331 l->append(L", "); | 1127 l->append(L", "); |
1332 l->append(L", "); | 1128 l->append(L", "); |
1333 LogParam(p.path, l); | 1129 LogParam(p.path, l); |
1334 l->append(L", "); | 1130 l->append(L", "); |
1335 LogParam(p.version, l); | 1131 LogParam(p.version, l); |
1336 l->append(L", "); | 1132 l->append(L", "); |
1337 LogParam(p.desc, l); | 1133 LogParam(p.desc, l); |
1338 l->append(L", "); | 1134 l->append(L", "); |
1339 LogParam(p.mime_types, l); | 1135 LogParam(p.mime_types, l); |
1340 l->append(L")"); | 1136 l->append(L")"); |
1341 } | 1137 } |
1342 }; | 1138 }; |
1343 | 1139 |
| 1140 // Traits for ViewMsg_UploadFile_Params structure to pack/unpack. |
| 1141 template <> |
| 1142 struct ParamTraits<ViewMsg_UploadFile_Params> { |
| 1143 typedef ViewMsg_UploadFile_Params param_type; |
| 1144 static void Write(Message* m, const param_type& p) { |
| 1145 WriteParam(m, p.file_path); |
| 1146 WriteParam(m, p.form); |
| 1147 WriteParam(m, p.file); |
| 1148 WriteParam(m, p.submit); |
| 1149 WriteParam(m, p.other_values); |
| 1150 } |
| 1151 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1152 return |
| 1153 ReadParam(m, iter, &p->file_path) && |
| 1154 ReadParam(m, iter, &p->form) && |
| 1155 ReadParam(m, iter, &p->file) && |
| 1156 ReadParam(m, iter, &p->submit) && |
| 1157 ReadParam(m, iter, &p->other_values); |
| 1158 } |
| 1159 static void Log(const param_type& p, std::wstring* l) { |
| 1160 l->append(L"<ViewMsg_UploadFile_Params>"); |
| 1161 } |
| 1162 }; |
| 1163 |
| 1164 // Traits for net::UploadData::Element. |
1344 template <> | 1165 template <> |
1345 struct ParamTraits<net::UploadData::Element> { | 1166 struct ParamTraits<net::UploadData::Element> { |
1346 typedef net::UploadData::Element param_type; | 1167 typedef net::UploadData::Element param_type; |
1347 static void Write(IPC::Message* m, const param_type& p) { | 1168 static void Write(Message* m, const param_type& p) { |
1348 WriteParam(m, static_cast<int>(p.type())); | 1169 WriteParam(m, static_cast<int>(p.type())); |
1349 if (p.type() == net::UploadData::TYPE_BYTES) { | 1170 if (p.type() == net::UploadData::TYPE_BYTES) { |
1350 m->WriteData(&p.bytes()[0], static_cast<int>(p.bytes().size())); | 1171 m->WriteData(&p.bytes()[0], static_cast<int>(p.bytes().size())); |
1351 } else { | 1172 } else { |
1352 WriteParam(m, p.file_path()); | 1173 WriteParam(m, p.file_path()); |
1353 WriteParam(m, p.file_range_offset()); | 1174 WriteParam(m, p.file_range_offset()); |
1354 WriteParam(m, p.file_range_length()); | 1175 WriteParam(m, p.file_range_length()); |
1355 } | 1176 } |
1356 } | 1177 } |
1357 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1178 static bool Read(const Message* m, void** iter, param_type* r) { |
1358 int type; | 1179 int type; |
1359 if (!ReadParam(m, iter, &type)) | 1180 if (!ReadParam(m, iter, &type)) |
1360 return false; | 1181 return false; |
1361 if (type == net::UploadData::TYPE_BYTES) { | 1182 if (type == net::UploadData::TYPE_BYTES) { |
1362 const char* data; | 1183 const char* data; |
1363 int len; | 1184 int len; |
1364 if (!m->ReadData(iter, &data, &len)) | 1185 if (!m->ReadData(iter, &data, &len)) |
1365 return false; | 1186 return false; |
1366 r->SetToBytes(data, len); | 1187 r->SetToBytes(data, len); |
1367 } else { | 1188 } else { |
1368 DCHECK(type == net::UploadData::TYPE_FILE); | 1189 DCHECK(type == net::UploadData::TYPE_FILE); |
1369 std::wstring file_path; | 1190 std::wstring file_path; |
1370 uint64 offset, length; | 1191 uint64 offset, length; |
1371 if (!ReadParam(m, iter, &file_path)) | 1192 if (!ReadParam(m, iter, &file_path)) |
1372 return false; | 1193 return false; |
1373 if (!ReadParam(m, iter, &offset)) | 1194 if (!ReadParam(m, iter, &offset)) |
1374 return false; | 1195 return false; |
1375 if (!ReadParam(m, iter, &length)) | 1196 if (!ReadParam(m, iter, &length)) |
1376 return false; | 1197 return false; |
1377 r->SetToFilePathRange(file_path, offset, length); | 1198 r->SetToFilePathRange(file_path, offset, length); |
1378 } | 1199 } |
1379 return true; | 1200 return true; |
1380 } | 1201 } |
1381 static void Log(const param_type& p, std::wstring* l) { | 1202 static void Log(const param_type& p, std::wstring* l) { |
1382 l->append(L"<net::UploadData::Element>"); | 1203 l->append(L"<net::UploadData::Element>"); |
1383 } | 1204 } |
1384 }; | 1205 }; |
1385 | 1206 |
| 1207 // Traits for CacheManager::UsageStats |
1386 template <> | 1208 template <> |
1387 struct ParamTraits<CacheManager::UsageStats> { | 1209 struct ParamTraits<CacheManager::UsageStats> { |
1388 typedef CacheManager::UsageStats param_type; | 1210 typedef CacheManager::UsageStats param_type; |
1389 static void Write(IPC::Message* m, const param_type& p) { | 1211 static void Write(Message* m, const param_type& p) { |
1390 WriteParam(m, p.min_dead_capacity); | 1212 WriteParam(m, p.min_dead_capacity); |
1391 WriteParam(m, p.max_dead_capacity); | 1213 WriteParam(m, p.max_dead_capacity); |
1392 WriteParam(m, p.capacity); | 1214 WriteParam(m, p.capacity); |
1393 WriteParam(m, p.live_size); | 1215 WriteParam(m, p.live_size); |
1394 WriteParam(m, p.dead_size); | 1216 WriteParam(m, p.dead_size); |
1395 } | 1217 } |
1396 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1218 static bool Read(const Message* m, void** iter, param_type* r) { |
1397 return | 1219 return |
1398 ReadParam(m, iter, &r->min_dead_capacity) && | 1220 ReadParam(m, iter, &r->min_dead_capacity) && |
1399 ReadParam(m, iter, &r->max_dead_capacity) && | 1221 ReadParam(m, iter, &r->max_dead_capacity) && |
1400 ReadParam(m, iter, &r->capacity) && | 1222 ReadParam(m, iter, &r->capacity) && |
1401 ReadParam(m, iter, &r->live_size) && | 1223 ReadParam(m, iter, &r->live_size) && |
1402 ReadParam(m, iter, &r->dead_size); | 1224 ReadParam(m, iter, &r->dead_size); |
1403 } | 1225 } |
1404 static void Log(const param_type& p, std::wstring* l) { | 1226 static void Log(const param_type& p, std::wstring* l) { |
1405 l->append(L"<CacheManager::UsageStats>"); | 1227 l->append(L"<CacheManager::UsageStats>"); |
1406 } | 1228 } |
1407 }; | 1229 }; |
1408 | 1230 |
| 1231 // Traits for PasswordFormDomManager::FillData. |
1409 template <> | 1232 template <> |
1410 struct ParamTraits<PasswordFormDomManager::FillData> { | 1233 struct ParamTraits<PasswordFormDomManager::FillData> { |
1411 typedef PasswordFormDomManager::FillData param_type; | 1234 typedef PasswordFormDomManager::FillData param_type; |
1412 static void Write(IPC::Message* m, const param_type& p) { | 1235 static void Write(Message* m, const param_type& p) { |
1413 WriteParam(m, p.basic_data); | 1236 WriteParam(m, p.basic_data); |
1414 WriteParam(m, p.additional_logins); | 1237 WriteParam(m, p.additional_logins); |
1415 WriteParam(m, p.wait_for_username); | 1238 WriteParam(m, p.wait_for_username); |
1416 } | 1239 } |
1417 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1240 static bool Read(const Message* m, void** iter, param_type* r) { |
1418 return | 1241 return |
1419 ReadParam(m, iter, &r->basic_data) && | 1242 ReadParam(m, iter, &r->basic_data) && |
1420 ReadParam(m, iter, &r->additional_logins) && | 1243 ReadParam(m, iter, &r->additional_logins) && |
1421 ReadParam(m, iter, &r->wait_for_username); | 1244 ReadParam(m, iter, &r->wait_for_username); |
1422 } | 1245 } |
1423 static void Log(const param_type& p, std::wstring* l) { | 1246 static void Log(const param_type& p, std::wstring* l) { |
1424 l->append(L"<PasswordFormDomManager::FillData>"); | 1247 l->append(L"<PasswordFormDomManager::FillData>"); |
1425 } | 1248 } |
1426 }; | 1249 }; |
1427 | 1250 |
1428 template<> | 1251 template<> |
1429 struct ParamTraits<NavigationGesture> { | 1252 struct ParamTraits<NavigationGesture> { |
1430 typedef NavigationGesture param_type; | 1253 typedef NavigationGesture param_type; |
1431 static void Write(IPC::Message* m, const param_type& p) { | 1254 static void Write(Message* m, const param_type& p) { |
1432 m->WriteInt(p); | 1255 m->WriteInt(p); |
1433 } | 1256 } |
1434 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1257 static bool Read(const Message* m, void** iter, param_type* p) { |
1435 int type; | 1258 int type; |
1436 if (!m->ReadInt(iter, &type)) | 1259 if (!m->ReadInt(iter, &type)) |
1437 return false; | 1260 return false; |
1438 *p = static_cast<NavigationGesture>(type); | 1261 *p = static_cast<NavigationGesture>(type); |
1439 return true; | 1262 return true; |
1440 } | 1263 } |
1441 static void Log(const param_type& p, std::wstring* l) { | 1264 static void Log(const param_type& p, std::wstring* l) { |
1442 std::wstring event; | 1265 std::wstring event; |
1443 switch (p) { | 1266 switch (p) { |
1444 case NavigationGestureUser: | 1267 case NavigationGestureUser: |
1445 event = L"GESTURE_USER"; | 1268 event = L"GESTURE_USER"; |
1446 break; | 1269 break; |
1447 case NavigationGestureAuto: | 1270 case NavigationGestureAuto: |
1448 event = L"GESTURE_AUTO"; | 1271 event = L"GESTURE_AUTO"; |
1449 break; | 1272 break; |
1450 default: | 1273 default: |
1451 event = L"GESTURE_UNKNOWN"; | 1274 event = L"GESTURE_UNKNOWN"; |
1452 break; | 1275 break; |
1453 } | 1276 } |
1454 LogParam(event, l); | 1277 LogParam(event, l); |
1455 } | 1278 } |
1456 }; | 1279 }; |
1457 | 1280 |
| 1281 // Traits for ViewHostMsg_Resource_Request |
| 1282 template <> |
| 1283 struct ParamTraits<ViewHostMsg_Resource_Request> { |
| 1284 typedef ViewHostMsg_Resource_Request param_type; |
| 1285 static void Write(Message* m, const param_type& p) { |
| 1286 WriteParam(m, p.method); |
| 1287 WriteParam(m, p.url); |
| 1288 WriteParam(m, p.policy_url); |
| 1289 WriteParam(m, p.referrer); |
| 1290 WriteParam(m, p.headers); |
| 1291 WriteParam(m, p.load_flags); |
| 1292 WriteParam(m, p.origin_pid); |
| 1293 WriteParam(m, p.resource_type); |
| 1294 WriteParam(m, p.mixed_content); |
| 1295 WriteParam(m, p.request_context); |
| 1296 WriteParam(m, p.upload_content); |
| 1297 } |
| 1298 static bool Read(const Message* m, void** iter, param_type* r) { |
| 1299 return |
| 1300 ReadParam(m, iter, &r->method) && |
| 1301 ReadParam(m, iter, &r->url) && |
| 1302 ReadParam(m, iter, &r->policy_url) && |
| 1303 ReadParam(m, iter, &r->referrer) && |
| 1304 ReadParam(m, iter, &r->headers) && |
| 1305 ReadParam(m, iter, &r->load_flags) && |
| 1306 ReadParam(m, iter, &r->origin_pid) && |
| 1307 ReadParam(m, iter, &r->resource_type) && |
| 1308 ReadParam(m, iter, &r->mixed_content) && |
| 1309 ReadParam(m, iter, &r->request_context) && |
| 1310 ReadParam(m, iter, &r->upload_content); |
| 1311 } |
| 1312 static void Log(const param_type& p, std::wstring* l) { |
| 1313 l->append(L"("); |
| 1314 LogParam(p.method, l); |
| 1315 l->append(L", "); |
| 1316 LogParam(p.url, l); |
| 1317 l->append(L", "); |
| 1318 LogParam(p.referrer, l); |
| 1319 l->append(L", "); |
| 1320 LogParam(p.load_flags, l); |
| 1321 l->append(L", "); |
| 1322 LogParam(p.origin_pid, l); |
| 1323 l->append(L", "); |
| 1324 LogParam(p.resource_type, l); |
| 1325 l->append(L", "); |
| 1326 LogParam(p.mixed_content, l); |
| 1327 l->append(L", "); |
| 1328 LogParam(p.request_context, l); |
| 1329 l->append(L")"); |
| 1330 } |
| 1331 }; |
| 1332 |
| 1333 // Traits for URLRequestStatus |
1458 template <> | 1334 template <> |
1459 struct ParamTraits<URLRequestStatus> { | 1335 struct ParamTraits<URLRequestStatus> { |
1460 typedef URLRequestStatus param_type; | 1336 typedef URLRequestStatus param_type; |
1461 static void Write(IPC::Message* m, const param_type& p) { | 1337 static void Write(Message* m, const param_type& p) { |
1462 WriteParam(m, static_cast<int>(p.status())); | 1338 WriteParam(m, static_cast<int>(p.status())); |
1463 WriteParam(m, p.os_error()); | 1339 WriteParam(m, p.os_error()); |
1464 } | 1340 } |
1465 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1341 static bool Read(const Message* m, void** iter, param_type* r) { |
1466 int status, os_error; | 1342 int status, os_error; |
1467 if (!ReadParam(m, iter, &status) || | 1343 if (!ReadParam(m, iter, &status) || |
1468 !ReadParam(m, iter, &os_error)) | 1344 !ReadParam(m, iter, &os_error)) |
1469 return false; | 1345 return false; |
1470 r->set_status(static_cast<URLRequestStatus::Status>(status)); | 1346 r->set_status(static_cast<URLRequestStatus::Status>(status)); |
1471 r->set_os_error(os_error); | 1347 r->set_os_error(os_error); |
1472 return true; | 1348 return true; |
1473 } | 1349 } |
1474 static void Log(const param_type& p, std::wstring* l) { | 1350 static void Log(const param_type& p, std::wstring* l) { |
1475 std::wstring status; | 1351 std::wstring status; |
(...skipping 26 matching lines...) Expand all Loading... |
1502 l->append(L", "); | 1378 l->append(L", "); |
1503 LogParam(p.os_error(), l); | 1379 LogParam(p.os_error(), l); |
1504 l->append(L")"); | 1380 l->append(L")"); |
1505 } | 1381 } |
1506 } | 1382 } |
1507 }; | 1383 }; |
1508 | 1384 |
1509 template <> | 1385 template <> |
1510 struct ParamTraits<scoped_refptr<net::HttpResponseHeaders> > { | 1386 struct ParamTraits<scoped_refptr<net::HttpResponseHeaders> > { |
1511 typedef scoped_refptr<net::HttpResponseHeaders> param_type; | 1387 typedef scoped_refptr<net::HttpResponseHeaders> param_type; |
1512 static void Write(IPC::Message* m, const param_type& p) { | 1388 static void Write(Message* m, const param_type& p) { |
1513 WriteParam(m, p.get() != NULL); | 1389 WriteParam(m, p.get() != NULL); |
1514 if (p) { | 1390 if (p) { |
1515 // Do not disclose Set-Cookie headers over IPC. | 1391 // Do not disclose Set-Cookie headers over IPC. |
1516 p->Persist(m, net::HttpResponseHeaders::PERSIST_SANS_COOKIES); | 1392 p->Persist(m, net::HttpResponseHeaders::PERSIST_SANS_COOKIES); |
1517 } | 1393 } |
1518 } | 1394 } |
1519 static bool Read(const IPC::Message* m, void** iter, param_type* r) { | 1395 static bool Read(const Message* m, void** iter, param_type* r) { |
1520 bool has_object; | 1396 bool has_object; |
1521 if (!ReadParam(m, iter, &has_object)) | 1397 if (!ReadParam(m, iter, &has_object)) |
1522 return false; | 1398 return false; |
1523 if (has_object) | 1399 if (has_object) |
1524 *r = new net::HttpResponseHeaders(*m, iter); | 1400 *r = new net::HttpResponseHeaders(*m, iter); |
1525 return true; | 1401 return true; |
1526 } | 1402 } |
1527 static void Log(const param_type& p, std::wstring* l) { | 1403 static void Log(const param_type& p, std::wstring* l) { |
1528 l->append(L"<HttpResponseHeaders>"); | 1404 l->append(L"<HttpResponseHeaders>"); |
1529 } | 1405 } |
1530 }; | 1406 }; |
1531 | 1407 |
| 1408 // Traits for webkit_glue::ResourceLoaderBridge::ResponseInfo |
| 1409 template <> |
| 1410 struct ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo> { |
| 1411 typedef webkit_glue::ResourceLoaderBridge::ResponseInfo param_type; |
| 1412 static void Write(Message* m, const param_type& p) { |
| 1413 WriteParam(m, p.request_time); |
| 1414 WriteParam(m, p.response_time); |
| 1415 WriteParam(m, p.headers); |
| 1416 WriteParam(m, p.mime_type); |
| 1417 WriteParam(m, p.charset); |
| 1418 WriteParam(m, p.security_info); |
| 1419 WriteParam(m, p.content_length); |
| 1420 } |
| 1421 static bool Read(const Message* m, void** iter, param_type* r) { |
| 1422 return |
| 1423 ReadParam(m, iter, &r->request_time) && |
| 1424 ReadParam(m, iter, &r->response_time) && |
| 1425 ReadParam(m, iter, &r->headers) && |
| 1426 ReadParam(m, iter, &r->mime_type) && |
| 1427 ReadParam(m, iter, &r->charset) && |
| 1428 ReadParam(m, iter, &r->security_info) && |
| 1429 ReadParam(m, iter, &r->content_length); |
| 1430 } |
| 1431 static void Log(const param_type& p, std::wstring* l) { |
| 1432 l->append(L"("); |
| 1433 LogParam(p.request_time, l); |
| 1434 l->append(L", "); |
| 1435 LogParam(p.response_time, l); |
| 1436 l->append(L", "); |
| 1437 LogParam(p.headers, l); |
| 1438 l->append(L", "); |
| 1439 LogParam(p.mime_type, l); |
| 1440 l->append(L", "); |
| 1441 LogParam(p.charset, l); |
| 1442 l->append(L", "); |
| 1443 LogParam(p.security_info, l); |
| 1444 l->append(L")"); |
| 1445 } |
| 1446 }; |
| 1447 |
| 1448 // Traits for ViewMsg_Resource_ResponseHead |
| 1449 template <> |
| 1450 struct ParamTraits<ViewMsg_Resource_ResponseHead> { |
| 1451 typedef ViewMsg_Resource_ResponseHead param_type; |
| 1452 static void Write(Message* m, const param_type& p) { |
| 1453 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Write(m, p); |
| 1454 WriteParam(m, p.status); |
| 1455 WriteParam(m, p.filter_policy); |
| 1456 } |
| 1457 static bool Read(const Message* m, void** iter, param_type* r) { |
| 1458 return |
| 1459 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Read(m, iter
, r) && |
| 1460 ReadParam(m, iter, &r->status) && |
| 1461 ReadParam(m, iter, &r->filter_policy); |
| 1462 } |
| 1463 static void Log(const param_type& p, std::wstring* l) { |
| 1464 // log more? |
| 1465 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); |
| 1466 } |
| 1467 }; |
| 1468 |
| 1469 // Traits for ViewHostMsg_Resource_SyncLoad_Response |
| 1470 template <> |
| 1471 struct ParamTraits<ViewHostMsg_SyncLoad_Result> { |
| 1472 typedef ViewHostMsg_SyncLoad_Result param_type; |
| 1473 static void Write(Message* m, const param_type& p) { |
| 1474 ParamTraits<ViewMsg_Resource_ResponseHead>::Write(m, p); |
| 1475 WriteParam(m, p.final_url); |
| 1476 WriteParam(m, p.data); |
| 1477 } |
| 1478 static bool Read(const Message* m, void** iter, param_type* r) { |
| 1479 return |
| 1480 ParamTraits<ViewMsg_Resource_ResponseHead>::Read(m, iter, r) && |
| 1481 ReadParam(m, iter, &r->final_url) && |
| 1482 ReadParam(m, iter, &r->data); |
| 1483 } |
| 1484 static void Log(const param_type& p, std::wstring* l) { |
| 1485 // log more? |
| 1486 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); |
| 1487 } |
| 1488 }; |
| 1489 |
| 1490 // Traits for FormData structure to pack/unpack. |
1532 template <> | 1491 template <> |
1533 struct ParamTraits<FormData> { | 1492 struct ParamTraits<FormData> { |
1534 typedef FormData param_type; | 1493 typedef FormData param_type; |
1535 static void Write(IPC::Message* m, const param_type& p) { | 1494 static void Write(Message* m, const param_type& p) { |
1536 WriteParam(m, p.origin); | 1495 WriteParam(m, p.origin); |
1537 WriteParam(m, p.action); | 1496 WriteParam(m, p.action); |
1538 WriteParam(m, p.elements); | 1497 WriteParam(m, p.elements); |
1539 WriteParam(m, p.values); | 1498 WriteParam(m, p.values); |
1540 WriteParam(m, p.submit); | 1499 WriteParam(m, p.submit); |
1541 } | 1500 } |
1542 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1501 static bool Read(const Message* m, void** iter, param_type* p) { |
1543 return | 1502 return |
1544 ReadParam(m, iter, &p->origin) && | 1503 ReadParam(m, iter, &p->origin) && |
1545 ReadParam(m, iter, &p->action) && | 1504 ReadParam(m, iter, &p->action) && |
1546 ReadParam(m, iter, &p->elements) && | 1505 ReadParam(m, iter, &p->elements) && |
1547 ReadParam(m, iter, &p->values) && | 1506 ReadParam(m, iter, &p->values) && |
1548 ReadParam(m, iter, &p->submit); | 1507 ReadParam(m, iter, &p->submit); |
1549 } | 1508 } |
1550 static void Log(const param_type& p, std::wstring* l) { | 1509 static void Log(const param_type& p, std::wstring* l) { |
1551 l->append(L"<FormData>"); | 1510 l->append(L"<FormData>"); |
1552 } | 1511 } |
1553 }; | 1512 }; |
1554 | 1513 |
| 1514 // Traits for ViewMsg_Print_Params |
| 1515 template <> |
| 1516 struct ParamTraits<ViewMsg_Print_Params> { |
| 1517 typedef ViewMsg_Print_Params param_type; |
| 1518 static void Write(Message* m, const param_type& p) { |
| 1519 WriteParam(m, p.printable_size); |
| 1520 WriteParam(m, p.dpi); |
| 1521 WriteParam(m, p.min_shrink); |
| 1522 WriteParam(m, p.max_shrink); |
| 1523 WriteParam(m, p.desired_dpi); |
| 1524 WriteParam(m, p.document_cookie); |
| 1525 } |
| 1526 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1527 return ReadParam(m, iter, &p->printable_size) && |
| 1528 ReadParam(m, iter, &p->dpi) && |
| 1529 ReadParam(m, iter, &p->min_shrink) && |
| 1530 ReadParam(m, iter, &p->max_shrink) && |
| 1531 ReadParam(m, iter, &p->desired_dpi) && |
| 1532 ReadParam(m, iter, &p->document_cookie); |
| 1533 } |
| 1534 static void Log(const param_type& p, std::wstring* l) { |
| 1535 l->append(L"<ViewMsg_Print_Params>"); |
| 1536 } |
| 1537 }; |
| 1538 |
| 1539 // Traits for ViewMsg_PrintPage_Params |
| 1540 template <> |
| 1541 struct ParamTraits<ViewMsg_PrintPage_Params> { |
| 1542 typedef ViewMsg_PrintPage_Params param_type; |
| 1543 static void Write(Message* m, const param_type& p) { |
| 1544 WriteParam(m, p.params); |
| 1545 WriteParam(m, p.page_number); |
| 1546 } |
| 1547 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1548 return ReadParam(m, iter, &p->params) && |
| 1549 ReadParam(m, iter, &p->page_number); |
| 1550 } |
| 1551 static void Log(const param_type& p, std::wstring* l) { |
| 1552 l->append(L"<ViewMsg_PrintPage_Params>"); |
| 1553 } |
| 1554 }; |
| 1555 |
| 1556 // Traits for ViewMsg_PrintPages_Params |
| 1557 template <> |
| 1558 struct ParamTraits<ViewMsg_PrintPages_Params> { |
| 1559 typedef ViewMsg_PrintPages_Params param_type; |
| 1560 static void Write(Message* m, const param_type& p) { |
| 1561 WriteParam(m, p.params); |
| 1562 WriteParam(m, p.pages); |
| 1563 } |
| 1564 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1565 return ReadParam(m, iter, &p->params) && |
| 1566 ReadParam(m, iter, &p->pages); |
| 1567 } |
| 1568 static void Log(const param_type& p, std::wstring* l) { |
| 1569 l->append(L"<ViewMsg_PrintPages_Params>"); |
| 1570 } |
| 1571 }; |
| 1572 |
| 1573 // Traits for ViewHostMsg_DidPrintPage_Params |
| 1574 template <> |
| 1575 struct ParamTraits<ViewHostMsg_DidPrintPage_Params> { |
| 1576 typedef ViewHostMsg_DidPrintPage_Params param_type; |
| 1577 static void Write(Message* m, const param_type& p) { |
| 1578 WriteParam(m, p.emf_data_handle); |
| 1579 WriteParam(m, p.data_size); |
| 1580 WriteParam(m, p.document_cookie); |
| 1581 WriteParam(m, p.page_number); |
| 1582 WriteParam(m, p.actual_shrink); |
| 1583 } |
| 1584 static bool Read(const Message* m, void** iter, param_type* p) { |
| 1585 return ReadParam(m, iter, &p->emf_data_handle) && |
| 1586 ReadParam(m, iter, &p->data_size) && |
| 1587 ReadParam(m, iter, &p->document_cookie) && |
| 1588 ReadParam(m, iter, &p->page_number) && |
| 1589 ReadParam(m, iter, &p->actual_shrink); |
| 1590 } |
| 1591 static void Log(const param_type& p, std::wstring* l) { |
| 1592 l->append(L"<ViewHostMsg_DidPrintPage_Params>"); |
| 1593 } |
| 1594 }; |
| 1595 |
| 1596 // Traits for WebPreferences structure to pack/unpack. |
1555 template <> | 1597 template <> |
1556 struct ParamTraits<WebPreferences> { | 1598 struct ParamTraits<WebPreferences> { |
1557 typedef WebPreferences param_type; | 1599 typedef WebPreferences param_type; |
1558 static void Write(IPC::Message* m, const param_type& p) { | 1600 static void Write(Message* m, const param_type& p) { |
1559 WriteParam(m, p.standard_font_family); | 1601 WriteParam(m, p.standard_font_family); |
1560 WriteParam(m, p.fixed_font_family); | 1602 WriteParam(m, p.fixed_font_family); |
1561 WriteParam(m, p.serif_font_family); | 1603 WriteParam(m, p.serif_font_family); |
1562 WriteParam(m, p.sans_serif_font_family); | 1604 WriteParam(m, p.sans_serif_font_family); |
1563 WriteParam(m, p.cursive_font_family); | 1605 WriteParam(m, p.cursive_font_family); |
1564 WriteParam(m, p.fantasy_font_family); | 1606 WriteParam(m, p.fantasy_font_family); |
1565 WriteParam(m, p.default_font_size); | 1607 WriteParam(m, p.default_font_size); |
1566 WriteParam(m, p.default_fixed_font_size); | 1608 WriteParam(m, p.default_fixed_font_size); |
1567 WriteParam(m, p.minimum_font_size); | 1609 WriteParam(m, p.minimum_font_size); |
1568 WriteParam(m, p.minimum_logical_font_size); | 1610 WriteParam(m, p.minimum_logical_font_size); |
1569 WriteParam(m, p.default_encoding); | 1611 WriteParam(m, p.default_encoding); |
1570 WriteParam(m, p.javascript_enabled); | 1612 WriteParam(m, p.javascript_enabled); |
1571 WriteParam(m, p.javascript_can_open_windows_automatically); | 1613 WriteParam(m, p.javascript_can_open_windows_automatically); |
1572 WriteParam(m, p.loads_images_automatically); | 1614 WriteParam(m, p.loads_images_automatically); |
1573 WriteParam(m, p.plugins_enabled); | 1615 WriteParam(m, p.plugins_enabled); |
1574 WriteParam(m, p.dom_paste_enabled); | 1616 WriteParam(m, p.dom_paste_enabled); |
1575 WriteParam(m, p.developer_extras_enabled); | 1617 WriteParam(m, p.developer_extras_enabled); |
1576 WriteParam(m, p.shrinks_standalone_images_to_fit); | 1618 WriteParam(m, p.shrinks_standalone_images_to_fit); |
1577 WriteParam(m, p.uses_universal_detector); | 1619 WriteParam(m, p.uses_universal_detector); |
1578 WriteParam(m, p.text_areas_are_resizable); | 1620 WriteParam(m, p.text_areas_are_resizable); |
1579 WriteParam(m, p.java_enabled); | 1621 WriteParam(m, p.java_enabled); |
1580 WriteParam(m, p.user_style_sheet_enabled); | 1622 WriteParam(m, p.user_style_sheet_enabled); |
1581 WriteParam(m, p.user_style_sheet_location); | 1623 WriteParam(m, p.user_style_sheet_location); |
1582 WriteParam(m, p.uses_page_cache); | 1624 WriteParam(m, p.uses_page_cache); |
1583 } | 1625 } |
1584 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1626 static bool Read(const Message* m, void** iter, param_type* p) { |
1585 return | 1627 return |
1586 ReadParam(m, iter, &p->standard_font_family) && | 1628 ReadParam(m, iter, &p->standard_font_family) && |
1587 ReadParam(m, iter, &p->fixed_font_family) && | 1629 ReadParam(m, iter, &p->fixed_font_family) && |
1588 ReadParam(m, iter, &p->serif_font_family) && | 1630 ReadParam(m, iter, &p->serif_font_family) && |
1589 ReadParam(m, iter, &p->sans_serif_font_family) && | 1631 ReadParam(m, iter, &p->sans_serif_font_family) && |
1590 ReadParam(m, iter, &p->cursive_font_family) && | 1632 ReadParam(m, iter, &p->cursive_font_family) && |
1591 ReadParam(m, iter, &p->fantasy_font_family) && | 1633 ReadParam(m, iter, &p->fantasy_font_family) && |
1592 ReadParam(m, iter, &p->default_font_size) && | 1634 ReadParam(m, iter, &p->default_font_size) && |
1593 ReadParam(m, iter, &p->default_fixed_font_size) && | 1635 ReadParam(m, iter, &p->default_fixed_font_size) && |
1594 ReadParam(m, iter, &p->minimum_font_size) && | 1636 ReadParam(m, iter, &p->minimum_font_size) && |
(...skipping 11 matching lines...) Expand all Loading... |
1606 ReadParam(m, iter, &p->java_enabled) && | 1648 ReadParam(m, iter, &p->java_enabled) && |
1607 ReadParam(m, iter, &p->user_style_sheet_enabled) && | 1649 ReadParam(m, iter, &p->user_style_sheet_enabled) && |
1608 ReadParam(m, iter, &p->user_style_sheet_location) && | 1650 ReadParam(m, iter, &p->user_style_sheet_location) && |
1609 ReadParam(m, iter, &p->uses_page_cache); | 1651 ReadParam(m, iter, &p->uses_page_cache); |
1610 } | 1652 } |
1611 static void Log(const param_type& p, std::wstring* l) { | 1653 static void Log(const param_type& p, std::wstring* l) { |
1612 l->append(L"<WebPreferences>"); | 1654 l->append(L"<WebPreferences>"); |
1613 } | 1655 } |
1614 }; | 1656 }; |
1615 | 1657 |
| 1658 // Traits for WebDropData |
1616 template <> | 1659 template <> |
1617 struct ParamTraits<WebDropData> { | 1660 struct ParamTraits<WebDropData> { |
1618 typedef WebDropData param_type; | 1661 typedef WebDropData param_type; |
1619 static void Write(IPC::Message* m, const param_type& p) { | 1662 static void Write(Message* m, const param_type& p) { |
1620 WriteParam(m, p.url); | 1663 WriteParam(m, p.url); |
1621 WriteParam(m, p.url_title); | 1664 WriteParam(m, p.url_title); |
1622 WriteParam(m, p.file_extension); | 1665 WriteParam(m, p.file_extension); |
1623 WriteParam(m, p.filenames); | 1666 WriteParam(m, p.filenames); |
1624 WriteParam(m, p.plain_text); | 1667 WriteParam(m, p.plain_text); |
1625 WriteParam(m, p.text_html); | 1668 WriteParam(m, p.text_html); |
1626 WriteParam(m, p.html_base_url); | 1669 WriteParam(m, p.html_base_url); |
1627 WriteParam(m, p.file_description_filename); | 1670 WriteParam(m, p.file_description_filename); |
1628 WriteParam(m, p.file_contents); | 1671 WriteParam(m, p.file_contents); |
1629 } | 1672 } |
1630 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1673 static bool Read(const Message* m, void** iter, param_type* p) { |
1631 return | 1674 return |
1632 ReadParam(m, iter, &p->url) && | 1675 ReadParam(m, iter, &p->url) && |
1633 ReadParam(m, iter, &p->url_title) && | 1676 ReadParam(m, iter, &p->url_title) && |
1634 ReadParam(m, iter, &p->file_extension) && | 1677 ReadParam(m, iter, &p->file_extension) && |
1635 ReadParam(m, iter, &p->filenames) && | 1678 ReadParam(m, iter, &p->filenames) && |
1636 ReadParam(m, iter, &p->plain_text) && | 1679 ReadParam(m, iter, &p->plain_text) && |
1637 ReadParam(m, iter, &p->text_html) && | 1680 ReadParam(m, iter, &p->text_html) && |
1638 ReadParam(m, iter, &p->html_base_url) && | 1681 ReadParam(m, iter, &p->html_base_url) && |
1639 ReadParam(m, iter, &p->file_description_filename) && | 1682 ReadParam(m, iter, &p->file_description_filename) && |
1640 ReadParam(m, iter, &p->file_contents); | 1683 ReadParam(m, iter, &p->file_contents); |
1641 } | 1684 } |
1642 static void Log(const param_type& p, std::wstring* l) { | 1685 static void Log(const param_type& p, std::wstring* l) { |
1643 l->append(L"<WebDropData>"); | 1686 l->append(L"<WebDropData>"); |
1644 } | 1687 } |
1645 }; | 1688 }; |
1646 | 1689 |
| 1690 // Traits for ScreenInfo |
1647 template <> | 1691 template <> |
1648 struct ParamTraits<webkit_glue::ScreenInfo> { | 1692 struct ParamTraits<webkit_glue::ScreenInfo> { |
1649 typedef webkit_glue::ScreenInfo param_type; | 1693 typedef webkit_glue::ScreenInfo param_type; |
1650 static void Write(IPC::Message* m, const param_type& p) { | 1694 static void Write(Message* m, const param_type& p) { |
1651 WriteParam(m, p.depth); | 1695 WriteParam(m, p.depth); |
1652 WriteParam(m, p.depth_per_component); | 1696 WriteParam(m, p.depth_per_component); |
1653 WriteParam(m, p.is_monochrome); | 1697 WriteParam(m, p.is_monochrome); |
1654 WriteParam(m, p.rect); | 1698 WriteParam(m, p.rect); |
1655 WriteParam(m, p.available_rect); | 1699 WriteParam(m, p.available_rect); |
1656 } | 1700 } |
1657 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1701 static bool Read(const Message* m, void** iter, param_type* p) { |
1658 return | 1702 return |
1659 ReadParam(m, iter, &p->depth) && | 1703 ReadParam(m, iter, &p->depth) && |
1660 ReadParam(m, iter, &p->depth_per_component) && | 1704 ReadParam(m, iter, &p->depth_per_component) && |
1661 ReadParam(m, iter, &p->is_monochrome) && | 1705 ReadParam(m, iter, &p->is_monochrome) && |
1662 ReadParam(m, iter, &p->rect) && | 1706 ReadParam(m, iter, &p->rect) && |
1663 ReadParam(m, iter, &p->available_rect); | 1707 ReadParam(m, iter, &p->available_rect); |
1664 } | 1708 } |
1665 static void Log(const param_type& p, std::wstring* l) { | 1709 static void Log(const param_type& p, std::wstring* l) { |
1666 l->append(L"<webkit_glue::ScreenInfo>"); | 1710 l->append(L"<webkit_glue::ScreenInfo>"); |
1667 } | 1711 } |
1668 }; | 1712 }; |
1669 | 1713 |
1670 template<> | 1714 template<> |
1671 struct ParamTraits<ModalDialogEvent> { | 1715 struct ParamTraits<ModalDialogEvent> { |
1672 typedef ModalDialogEvent param_type; | 1716 typedef ModalDialogEvent param_type; |
1673 #if defined(OS_WIN) | 1717 #if defined(OS_WIN) |
1674 static void Write(IPC::Message* m, const param_type& p) { | 1718 static void Write(Message* m, const param_type& p) { |
1675 WriteParam(m, p.event); | 1719 WriteParam(m, p.event); |
1676 } | 1720 } |
1677 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1721 static bool Read(const Message* m, void** iter, param_type* p) { |
1678 return ReadParam(m, iter, &p->event); | 1722 return ReadParam(m, iter, &p->event); |
1679 } | 1723 } |
1680 #else | 1724 #else |
1681 static void Write(IPC::Message* m, const param_type& p) { | 1725 static void Write(Message* m, const param_type& p) { |
1682 } | 1726 } |
1683 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1727 static bool Read(const Message* m, void** iter, param_type* p) { |
1684 return true; | 1728 return true; |
1685 } | 1729 } |
1686 #endif | 1730 #endif |
1687 | 1731 |
1688 static void Log(const param_type& p, std::wstring* l) { | 1732 static void Log(const param_type& p, std::wstring* l) { |
1689 l->append(L"<ModalDialogEvent>"); | 1733 l->append(L"<ModalDialogEvent>"); |
1690 } | 1734 } |
1691 }; | 1735 }; |
1692 | 1736 |
1693 #if defined(OS_POSIX) | 1737 #if defined(OS_POSIX) |
1694 | 1738 |
1695 // TODO(port): this shouldn't exist. However, the plugin stuff is really using | 1739 // TODO(port): this shouldn't exist. However, the plugin stuff is really using |
1696 // HWNDS (NativeView), and making Windows calls based on them. I've not figured | 1740 // HWNDS (NativeView), and making Windows calls based on them. I've not figured |
1697 // out the deal with plugins yet. | 1741 // out the deal with plugins yet. |
1698 template <> | 1742 template <> |
1699 struct ParamTraits<gfx::NativeView> { | 1743 struct ParamTraits<gfx::NativeView> { |
1700 typedef gfx::NativeView param_type; | 1744 typedef gfx::NativeView param_type; |
1701 static void Write(IPC::Message* m, const param_type& p) { | 1745 static void Write(Message* m, const param_type& p) { |
1702 NOTIMPLEMENTED(); | 1746 NOTIMPLEMENTED(); |
1703 } | 1747 } |
1704 | 1748 |
1705 static bool Read(const IPC::Message* m, void** iter, param_type* p) { | 1749 static bool Read(const Message* m, void** iter, param_type* p) { |
1706 NOTIMPLEMENTED(); | 1750 NOTIMPLEMENTED(); |
1707 *p = NULL; | 1751 *p = NULL; |
1708 return true; | 1752 return true; |
1709 } | 1753 } |
1710 | 1754 |
1711 static void Log(const param_type& p, std::wstring* l) { | 1755 static void Log(const param_type& p, std::wstring* l) { |
1712 l->append(StringPrintf(L"<gfx::NativeView>")); | 1756 l->append(StringPrintf(L"<gfx::NativeView>")); |
1713 } | 1757 } |
1714 }; | 1758 }; |
1715 | 1759 |
1716 #endif // defined(OS_POSIX) | 1760 #endif // defined(OS_POSIX) |
1717 | 1761 |
1718 | 1762 } // namespace IPC |
1719 #define MESSAGES_INTERNAL_FILE "chrome/common/render_messages_internal.h" | |
1720 #include "chrome/common/ipc_message_macros.h" | |
1721 | 1763 |
1722 #endif // CHROME_COMMON_RENDER_MESSAGES_H_ | 1764 #endif // CHROME_COMMON_RENDER_MESSAGES_H_ |
OLD | NEW |