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

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

Issue 18768: POSIX: gfx::NativeViewId and CrossProcessEvent (Closed)
Patch Set: Addressing Brett's comments 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
« no previous file with comments | « chrome/common/render_messages.h ('k') | chrome/renderer/render_thread.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // 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
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
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
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
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
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)
OLDNEW
« no previous file with comments | « chrome/common/render_messages.h ('k') | chrome/renderer/render_thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698