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

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

Issue 20072: Finish taking out render_messages.h include from other headers. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/browser/renderer_host/resource_handler.h"
17 #include "chrome/common/accessibility.h"
16 #include "chrome/common/bitmap_wire_data.h" 18 #include "chrome/common/bitmap_wire_data.h"
17 #include "chrome/common/filter_policy.h" 19 #include "chrome/common/filter_policy.h"
18 #include "chrome/common/ipc_message_utils.h" 20 #include "chrome/common/ipc_message_utils.h"
19 #include "chrome/common/modal_dialog_event.h" 21 #include "chrome/common/modal_dialog_event.h"
20 #include "chrome/common/page_transition_types.h" 22 #include "chrome/common/page_transition_types.h"
21 #include "googleurl/src/gurl.h" 23 #include "googleurl/src/gurl.h"
22 #include "net/base/upload_data.h" 24 #include "net/base/upload_data.h"
23 #include "net/url_request/url_request_status.h" 25 #include "net/url_request/url_request_status.h"
24 #include "webkit/glue/autofill_form.h" 26 #include "webkit/glue/autofill_form.h"
25 #include "webkit/glue/cache_manager.h" 27 #include "webkit/glue/cache_manager.h"
26 #include "webkit/glue/context_node_types.h" 28 #include "webkit/glue/context_menu.h"
27 #include "webkit/glue/form_data.h" 29 #include "webkit/glue/form_data.h"
28 #include "webkit/glue/password_form.h" 30 #include "webkit/glue/password_form.h"
29 #include "webkit/glue/password_form_dom_manager.h" 31 #include "webkit/glue/password_form_dom_manager.h"
30 #include "webkit/glue/resource_loader_bridge.h" 32 #include "webkit/glue/resource_loader_bridge.h"
31 #include "webkit/glue/screen_info.h" 33 #include "webkit/glue/screen_info.h"
32 #include "webkit/glue/webdropdata.h" 34 #include "webkit/glue/webdropdata.h"
33 #include "webkit/glue/webinputevent.h" 35 #include "webkit/glue/webinputevent.h"
34 #include "webkit/glue/webplugin.h" 36 #include "webkit/glue/webplugin.h"
35 #include "webkit/glue/webpreferences.h" 37 #include "webkit/glue/webpreferences.h"
36 #include "webkit/glue/webview_delegate.h" 38 #include "webkit/glue/webview_delegate.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 std::string contents_mime_type; 116 std::string contents_mime_type;
115 117
116 // True if this was a post request. 118 // True if this was a post request.
117 bool is_post; 119 bool is_post;
118 120
119 // Whether the content of the frame was replaced with some alternate content 121 // Whether the content of the frame was replaced with some alternate content
120 // (this can happen if the resource was insecure). 122 // (this can happen if the resource was insecure).
121 bool is_content_filtered; 123 bool is_content_filtered;
122 }; 124 };
123 125
124 // Parameters structure for ViewHostMsg_ContextMenu, which has too many data
125 // parameters to be reasonably put in a predefined IPC message.
126 // FIXME(beng): This would be more useful in the future and more efficient
127 // if the parameters here weren't so literally mapped to what
128 // they contain for the ContextMenu task. It might be better
129 // to make the string fields more generic so that this object
130 // could be used for more contextual actions.
131 struct ViewHostMsg_ContextMenu_Params {
132 // This is the type of Context Node that the context menu was invoked on.
133 ContextNode node;
134
135 // These values represent the coordinates of the mouse when the context menu
136 // was invoked. Coords are relative to the associated RenderView's origin.
137 int x;
138 int y;
139
140 // This is the URL of the link that encloses the node the context menu was
141 // invoked on.
142 GURL link_url;
143
144 // This is the URL of the image the context menu was invoked on.
145 GURL image_url;
146
147 // This is the URL of the top level page that the context menu was invoked
148 // on.
149 GURL page_url;
150
151 // This is the URL of the subframe that the context menu was invoked on.
152 GURL frame_url;
153
154 // This is the text of the selection that the context menu was invoked on.
155 std::wstring selection_text;
156
157 // The misspelled word under the cursor, if any. Used to generate the
158 // |dictionary_suggestions| list.
159 std::wstring misspelled_word;
160
161 // Suggested replacements for a misspelled word under the cursor.
162 // This vector gets populated in the render process host
163 // by intercepting ViewHostMsg_ContextMenu in ResourceMessageFilter
164 // and populating dictionary_suggestions if the type is EDITABLE
165 // and the misspelled_word is not empty.
166 std::vector<std::wstring> dictionary_suggestions;
167
168 // If editable, flag for whether spell check is enabled or not.
169 bool spellcheck_enabled;
170
171 // These flags indicate to the browser whether the renderer believes it is
172 // able to perform the corresponding action.
173 int edit_flags;
174
175 // The security info for the resource we are showing the menu on.
176 std::string security_info;
177 };
178
179 // Values that may be OR'd together to form the 'flags' parameter of a 126 // Values that may be OR'd together to form the 'flags' parameter of a
180 // ViewHostMsg_PaintRect message. 127 // ViewHostMsg_PaintRect message.
181 struct ViewHostMsg_PaintRect_Flags { 128 struct ViewHostMsg_PaintRect_Flags {
182 enum { 129 enum {
183 IS_RESIZE_ACK = 1 << 0, 130 IS_RESIZE_ACK = 1 << 0,
184 IS_RESTORE_ACK = 1 << 1, 131 IS_RESTORE_ACK = 1 << 1,
185 IS_REPAINT_ACK = 1 << 2, 132 IS_REPAINT_ACK = 1 << 2,
186 }; 133 };
187 static bool is_resize_ack(int flags) { 134 static bool is_resize_ack(int flags) {
188 return (flags & IS_RESIZE_ACK) != 0; 135 return (flags & IS_RESIZE_ACK) != 0;
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 // was loaded over HTTPS. 242 // was loaded over HTTPS.
296 bool mixed_content; 243 bool mixed_content;
297 244
298 // Used by plugin->browser requests to get the correct URLRequestContext. 245 // Used by plugin->browser requests to get the correct URLRequestContext.
299 uint32 request_context; 246 uint32 request_context;
300 247
301 // Optional upload data (may be empty). 248 // Optional upload data (may be empty).
302 std::vector<net::UploadData::Element> upload_content; 249 std::vector<net::UploadData::Element> upload_content;
303 }; 250 };
304 251
305 // Parameters for a resource response header.
306 struct ViewMsg_Resource_ResponseHead
307 : webkit_glue::ResourceLoaderBridge::ResponseInfo {
308 // The response status.
309 URLRequestStatus status;
310
311 // Specifies if the resource should be filtered before being displayed
312 // (insecure resources can be filtered to keep the page secure).
313 FilterPolicy::Type filter_policy;
314 };
315
316 // Parameters for a synchronous resource response.
317 struct ViewHostMsg_SyncLoad_Result : ViewMsg_Resource_ResponseHead {
318 // The final URL after any redirects.
319 GURL final_url;
320
321 // The response data.
322 std::string data;
323 };
324
325 // Parameters for a render request. 252 // Parameters for a render request.
326 struct ViewMsg_Print_Params { 253 struct ViewMsg_Print_Params {
327 // In pixels according to dpi_x and dpi_y. 254 // In pixels according to dpi_x and dpi_y.
328 gfx::Size printable_size; 255 gfx::Size printable_size;
329 256
330 // Specifies dots per inch. 257 // Specifies dots per inch.
331 double dpi; 258 double dpi;
332 259
333 // Minimum shrink factor. See PrintSettings::min_shrink for more information. 260 // Minimum shrink factor. See PrintSettings::min_shrink for more information.
334 double min_shrink; 261 double min_shrink;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 // Cookie for the document to ensure correctness. 310 // Cookie for the document to ensure correctness.
384 int document_cookie; 311 int document_cookie;
385 312
386 // Page number. 313 // Page number.
387 int page_number; 314 int page_number;
388 315
389 // Shrink factor used to render this page. 316 // Shrink factor used to render this page.
390 double actual_shrink; 317 double actual_shrink;
391 }; 318 };
392 319
393 // Parameters structure to hold a union of the possible IAccessible function
394 // INPUT variables, with the unused fields always set to default value. Used in
395 // ViewMsg_GetAccessibilityInfo, as only parameter.
396 struct ViewMsg_Accessibility_In_Params {
397 // Identifier to uniquely distinguish which instance of IAccessible is being
398 // called upon on the renderer side.
399 int iaccessible_id;
400
401 // Identifier to resolve which IAccessible interface function is being called.
402 int iaccessible_function_id;
403
404 // Function input parameters.
405 // Input VARIANT structure's LONG field to specify requested object.
406 long input_variant_lval;
407
408 // LONG input parameters, used differently depending on the function called.
409 long input_long1;
410 long input_long2;
411 };
412
413 // Parameters structure to hold a union of the possible IAccessible function
414 // OUTPUT variables, with the unused fields always set to default value. Used in
415 // ViewHostMsg_GetAccessibilityInfoResponse, as only parameter.
416 struct ViewHostMsg_Accessibility_Out_Params {
417 // Identifier to uniquely distinguish which instance of IAccessible is being
418 // called upon on the renderer side.
419 int iaccessible_id;
420
421 // Function output parameters.
422 // Output VARIANT structure's LONG field to specify requested object.
423 long output_variant_lval;
424
425 // LONG output parameters, used differently depending on the function called.
426 // output_long1 can in some cases be set to -1 to indicate that the child
427 // object found by the called IAccessible function is not a simple object.
428 long output_long1;
429 long output_long2;
430 long output_long3;
431 long output_long4;
432
433 // String output parameter.
434 std::wstring output_string;
435
436 // Return code, either S_OK (true) or S_FALSE (false). WebKit MSAA error
437 // return codes (E_POINTER, E_INVALIDARG, E_FAIL, E_NOTIMPL) must be handled
438 // on the browser side by input validation.
439 bool return_code;
440 };
441
442 // The first parameter for the ViewHostMsg_ImeUpdateStatus message. 320 // The first parameter for the ViewHostMsg_ImeUpdateStatus message.
443 enum ViewHostMsg_ImeControl { 321 enum ViewHostMsg_ImeControl {
444 IME_DISABLE = 0, 322 IME_DISABLE = 0,
445 IME_MOVE_WINDOWS, 323 IME_MOVE_WINDOWS,
446 IME_COMPLETE_COMPOSITION, 324 IME_COMPLETE_COMPOSITION,
447 }; 325 };
448 326
449 327
450 namespace IPC { 328 namespace IPC {
451 329
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 break; 481 break;
604 default: 482 default:
605 type = L"UNKNOWN"; 483 type = L"UNKNOWN";
606 break; 484 break;
607 } 485 }
608 486
609 LogParam(type, l); 487 LogParam(type, l);
610 } 488 }
611 }; 489 };
612 490
613 // Traits for ViewMsg_Accessibility_In_Params structure to pack/unpack.
614 template <> 491 template <>
615 struct ParamTraits<ViewMsg_Accessibility_In_Params> { 492 struct ParamTraits<AccessibilityInParams> {
616 typedef ViewMsg_Accessibility_In_Params param_type; 493 typedef AccessibilityInParams param_type;
617 static void Write(Message* m, const param_type& p) { 494 static void Write(Message* m, const param_type& p) {
618 WriteParam(m, p.iaccessible_id); 495 WriteParam(m, p.iaccessible_id);
619 WriteParam(m, p.iaccessible_function_id); 496 WriteParam(m, p.iaccessible_function_id);
620 WriteParam(m, p.input_variant_lval); 497 WriteParam(m, p.input_variant_lval);
621 WriteParam(m, p.input_long1); 498 WriteParam(m, p.input_long1);
622 WriteParam(m, p.input_long2); 499 WriteParam(m, p.input_long2);
623 } 500 }
624 static bool Read(const Message* m, void** iter, param_type* p) { 501 static bool Read(const Message* m, void** iter, param_type* p) {
625 return 502 return
626 ReadParam(m, iter, &p->iaccessible_id) && 503 ReadParam(m, iter, &p->iaccessible_id) &&
(...skipping 10 matching lines...) Expand all
637 l->append(L", "); 514 l->append(L", ");
638 LogParam(p.input_variant_lval, l); 515 LogParam(p.input_variant_lval, l);
639 l->append(L", "); 516 l->append(L", ");
640 LogParam(p.input_long1, l); 517 LogParam(p.input_long1, l);
641 l->append(L", "); 518 l->append(L", ");
642 LogParam(p.input_long2, l); 519 LogParam(p.input_long2, l);
643 l->append(L")"); 520 l->append(L")");
644 } 521 }
645 }; 522 };
646 523
647 // Traits for ViewHostMsg_Accessibility_Out_Params structure to pack/unpack.
648 template <> 524 template <>
649 struct ParamTraits<ViewHostMsg_Accessibility_Out_Params> { 525 struct ParamTraits<AccessibilityOutParams> {
650 typedef ViewHostMsg_Accessibility_Out_Params param_type; 526 typedef AccessibilityOutParams param_type;
651 static void Write(Message* m, const param_type& p) { 527 static void Write(Message* m, const param_type& p) {
652 WriteParam(m, p.iaccessible_id); 528 WriteParam(m, p.iaccessible_id);
653 WriteParam(m, p.output_variant_lval); 529 WriteParam(m, p.output_variant_lval);
654 WriteParam(m, p.output_long1); 530 WriteParam(m, p.output_long1);
655 WriteParam(m, p.output_long2); 531 WriteParam(m, p.output_long2);
656 WriteParam(m, p.output_long3); 532 WriteParam(m, p.output_long3);
657 WriteParam(m, p.output_long4); 533 WriteParam(m, p.output_long4);
658 WriteParam(m, p.output_string); 534 WriteParam(m, p.output_string);
659 WriteParam(m, p.return_code); 535 WriteParam(m, p.return_code);
660 } 536 }
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 l->append(L", "); 774 l->append(L", ");
899 LogParam(p.contents_mime_type, l); 775 LogParam(p.contents_mime_type, l);
900 l->append(L", "); 776 l->append(L", ");
901 LogParam(p.is_post, l); 777 LogParam(p.is_post, l);
902 l->append(L", "); 778 l->append(L", ");
903 LogParam(p.is_content_filtered, l); 779 LogParam(p.is_content_filtered, l);
904 l->append(L")"); 780 l->append(L")");
905 } 781 }
906 }; 782 };
907 783
908 // Traits for ViewHostMsg_ContextMenu_Params structure to pack/unpack.
909 template <> 784 template <>
910 struct ParamTraits<ViewHostMsg_ContextMenu_Params> { 785 struct ParamTraits<ContextMenuParams> {
911 typedef ViewHostMsg_ContextMenu_Params param_type; 786 typedef ContextMenuParams param_type;
912 static void Write(Message* m, const param_type& p) { 787 static void Write(Message* m, const param_type& p) {
913 WriteParam(m, p.node); 788 WriteParam(m, p.node);
914 WriteParam(m, p.x); 789 WriteParam(m, p.x);
915 WriteParam(m, p.y); 790 WriteParam(m, p.y);
916 WriteParam(m, p.link_url); 791 WriteParam(m, p.link_url);
917 WriteParam(m, p.image_url); 792 WriteParam(m, p.image_url);
918 WriteParam(m, p.page_url); 793 WriteParam(m, p.page_url);
919 WriteParam(m, p.frame_url); 794 WriteParam(m, p.frame_url);
920 WriteParam(m, p.selection_text); 795 WriteParam(m, p.selection_text);
921 WriteParam(m, p.misspelled_word); 796 WriteParam(m, p.misspelled_word);
(...skipping 12 matching lines...) Expand all
934 ReadParam(m, iter, &p->page_url) && 809 ReadParam(m, iter, &p->page_url) &&
935 ReadParam(m, iter, &p->frame_url) && 810 ReadParam(m, iter, &p->frame_url) &&
936 ReadParam(m, iter, &p->selection_text) && 811 ReadParam(m, iter, &p->selection_text) &&
937 ReadParam(m, iter, &p->misspelled_word) && 812 ReadParam(m, iter, &p->misspelled_word) &&
938 ReadParam(m, iter, &p->dictionary_suggestions) && 813 ReadParam(m, iter, &p->dictionary_suggestions) &&
939 ReadParam(m, iter, &p->spellcheck_enabled) && 814 ReadParam(m, iter, &p->spellcheck_enabled) &&
940 ReadParam(m, iter, &p->edit_flags) && 815 ReadParam(m, iter, &p->edit_flags) &&
941 ReadParam(m, iter, &p->security_info); 816 ReadParam(m, iter, &p->security_info);
942 } 817 }
943 static void Log(const param_type& p, std::wstring* l) { 818 static void Log(const param_type& p, std::wstring* l) {
944 l->append(L"<ViewHostMsg_ContextMenu_Params>"); 819 l->append(L"<ContextMenuParams>");
945 } 820 }
946 }; 821 };
947 822
948 // Traits for ViewHostMsg_PaintRect_Params structure to pack/unpack. 823 // Traits for ViewHostMsg_PaintRect_Params structure to pack/unpack.
949 template <> 824 template <>
950 struct ParamTraits<ViewHostMsg_PaintRect_Params> { 825 struct ParamTraits<ViewHostMsg_PaintRect_Params> {
951 typedef ViewHostMsg_PaintRect_Params param_type; 826 typedef ViewHostMsg_PaintRect_Params param_type;
952 static void Write(Message* m, const param_type& p) { 827 static void Write(Message* m, const param_type& p) {
953 WriteParam(m, p.bitmap); 828 WriteParam(m, p.bitmap);
954 WriteParam(m, p.bitmap_rect); 829 WriteParam(m, p.bitmap_rect);
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 l->append(L", "); 1291 l->append(L", ");
1417 LogParam(p.mime_type, l); 1292 LogParam(p.mime_type, l);
1418 l->append(L", "); 1293 l->append(L", ");
1419 LogParam(p.charset, l); 1294 LogParam(p.charset, l);
1420 l->append(L", "); 1295 l->append(L", ");
1421 LogParam(p.security_info, l); 1296 LogParam(p.security_info, l);
1422 l->append(L")"); 1297 l->append(L")");
1423 } 1298 }
1424 }; 1299 };
1425 1300
1426 // Traits for ViewMsg_Resource_ResponseHead
1427 template <> 1301 template <>
1428 struct ParamTraits<ViewMsg_Resource_ResponseHead> { 1302 struct ParamTraits<ResourceResponseHead> {
1429 typedef ViewMsg_Resource_ResponseHead param_type; 1303 typedef ResourceResponseHead param_type;
1430 static void Write(Message* m, const param_type& p) { 1304 static void Write(Message* m, const param_type& p) {
1431 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Write(m, p); 1305 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Write(m, p);
1432 WriteParam(m, p.status); 1306 WriteParam(m, p.status);
1433 WriteParam(m, p.filter_policy); 1307 WriteParam(m, p.filter_policy);
1434 } 1308 }
1435 static bool Read(const Message* m, void** iter, param_type* r) { 1309 static bool Read(const Message* m, void** iter, param_type* r) {
1436 return 1310 return
1437 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Read(m, iter , r) && 1311 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Read(m, iter , r) &&
1438 ReadParam(m, iter, &r->status) && 1312 ReadParam(m, iter, &r->status) &&
1439 ReadParam(m, iter, &r->filter_policy); 1313 ReadParam(m, iter, &r->filter_policy);
1440 } 1314 }
1441 static void Log(const param_type& p, std::wstring* l) { 1315 static void Log(const param_type& p, std::wstring* l) {
1442 // log more? 1316 // log more?
1443 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); 1317 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l);
1444 } 1318 }
1445 }; 1319 };
1446 1320
1447 // Traits for ViewHostMsg_Resource_SyncLoad_Response
1448 template <> 1321 template <>
1449 struct ParamTraits<ViewHostMsg_SyncLoad_Result> { 1322 struct ParamTraits<SyncLoadResult> {
1450 typedef ViewHostMsg_SyncLoad_Result param_type; 1323 typedef SyncLoadResult param_type;
1451 static void Write(Message* m, const param_type& p) { 1324 static void Write(Message* m, const param_type& p) {
1452 ParamTraits<ViewMsg_Resource_ResponseHead>::Write(m, p); 1325 ParamTraits<ResourceResponseHead>::Write(m, p);
1453 WriteParam(m, p.final_url); 1326 WriteParam(m, p.final_url);
1454 WriteParam(m, p.data); 1327 WriteParam(m, p.data);
1455 } 1328 }
1456 static bool Read(const Message* m, void** iter, param_type* r) { 1329 static bool Read(const Message* m, void** iter, param_type* r) {
1457 return 1330 return
1458 ParamTraits<ViewMsg_Resource_ResponseHead>::Read(m, iter, r) && 1331 ParamTraits<ResourceResponseHead>::Read(m, iter, r) &&
1459 ReadParam(m, iter, &r->final_url) && 1332 ReadParam(m, iter, &r->final_url) &&
1460 ReadParam(m, iter, &r->data); 1333 ReadParam(m, iter, &r->data);
1461 } 1334 }
1462 static void Log(const param_type& p, std::wstring* l) { 1335 static void Log(const param_type& p, std::wstring* l) {
1463 // log more? 1336 // log more?
1464 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); 1337 ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l);
1465 } 1338 }
1466 }; 1339 };
1467 1340
1468 // Traits for FormData structure to pack/unpack. 1341 // Traits for FormData structure to pack/unpack.
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
1737 1610
1738 #endif // defined(OS_POSIX) 1611 #endif // defined(OS_POSIX)
1739 1612
1740 } // namespace IPC 1613 } // namespace IPC
1741 1614
1742 1615
1743 #define MESSAGES_INTERNAL_FILE "chrome/common/render_messages_internal.h" 1616 #define MESSAGES_INTERNAL_FILE "chrome/common/render_messages_internal.h"
1744 #include "chrome/common/ipc_message_macros.h" 1617 #include "chrome/common/ipc_message_macros.h"
1745 1618
1746 #endif // CHROME_COMMON_RENDER_MESSAGES_H_ 1619 #endif // CHROME_COMMON_RENDER_MESSAGES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698