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 // This header is meant to be included in multiple passes, hence no traditional | 5 // This header is meant to be included in multiple passes, hence no traditional |
6 // header guard. | 6 // header guard. |
7 // See ipc_message_macros.h for explanation of the macros and passes. | 7 // See ipc_message_macros.h for explanation of the macros and passes. |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "build/build_config.h" | 12 #include "build/build_config.h" |
13 | 13 |
14 #include "base/clipboard.h" | 14 #include "base/clipboard.h" |
15 #include "base/gfx/rect.h" | 15 #include "base/gfx/rect.h" |
| 16 #include "base/gfx/native_widget_types.h" |
16 #include "base/shared_memory.h" | 17 #include "base/shared_memory.h" |
17 #include "chrome/common/ipc_message_macros.h" | 18 #include "chrome/common/ipc_message_macros.h" |
18 #include "skia/include/SkBitmap.h" | 19 #include "skia/include/SkBitmap.h" |
19 #include "webkit/glue/console_message_level.h" | 20 #include "webkit/glue/console_message_level.h" |
20 #include "webkit/glue/context_node_types.h" | 21 #include "webkit/glue/context_node_types.h" |
21 #include "webkit/glue/dom_operations.h" | 22 #include "webkit/glue/dom_operations.h" |
22 #include "webkit/glue/screen_info.h" | 23 #include "webkit/glue/screen_info.h" |
23 #include "webkit/glue/webcursor.h" | 24 #include "webkit/glue/webcursor.h" |
24 #include "webkit/glue/webinputevent.h" | 25 #include "webkit/glue/webinputevent.h" |
25 #include "webkit/glue/webplugin.h" | 26 #include "webkit/glue/webplugin.h" |
26 | 27 |
27 void RenderMessagesInit(); | 28 void RenderMessagesInit(); |
28 | 29 |
29 // TODO(mpcomplete): rename ViewMsg and ViewHostMsg to something that makes | 30 // TODO(mpcomplete): rename ViewMsg and ViewHostMsg to something that makes |
30 // more sense with our current design. | 31 // more sense with our current design. |
31 | 32 |
32 //----------------------------------------------------------------------------- | 33 //----------------------------------------------------------------------------- |
33 // RenderView messages | 34 // RenderView messages |
34 // These are messages sent from the browser to the renderer process. | 35 // These are messages sent from the browser to the renderer process. |
35 | 36 |
36 IPC_BEGIN_MESSAGES(View, 1) | 37 IPC_BEGIN_MESSAGES(View, 1) |
37 // Used typically when recovering from a crash. The new rendering process | 38 // Used typically when recovering from a crash. The new rendering process |
38 // sets its global "next page id" counter to the given value. | 39 // sets its global "next page id" counter to the given value. |
39 IPC_MESSAGE_CONTROL1(ViewMsg_SetNextPageID, | 40 IPC_MESSAGE_CONTROL1(ViewMsg_SetNextPageID, |
40 int32 /* next_page_id */) | 41 int32 /* next_page_id */) |
41 | 42 |
42 #if defined(OS_WIN) | |
43 // Tells the renderer to create a new view. | 43 // Tells the renderer to create a new view. |
44 // This message is slightly different, the view it takes is the view to | 44 // This message is slightly different, the view it takes is the view to |
45 // create, the message itself is sent as a non-view control message. | 45 // create, the message itself is sent as a non-view control message. |
46 IPC_MESSAGE_CONTROL4(ViewMsg_New, HWND, HANDLE, WebPreferences, int32) | 46 IPC_MESSAGE_CONTROL4(ViewMsg_New, |
47 #endif // defined(OS_WIN) | 47 gfx::NativeViewId, /* parent window */ |
| 48 ModalDialogEvent, /* model dialog box event */ |
| 49 WebPreferences, |
| 50 int32 /* view id */) |
48 | 51 |
49 // Tells the renderer to set its maximum cache size to the supplied value | 52 // Tells the renderer to set its maximum cache size to the supplied value |
50 IPC_MESSAGE_CONTROL3(ViewMsg_SetCacheCapacities, | 53 IPC_MESSAGE_CONTROL3(ViewMsg_SetCacheCapacities, |
51 size_t /* min_dead_capacity */, | 54 size_t /* min_dead_capacity */, |
52 size_t /* max_dead_capacity */, | 55 size_t /* max_dead_capacity */, |
53 size_t /* capacity */) | 56 size_t /* capacity */) |
54 | 57 |
55 // Allows a chrome plugin loaded in the browser process to send arbitrary | 58 // Allows a chrome plugin loaded in the browser process to send arbitrary |
56 // data to an instance of the same plugin loaded in a renderer process. | 59 // data to an instance of the same plugin loaded in a renderer process. |
57 IPC_MESSAGE_CONTROL2(ViewMsg_PluginMessage, | 60 IPC_MESSAGE_CONTROL2(ViewMsg_PluginMessage, |
58 FilePath /* plugin_path of plugin */, | 61 FilePath /* plugin_path of plugin */, |
59 std::vector<uint8> /* opaque data */) | 62 std::vector<uint8> /* opaque data */) |
60 | 63 |
61 // Reply in response to ViewHostMsg_ShowView or ViewHostMsg_ShowWidget. | 64 // Reply in response to ViewHostMsg_ShowView or ViewHostMsg_ShowWidget. |
62 // similar to the new command, but used when the renderer created a view | 65 // similar to the new command, but used when the renderer created a view |
63 // first, and we need to update it | 66 // first, and we need to update it |
64 #if defined(OS_WIN) | |
65 IPC_MESSAGE_ROUTED1(ViewMsg_CreatingNew_ACK, | 67 IPC_MESSAGE_ROUTED1(ViewMsg_CreatingNew_ACK, |
66 HWND /* parent_hwnd */) | 68 gfx::NativeViewId /* parent_hwnd */) |
67 #else // defined(OS_WIN) | |
68 // On POSIX, we don't pass "window handles" between processes. | |
69 IPC_MESSAGE_ROUTED0(ViewMsg_CreatingNew_ACK) | |
70 #endif | |
71 | 69 |
72 // Tells the render view to close. | 70 // Tells the render view to close. |
73 IPC_MESSAGE_ROUTED0(ViewMsg_Close) | 71 IPC_MESSAGE_ROUTED0(ViewMsg_Close) |
74 | 72 |
75 // Tells the render view to change its size. A ViewHostMsg_PaintRect message | 73 // Tells the render view to change its size. A ViewHostMsg_PaintRect message |
76 // is generated in response provided new_size is not empty and not equal to | 74 // is generated in response provided new_size is not empty and not equal to |
77 // the view's current size. The generated ViewHostMsg_PaintRect message will | 75 // the view's current size. The generated ViewHostMsg_PaintRect message will |
78 // have the IS_RESIZE_ACK flag set. | 76 // have the IS_RESIZE_ACK flag set. |
79 IPC_MESSAGE_ROUTED1(ViewMsg_Resize, | 77 IPC_MESSAGE_ROUTED1(ViewMsg_Resize, |
80 gfx::Size /* new_size */) | 78 gfx::Size /* new_size */) |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 bool /* Whether it is visible */) | 486 bool /* Whether it is visible */) |
489 | 487 |
490 IPC_END_MESSAGES(View) | 488 IPC_END_MESSAGES(View) |
491 | 489 |
492 | 490 |
493 //----------------------------------------------------------------------------- | 491 //----------------------------------------------------------------------------- |
494 // WebContents messages | 492 // WebContents messages |
495 // These are messages sent from the renderer to the browser process. | 493 // These are messages sent from the renderer to the browser process. |
496 | 494 |
497 IPC_BEGIN_MESSAGES(ViewHost, 2) | 495 IPC_BEGIN_MESSAGES(ViewHost, 2) |
498 #if defined(OS_WIN) | |
499 // Sent by the renderer when it is creating a new window. The browser creates | 496 // Sent by the renderer when it is creating a new window. The browser creates |
500 // a tab for it and responds with a ViewMsg_CreatingNew_ACK. If route_id is | 497 // a tab for it and responds with a ViewMsg_CreatingNew_ACK. If route_id is |
501 // MSG_ROUTING_NONE, the view couldn't be created. modal_dialog_event is set | 498 // MSG_ROUTING_NONE, the view couldn't be created. modal_dialog_event is set |
502 // by the browser when a modal dialog is shown. | 499 // by the browser when a modal dialog is shown. |
503 IPC_SYNC_MESSAGE_CONTROL2_2(ViewHostMsg_CreateWindow, | 500 IPC_SYNC_MESSAGE_CONTROL2_2(ViewHostMsg_CreateWindow, |
504 int /* opener_id */, | 501 int /* opener_id */, |
505 bool /* user_gesture */, | 502 bool /* user_gesture */, |
506 int /* route_id */, | 503 int /* route_id */, |
507 HANDLE /* modal_dialog_event */) | 504 ModalDialogEvent /* modal_dialog_event */) |
508 #else // defined(OS_WIN) | |
509 // On POSIX, we don't use the cross process events for modal dialogs. At some | |
510 // point, we won't use them on any platform, but for now we just define a | |
511 // message without the last parameter. | |
512 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_CreateWindow, | |
513 int /* opener_id */, | |
514 bool /* user_gesture */, | |
515 int /* route_id */) | |
516 #endif | |
517 | 505 |
518 // Similar to ViewHostMsg_CreateView, except used for sub-widgets, like | 506 // Similar to ViewHostMsg_CreateView, except used for sub-widgets, like |
519 // <select> dropdowns. This message is sent to the WebContents that | 507 // <select> dropdowns. This message is sent to the WebContents that |
520 // contains the widget being created. | 508 // contains the widget being created. |
521 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_CreateWidget, | 509 IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_CreateWidget, |
522 int /* opener_id */, | 510 int /* opener_id */, |
523 bool /* focus on show */, | 511 bool /* focus on show */, |
524 int /* route_id */) | 512 int /* route_id */) |
525 | 513 |
526 #if defined(OS_WIN) | |
527 // These two messages are sent as a result of the above two, in the browser | 514 // These two messages are sent as a result of the above two, in the browser |
528 // process, from RenderWidgetHelper to RenderViewHost. | 515 // process, from RenderWidgetHelper to RenderViewHost. |
529 IPC_MESSAGE_ROUTED2(ViewHostMsg_CreateWindowWithRoute, | 516 IPC_MESSAGE_ROUTED2(ViewHostMsg_CreateWindowWithRoute, |
530 int /* route_id */, | 517 int /* route_id */, |
531 HANDLE /* modal_dialog_event */) | 518 ModalDialogEvent /* modal_dialog_event */) |
532 #endif // defined(OS_WIN) | |
533 | 519 |
534 IPC_MESSAGE_ROUTED2(ViewHostMsg_CreateWidgetWithRoute, | 520 IPC_MESSAGE_ROUTED2(ViewHostMsg_CreateWidgetWithRoute, |
535 int /* route_id */, | 521 int /* route_id */, |
536 bool /* activatable */) | 522 bool /* activatable */) |
537 | 523 |
538 // These two messages are sent to the parent RenderViewHost to display the | 524 // These two messages are sent to the parent RenderViewHost to display the |
539 // page/widget that was created by CreateView/CreateWidget. routing_id | 525 // page/widget that was created by CreateView/CreateWidget. routing_id |
540 // refers to the id that was returned from the Create message above. | 526 // refers to the id that was returned from the Create message above. |
541 // The initial_position parameter is a rectangle in screen coordinates. | 527 // The initial_position parameter is a rectangle in screen coordinates. |
542 // | 528 // |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 #if defined(OS_WIN) | 622 #if defined(OS_WIN) |
637 // Sent to paint part of the view. In response to this message, the host | 623 // Sent to paint part of the view. In response to this message, the host |
638 // generates a ViewMsg_PaintRect_ACK message. | 624 // generates a ViewMsg_PaintRect_ACK message. |
639 IPC_MESSAGE_ROUTED1(ViewHostMsg_PaintRect, | 625 IPC_MESSAGE_ROUTED1(ViewHostMsg_PaintRect, |
640 ViewHostMsg_PaintRect_Params) | 626 ViewHostMsg_PaintRect_Params) |
641 | 627 |
642 // Sent to scroll part of the view. In response to this message, the host | 628 // Sent to scroll part of the view. In response to this message, the host |
643 // generates a ViewMsg_ScrollRect_ACK message. | 629 // generates a ViewMsg_ScrollRect_ACK message. |
644 IPC_MESSAGE_ROUTED1(ViewHostMsg_ScrollRect, | 630 IPC_MESSAGE_ROUTED1(ViewHostMsg_ScrollRect, |
645 ViewHostMsg_ScrollRect_Params) | 631 ViewHostMsg_ScrollRect_Params) |
646 #endif // defined(OS_WIN) | 632 #endif |
647 | 633 |
648 // Acknowledges receipt of a ViewMsg_HandleInputEvent message. | 634 // Acknowledges receipt of a ViewMsg_HandleInputEvent message. |
649 // Payload is a WebInputEvent::Type which is the type of the event, followed | 635 // Payload is a WebInputEvent::Type which is the type of the event, followed |
650 // by an optional WebInputEvent which is provided only if the event was not | 636 // by an optional WebInputEvent which is provided only if the event was not |
651 // processed. | 637 // processed. |
652 IPC_MESSAGE_ROUTED0(ViewHostMsg_HandleInputEvent_ACK) | 638 IPC_MESSAGE_ROUTED0(ViewHostMsg_HandleInputEvent_ACK) |
653 | 639 |
654 IPC_MESSAGE_ROUTED0(ViewHostMsg_Focus) | 640 IPC_MESSAGE_ROUTED0(ViewHostMsg_Focus) |
655 IPC_MESSAGE_ROUTED0(ViewHostMsg_Blur) | 641 IPC_MESSAGE_ROUTED0(ViewHostMsg_Blur) |
656 | 642 |
657 #if defined(OS_WIN) | |
658 // Returns the window location of the given window. | 643 // Returns the window location of the given window. |
659 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetWindowRect, | 644 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetWindowRect, |
660 HWND /* window */, | 645 gfx::NativeViewId /* window */, |
661 gfx::Rect /* Out: Window location */) | 646 gfx::Rect /* Out: Window location */) |
662 #endif // defined(OS_WIN) | |
663 | 647 |
664 IPC_MESSAGE_ROUTED1(ViewHostMsg_SetCursor, WebCursor) | 648 IPC_MESSAGE_ROUTED1(ViewHostMsg_SetCursor, WebCursor) |
665 // Result of string search in the page. | 649 // Result of string search in the page. |
666 // Response to ViewMsg_Find with the results of the requested find-in-page | 650 // Response to ViewMsg_Find with the results of the requested find-in-page |
667 // search, the number of matches found and the selection rect (in screen | 651 // search, the number of matches found and the selection rect (in screen |
668 // coordinates) for the string found. If |final_update| is false, it signals | 652 // coordinates) for the string found. If |final_update| is false, it signals |
669 // that this is not the last Find_Reply message - more will be sent as the | 653 // that this is not the last Find_Reply message - more will be sent as the |
670 // scoping effort continues. | 654 // scoping effort continues. |
671 IPC_MESSAGE_ROUTED5(ViewHostMsg_Find_Reply, | 655 IPC_MESSAGE_ROUTED5(ViewHostMsg_Find_Reply, |
672 int /* request_id */, | 656 int /* request_id */, |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 std::string /* result */) | 827 std::string /* result */) |
844 IPC_SYNC_MESSAGE_CONTROL0_2(ViewHostMsg_ClipboardReadHTML, | 828 IPC_SYNC_MESSAGE_CONTROL0_2(ViewHostMsg_ClipboardReadHTML, |
845 std::wstring /* markup */, | 829 std::wstring /* markup */, |
846 GURL /* url */) | 830 GURL /* url */) |
847 | 831 |
848 #if defined(OS_WIN) | 832 #if defined(OS_WIN) |
849 // Request that the given font be loaded by the browser. | 833 // Request that the given font be loaded by the browser. |
850 // Please see ResourceMessageFilter::OnLoadFont for details. | 834 // Please see ResourceMessageFilter::OnLoadFont for details. |
851 IPC_SYNC_MESSAGE_CONTROL1_0(ViewHostMsg_LoadFont, | 835 IPC_SYNC_MESSAGE_CONTROL1_0(ViewHostMsg_LoadFont, |
852 LOGFONT /* font data */) | 836 LOGFONT /* font data */) |
| 837 #endif // defined(OS_WIN) |
853 | 838 |
854 // Returns ScreenInfo corresponding to the given window. | 839 // Returns ScreenInfo corresponding to the given window. |
855 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetScreenInfo, | 840 IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetScreenInfo, |
856 gfx::NativeView /* window */, | 841 gfx::NativeViewId /* window */, |
857 webkit_glue::ScreenInfo /* results */) | 842 webkit_glue::ScreenInfo /* results */) |
858 #endif // defined(OS_WIN) | |
859 | 843 |
860 // Send the tooltip text for the current mouse position to the browser. | 844 // Send the tooltip text for the current mouse position to the browser. |
861 IPC_MESSAGE_ROUTED1(ViewHostMsg_SetTooltipText, | 845 IPC_MESSAGE_ROUTED1(ViewHostMsg_SetTooltipText, |
862 std::wstring /* tooltip text string */) | 846 std::wstring /* tooltip text string */) |
863 | 847 |
864 // Asks the browser to display the file chooser. The result is returned in a | 848 // Asks the browser to display the file chooser. The result is returned in a |
865 // ViewHost_RunFileChooserResponse message. | 849 // ViewHost_RunFileChooserResponse message. |
866 IPC_MESSAGE_ROUTED4(ViewHostMsg_RunFileChooser, | 850 IPC_MESSAGE_ROUTED4(ViewHostMsg_RunFileChooser, |
867 bool /* multiple_files */, | 851 bool /* multiple_files */, |
868 std::wstring /* title */, | 852 std::wstring /* title */, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
960 // The renderer wants to know the default print settings. | 944 // The renderer wants to know the default print settings. |
961 IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDefaultPrintSettings, | 945 IPC_SYNC_MESSAGE_ROUTED0_1(ViewHostMsg_GetDefaultPrintSettings, |
962 ViewMsg_Print_Params /* default_settings */) | 946 ViewMsg_Print_Params /* default_settings */) |
963 | 947 |
964 #if defined(OS_WIN) | 948 #if defined(OS_WIN) |
965 // It's the renderer that controls the printing process when it is generated | 949 // It's the renderer that controls the printing process when it is generated |
966 // by javascript. This step is about showing UI to the user to select the | 950 // by javascript. This step is about showing UI to the user to select the |
967 // final print settings. The output parameter is the same as | 951 // final print settings. The output parameter is the same as |
968 // ViewMsg_PrintPages which is executed implicitly. | 952 // ViewMsg_PrintPages which is executed implicitly. |
969 IPC_SYNC_MESSAGE_ROUTED3_1(ViewHostMsg_ScriptedPrint, | 953 IPC_SYNC_MESSAGE_ROUTED3_1(ViewHostMsg_ScriptedPrint, |
970 HWND /* host_window */, | 954 gfx::NativeViewId /* host_window */, |
971 int /* cookie */, | 955 int /* cookie */, |
972 int /* expected_pages_count */, | 956 int /* expected_pages_count */, |
973 ViewMsg_PrintPages_Params /* settings choosen by | 957 ViewMsg_PrintPages_Params /* settings choosen by |
974 the user*/) | 958 the user*/) |
975 #endif // defined(OS_WIN) | 959 #endif // defined(OS_WIN) |
976 | 960 |
977 // WebKit and JavaScript error messages to log to the console | 961 // WebKit and JavaScript error messages to log to the console |
978 // or debugger UI. | 962 // or debugger UI. |
979 IPC_MESSAGE_ROUTED3(ViewHostMsg_AddMessageToConsole, | 963 IPC_MESSAGE_ROUTED3(ViewHostMsg_AddMessageToConsole, |
980 std::wstring, /* msg */ | 964 std::wstring, /* msg */ |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1099 // Provide the browser process with information about the WebCore resource | 1083 // Provide the browser process with information about the WebCore resource |
1100 // cache. | 1084 // cache. |
1101 IPC_MESSAGE_CONTROL1(ViewHostMsg_ResourceTypeStats, | 1085 IPC_MESSAGE_CONTROL1(ViewHostMsg_ResourceTypeStats, |
1102 CacheManager::ResourceTypeStats) | 1086 CacheManager::ResourceTypeStats) |
1103 | 1087 |
1104 // Notify the browser that this render either has or doesn't have a | 1088 // Notify the browser that this render either has or doesn't have a |
1105 // beforeunload or unload handler. | 1089 // beforeunload or unload handler. |
1106 IPC_MESSAGE_ROUTED1(ViewHostMsg_UnloadListenerChanged, | 1090 IPC_MESSAGE_ROUTED1(ViewHostMsg_UnloadListenerChanged, |
1107 bool /* has_listener */) | 1091 bool /* has_listener */) |
1108 | 1092 |
1109 #if defined(OS_WIN) | |
1110 // Returns the window location of the window this widget is embeded. | 1093 // Returns the window location of the window this widget is embeded. |
1111 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowRect, | 1094 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowRect, |
1112 HWND /* window */, | 1095 gfx::NativeViewId /* window */, |
1113 gfx::Rect /* Out: Window location */) | 1096 gfx::Rect /* Out: Window location */) |
1114 | 1097 |
1115 // Returns the resizer box location in the window this widget is embeded. | 1098 // Returns the resizer box location in the window this widget is embeded. |
1116 // Important for Mac OS X, but not Win or Linux. | 1099 // Important for Mac OS X, but not Win or Linux. |
1117 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowResizerRect, | 1100 IPC_SYNC_MESSAGE_ROUTED1_1(ViewHostMsg_GetRootWindowResizerRect, |
1118 HWND /* window */, | 1101 gfx::NativeViewId /* window */, |
1119 gfx::Rect /* Out: Window location */) | 1102 gfx::Rect /* Out: Window location */) |
1120 #endif // defined(OS_WIN) | |
1121 | 1103 |
1122 // Queries the browser for suggestion for autofill in a form input field. | 1104 // Queries the browser for suggestion for autofill in a form input field. |
1123 IPC_MESSAGE_ROUTED4(ViewHostMsg_QueryFormFieldAutofill, | 1105 IPC_MESSAGE_ROUTED4(ViewHostMsg_QueryFormFieldAutofill, |
1124 std::wstring /* field name */, | 1106 std::wstring /* field name */, |
1125 std::wstring /* user entered text */, | 1107 std::wstring /* user entered text */, |
1126 int64 /* id of the text input field */, | 1108 int64 /* id of the text input field */, |
1127 int /* id of this message */) | 1109 int /* id of this message */) |
1128 | 1110 |
1129 IPC_END_MESSAGES(ViewHost) | 1111 IPC_END_MESSAGES(ViewHost) |
OLD | NEW |