Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / ui / metro_viewer / metro_viewer_messages.h
blobad7690cceda3a06746c2cafe4cd889efbec3d66a
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Multiply-included message file, no include guard.
7 #include <vector>
9 #include "base/basictypes.h"
10 #include "ipc/ipc_message_macros.h"
11 #include "ui/events/event_constants.h"
12 #include "ui/gfx/native_widget_types.h"
13 #include "ui/metro_viewer/ime_types.h"
15 #define IPC_MESSAGE_START MetroViewerMsgStart
17 IPC_ENUM_TRAITS(ui::EventType)
18 IPC_ENUM_TRAITS(ui::EventFlags)
20 // Contains the parameters sent for a mousebutton message.
21 IPC_STRUCT_BEGIN(MetroViewerHostMsg_MouseButtonParams)
23 IPC_STRUCT_MEMBER(int32, x)
24 IPC_STRUCT_MEMBER(int32, y)
25 IPC_STRUCT_MEMBER(int32, extra)
26 IPC_STRUCT_MEMBER(ui::EventType, event_type)
27 IPC_STRUCT_MEMBER(uint32, flags)
28 IPC_STRUCT_MEMBER(ui::EventFlags, changed_button)
29 IPC_STRUCT_MEMBER(bool, is_horizontal_wheel)
31 IPC_STRUCT_END()
33 // Messages sent from the viewer to the browser:
35 // Inform the browser of the surface to target for compositing.
36 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_SetTargetSurface,
37 gfx::NativeViewId /* target hwnd */,
38 float /* device scale */)
39 // Informs the browser that the mouse moved.
40 IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_MouseMoved,
41 int32, /* x-coordinate */
42 int32, /* y-coordinate */
43 int32 /* flags */)
44 // Informs the brower that a mouse button was pressed.
45 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_MouseButton,
46 MetroViewerHostMsg_MouseButtonParams)
47 // Informs the browser that a key was pressed.
48 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_KeyDown,
49 uint32, /* virtual key */
50 uint32, /* repeat count */
51 uint32, /* scan code */
52 uint32 /* key state */);
53 // Informs the browser that a key was released.
54 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_KeyUp,
55 uint32, /* virtual key */
56 uint32, /* repeat count */
57 uint32, /* scan code */
58 uint32 /* key state */);
59 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_Character,
60 uint32, /* virtual key */
61 uint32, /* repeat count */
62 uint32, /* scan code */
63 uint32 /* key state */);
64 // Informs the browser that the Metro window has been activated.
65 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_WindowActivated,
66 bool /* Whether the window should be repainted */);
68 // Informs the browser that the user has completed an edge gesture.
69 IPC_MESSAGE_CONTROL0(MetroViewerHostMsg_EdgeGesture)
71 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_TouchDown,
72 int32, /* x-coordinate */
73 int32, /* y-coordinate */
74 uint64, /* timestamp */
75 uint32) /* pointer_id */
76 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_TouchUp,
77 int32, /* x-coordinate */
78 int32, /* y-coordinate */
79 uint64, /* timestamp */
80 uint32) /* pointer_id */
81 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_TouchMoved,
82 int32, /* x-coordinate */
83 int32, /* y-coordinate */
84 uint64, /* timestamp */
85 uint32) /* pointer_id */
87 // Informs the browser of the result of a file save as operation.
88 IPC_MESSAGE_CONTROL3(MetroViewerHostMsg_FileSaveAsDone,
89 bool, /* success */
90 base::FilePath, /* filename */
91 int) /* filter_index */
93 // Informs the browser of the result of a file open operation.
94 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_FileOpenDone,
95 bool, /* success */
96 base::FilePath) /* filename */
98 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_MultiFileOpenDone,
99 bool, /* success */
100 std::vector<base::FilePath>) /* filenames */
102 // Informs the browser of the result of a select folder operation.
103 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_SelectFolderDone,
104 bool, /* success */
105 base::FilePath) /* filepath*/
107 // Messages sent from the browser to the viewer:
109 // Requests the viewer to activate desktop mode.
110 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_ActivateDesktop,
111 base::FilePath /* shortcut */,
112 bool /* ash exit */);
114 // Request the viewer to close itself gracefully.
115 IPC_MESSAGE_CONTROL0(MetroViewerHostMsg_MetroExit);
117 // Requests the viewer to open a URL in desktop mode.
118 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_OpenURLOnDesktop,
119 base::FilePath, /* shortcut */
120 base::string16 /* url */);
122 // Requests the viewer to change the pointer to a new cursor.
123 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_SetCursor,
124 int64 /* cursor */);
126 // This structure contains the parameters sent to the viewer process to display
127 // the file save dialog.
128 IPC_STRUCT_BEGIN(MetroViewerHostMsg_SaveAsDialogParams)
130 // The title of the file save dialog if any.
131 IPC_STRUCT_MEMBER(base::string16, title)
133 // The suggested file name.
134 IPC_STRUCT_MEMBER(base::FilePath, suggested_name)
136 // The save as filter to be used.
137 IPC_STRUCT_MEMBER(base::string16, filter)
139 // The filter index.
140 IPC_STRUCT_MEMBER(uint32, filter_index)
142 // The default extension.
143 IPC_STRUCT_MEMBER(base::string16, default_extension)
145 IPC_STRUCT_END()
147 // Requests the viewer to display the file save dialog.
148 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_DisplayFileSaveAs,
149 MetroViewerHostMsg_SaveAsDialogParams)
151 // Requests the viewer to display the file open dialog.
152 IPC_MESSAGE_CONTROL4(MetroViewerHostMsg_DisplayFileOpen,
153 base::string16, /* title */
154 base::string16, /* filter */
155 base::FilePath, /* Default path */
156 bool) /* allow_multi_select */
158 // Requests the viewer to display the select folder dialog.
159 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_DisplaySelectFolder,
160 base::string16) /* title */
162 // Sent to the viewer process to set the cursor position.
163 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_SetCursorPos,
164 int, /* x */
165 int) /* y */
167 // Ack sent by the viewer process indicating that the SetCursorPos operation
168 // was completed.
169 IPC_MESSAGE_CONTROL0(MetroViewerHostMsg_SetCursorPosAck)
171 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_OpenURL,
172 base::string16) /* url */
174 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_SearchRequest,
175 base::string16) /* search_string */
177 // Sent from the metro viewer process to the browser process to indicate that
178 // the viewer window size has changed.
179 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_WindowSizeChanged,
180 uint32, /* width */
181 uint32) /* height */
183 IPC_STRUCT_TRAITS_BEGIN(metro_viewer::UnderlineInfo)
184 IPC_STRUCT_TRAITS_MEMBER(start_offset)
185 IPC_STRUCT_TRAITS_MEMBER(end_offset)
186 IPC_STRUCT_TRAITS_MEMBER(thick)
187 IPC_STRUCT_TRAITS_END()
189 // Sent from the metro viewer process to the browser process to update the
190 // composition string.
191 IPC_MESSAGE_CONTROL4(
192 MetroViewerHostMsg_ImeCompositionChanged,
193 base::string16, /* text */
194 int32, /* selection_start */
195 int32, /* selection_end */
196 std::vector<metro_viewer::UnderlineInfo>) /* underlines */
198 // Sent from the metro viewer process to the browser process to update the
199 // status of popup window that is managed by an IME.
200 IPC_MESSAGE_CONTROL1(
201 MetroViewerHostMsg_ImeCandidatePopupChanged,
202 bool) /* UI visibility */
204 // Sent from the metro viewer process to the browser process to commit strings.
205 IPC_MESSAGE_CONTROL1(MetroViewerHostMsg_ImeTextCommitted,
206 base::string16) /* text */
208 // Sent from the metro viewer process to the browser process to notify that the
209 // active text input source is changed.
210 IPC_MESSAGE_CONTROL2(MetroViewerHostMsg_ImeInputSourceChanged,
211 uint16, /* Win32 LangID */
212 bool) /* is IME or not */
214 // Requests the viewer to cancel the on-going composition.
215 IPC_MESSAGE_CONTROL0(MetroViewerHostMsg_ImeCancelComposition)
217 IPC_STRUCT_TRAITS_BEGIN(metro_viewer::CharacterBounds)
218 IPC_STRUCT_TRAITS_MEMBER(left)
219 IPC_STRUCT_TRAITS_MEMBER(top)
220 IPC_STRUCT_TRAITS_MEMBER(right)
221 IPC_STRUCT_TRAITS_MEMBER(bottom)
222 IPC_STRUCT_TRAITS_END()
224 // Requests the viewer to update the document context such as attached
225 // InputScopes and character bounds.
226 IPC_MESSAGE_CONTROL2(
227 MetroViewerHostMsg_ImeTextInputClientUpdated,
228 std::vector<int32>, /* InputScope enums */
229 std::vector<metro_viewer::CharacterBounds>) /* character bounds */