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

Side by Side Diff: content/common/browser_plugin/browser_plugin_messages.h

Issue 444813002: Remove BrowserPlugin's -internal-attach method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't crash on tear down Created 6 years, 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Multiply-included message header, no traditional include guard. 5 // Multiply-included message header, no traditional include guard.
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/process/process.h" 10 #include "base/process/process.h"
11 #include "base/values.h"
12 #include "content/common/content_export.h" 11 #include "content/common/content_export.h"
13 #include "content/common/content_param_traits.h" 12 #include "content/common/content_param_traits.h"
14 #include "content/common/cursors/webcursor.h" 13 #include "content/common/cursors/webcursor.h"
15 #include "content/common/edit_command.h" 14 #include "content/common/edit_command.h"
16 #include "content/common/frame_param_macros.h" 15 #include "content/common/frame_param_macros.h"
17 #include "content/public/common/common_param_traits.h" 16 #include "content/public/common/common_param_traits.h"
18 #include "content/public/common/drop_data.h" 17 #include "content/public/common/drop_data.h"
19 #include "ipc/ipc_channel_handle.h" 18 #include "ipc/ipc_channel_handle.h"
20 #include "ipc/ipc_message_macros.h" 19 #include "ipc/ipc_message_macros.h"
21 #include "ipc/ipc_message_utils.h" 20 #include "ipc/ipc_message_utils.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 IPC_STRUCT_END() 75 IPC_STRUCT_END()
77 76
78 // Browser plugin messages 77 // Browser plugin messages
79 78
80 // ----------------------------------------------------------------------------- 79 // -----------------------------------------------------------------------------
81 // These messages are from the embedder to the browser process. 80 // These messages are from the embedder to the browser process.
82 81
83 // This message is sent from BrowserPlugin to BrowserPluginGuest to issue an 82 // This message is sent from BrowserPlugin to BrowserPluginGuest to issue an
84 // edit command. 83 // edit command.
85 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ExecuteEditCommand, 84 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ExecuteEditCommand,
86 int /* instance_id */, 85 int /* browser_plugin_instance_id */,
87 std::string /* command */) 86 std::string /* command */)
88 87
89 // This message must be sent just before sending a key event. 88 // This message must be sent just before sending a key event.
90 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetEditCommandsForNextKeyEvent, 89 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetEditCommandsForNextKeyEvent,
91 int /* instance_id */, 90 int /* browser_plugin_instance_id */,
92 std::vector<content::EditCommand> /* edit_commands */) 91 std::vector<content::EditCommand> /* edit_commands */)
93 92
94 // This message is sent from BrowserPlugin to BrowserPluginGuest whenever IME 93 // This message is sent from BrowserPlugin to BrowserPluginGuest whenever IME
95 // composition state is updated. 94 // composition state is updated.
96 IPC_MESSAGE_ROUTED5( 95 IPC_MESSAGE_ROUTED5(
97 BrowserPluginHostMsg_ImeSetComposition, 96 BrowserPluginHostMsg_ImeSetComposition,
98 int /* instance_id */, 97 int /* browser_plugin_instance_id */,
99 std::string /* text */, 98 std::string /* text */,
100 std::vector<blink::WebCompositionUnderline> /* underlines */, 99 std::vector<blink::WebCompositionUnderline> /* underlines */,
101 int /* selectiont_start */, 100 int /* selectiont_start */,
102 int /* selection_end */) 101 int /* selection_end */)
103 102
104 // This message is sent from BrowserPlugin to BrowserPluginGuest to notify that 103 // This message is sent from BrowserPlugin to BrowserPluginGuest to notify that
105 // confirming the current composition is requested. 104 // confirming the current composition is requested.
106 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_ImeConfirmComposition, 105 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_ImeConfirmComposition,
107 int /* instance_id */, 106 int /* browser_plugin_instance_id */,
108 std::string /* text */, 107 std::string /* text */,
109 bool /* keep selection */) 108 bool /* keep selection */)
110 109
111 // Deletes the current selection plus the specified number of characters before 110 // Deletes the current selection plus the specified number of characters before
112 // and after the selection or caret. 111 // and after the selection or caret.
113 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_ExtendSelectionAndDelete, 112 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_ExtendSelectionAndDelete,
114 int /* instance_id */, 113 int /* browser_plugin_instance_id */,
115 int /* before */, 114 int /* before */,
116 int /* after */) 115 int /* after */)
117 116
118 // This message is sent to the browser process to indicate that a BrowserPlugin 117 // This message is sent to the browser process to indicate that a BrowserPlugin
119 // has taken ownership of the lifetime of the guest of the given |instance_id|. 118 // has taken ownership of the lifetime of the guest of the given
120 // |params| is the state of the BrowserPlugin taking ownership of 119 // |browser_plugin_instance_id|. |params| is the state of the BrowserPlugin
121 // the guest. If a guest doesn't already exist with the given |instance_id|, 120 // taking ownership of the guest.
122 // a new one will be created. 121 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_Attach,
123 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_Attach, 122 int /* browser_plugin_instance_id */,
124 int /* instance_id */, 123 BrowserPluginHostMsg_Attach_Params /* params */)
125 BrowserPluginHostMsg_Attach_Params /* params */,
126 base::DictionaryValue /* extra_params */)
127 124
128 // Tells the guest to focus or defocus itself. 125 // Tells the guest to focus or defocus itself.
129 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetFocus, 126 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetFocus,
130 int /* instance_id */, 127 int /* browser_plugin_instance_id */,
131 bool /* enable */) 128 bool /* enable */)
132 129
133 // Sends an input event to the guest. 130 // Sends an input event to the guest.
134 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_HandleInputEvent, 131 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_HandleInputEvent,
135 int /* instance_id */, 132 int /* browser_plugin_instance_id */,
136 gfx::Rect /* guest_window_rect */, 133 gfx::Rect /* guest_window_rect */,
137 IPC::WebInputEventPointer /* event */) 134 IPC::WebInputEventPointer /* event */)
138 135
139 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_CopyFromCompositingSurfaceAck, 136 IPC_MESSAGE_ROUTED3(BrowserPluginHostMsg_CopyFromCompositingSurfaceAck,
140 int /* instance_id */, 137 int /* browser_plugin_instance_id */,
141 int /* request_id */, 138 int /* request_id */,
142 SkBitmap) 139 SkBitmap)
143 140
144 // Notify the guest renderer that some resources given to the embededer 141 // Notify the guest renderer that some resources given to the embededer
145 // are not used any more. 142 // are not used any more.
146 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ReclaimCompositorResources, 143 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ReclaimCompositorResources,
147 int /* instance_id */, 144 int /* browser_plugin_instance_id */,
148 FrameHostMsg_ReclaimCompositorResources_Params /* params */) 145 FrameHostMsg_ReclaimCompositorResources_Params /* params */)
149 146
150 // When a BrowserPlugin has been removed from the embedder's DOM, it informs 147 // When a BrowserPlugin has been removed from the embedder's DOM, it informs
151 // the browser process to cleanup the guest. 148 // the browser process to cleanup the guest.
152 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_PluginDestroyed, 149 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_PluginDestroyed,
153 int /* instance_id */) 150 int /* browser_plugin_instance_id */)
154 151
155 // Tells the guest it has been shown or hidden. 152 // Tells the guest it has been shown or hidden.
156 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetVisibility, 153 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetVisibility,
157 int /* instance_id */, 154 int /* browser_plugin_instance_id */,
158 bool /* visible */) 155 bool /* visible */)
159 156
160 // Tells the guest to change its background opacity. 157 // Tells the guest to change its background opacity.
161 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetContentsOpaque, 158 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_SetContentsOpaque,
162 int /* instance_id */, 159 int /* browser_plugin_instance_id */,
163 bool /* opaque */) 160 bool /* opaque */)
164 161
165 // Tells the guest that a drag event happened on the plugin. 162 // Tells the guest that a drag event happened on the plugin.
166 IPC_MESSAGE_ROUTED5(BrowserPluginHostMsg_DragStatusUpdate, 163 IPC_MESSAGE_ROUTED5(BrowserPluginHostMsg_DragStatusUpdate,
167 int /* instance_id */, 164 int /* browser_plugin_instance_id */,
168 blink::WebDragStatus /* drag_status */, 165 blink::WebDragStatus /* drag_status */,
169 content::DropData /* drop_data */, 166 content::DropData /* drop_data */,
170 blink::WebDragOperationsMask /* operation_mask */, 167 blink::WebDragOperationsMask /* operation_mask */,
171 gfx::Point /* plugin_location */) 168 gfx::Point /* plugin_location */)
172 169
173 // Sends a PointerLock Lock ACK to the BrowserPluginGuest. 170 // Sends a PointerLock Lock ACK to the BrowserPluginGuest.
174 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_LockMouse_ACK, 171 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_LockMouse_ACK,
175 int /* instance_id */, 172 int /* browser_plugin_instance_id */,
176 bool /* succeeded */) 173 bool /* succeeded */)
177 174
178 // Sends a PointerLock Unlock ACK to the BrowserPluginGuest. 175 // Sends a PointerLock Unlock ACK to the BrowserPluginGuest.
179 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_UnlockMouse_ACK, int /* instance_id */) 176 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_UnlockMouse_ACK,
177 int /* browser_plugin_instance_id */)
180 178
181 // Sent when plugin's position has changed without UpdateRect. 179 // Sent when plugin's position has changed without UpdateRect.
182 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_UpdateGeometry, 180 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_UpdateGeometry,
183 int /* instance_id */, 181 int /* browser_plugin_instance_id */,
184 gfx::Rect /* view_rect */) 182 gfx::Rect /* view_rect */)
185 183
186 // ----------------------------------------------------------------------------- 184 // -----------------------------------------------------------------------------
187 // These messages are from the guest renderer to the browser process 185 // These messages are from the guest renderer to the browser process
188 186
189 // A embedder sends this message to the browser when it wants 187 // A embedder sends this message to the browser when it wants
190 // to resize a guest plugin container so that the guest is relaid out 188 // to resize a guest plugin container so that the guest is relaid out
191 // according to the new size. 189 // according to the new size.
192 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ResizeGuest, 190 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_ResizeGuest,
193 int /* instance_id*/, 191 int /* browser_plugin_instance_id*/,
194 BrowserPluginHostMsg_ResizeGuest_Params) 192 BrowserPluginHostMsg_ResizeGuest_Params)
195 193
196 // ----------------------------------------------------------------------------- 194 // -----------------------------------------------------------------------------
197 // These messages are from the browser process to the embedder. 195 // These messages are from the browser process to the embedder.
198 196
199 // This message is sent in response to a completed attachment of a guest 197 // This message is sent in response to a completed attachment of a guest
200 // to a BrowserPlugin. 198 // to a BrowserPlugin.
201 IPC_MESSAGE_CONTROL1(BrowserPluginMsg_Attach_ACK, int /* instance_id */) 199 IPC_MESSAGE_CONTROL1(BrowserPluginMsg_Attach_ACK,
200 int /* browser_plugin_instance_id */)
202 201
203 // Once the swapped out guest RenderView has been created in the embedder render 202 // Once the swapped out guest RenderView has been created in the embedder render
204 // process, the browser process informs the embedder of its routing ID. 203 // process, the browser process informs the embedder of its routing ID.
205 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_GuestContentWindowReady, 204 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_GuestContentWindowReady,
206 int /* instance_id */, 205 int /* browser_plugin_instance_id */,
207 int /* source_routing_id */) 206 int /* source_routing_id */)
208 207
209 // When the guest crashes, the browser process informs the embedder through this 208 // When the guest crashes, the browser process informs the embedder through this
210 // message. 209 // message.
211 IPC_MESSAGE_CONTROL1(BrowserPluginMsg_GuestGone, 210 IPC_MESSAGE_CONTROL1(BrowserPluginMsg_GuestGone,
212 int /* instance_id */) 211 int /* browser_plugin_instance_id */)
213 212
214 // When the user tabs to the end of the tab stops of a guest, the browser 213 // When the user tabs to the end of the tab stops of a guest, the browser
215 // process informs the embedder to tab out of the browser plugin. 214 // process informs the embedder to tab out of the browser plugin.
216 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_AdvanceFocus, 215 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_AdvanceFocus,
217 int /* instance_id */, 216 int /* browser_plugin_instance_id */,
218 bool /* reverse */) 217 bool /* reverse */)
219 218
220 // When the guest starts/stops listening to touch events, it needs to notify the 219 // When the guest starts/stops listening to touch events, it needs to notify the
221 // plugin in the embedder about it. 220 // plugin in the embedder about it.
222 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_ShouldAcceptTouchEvents, 221 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_ShouldAcceptTouchEvents,
223 int /* instance_id */, 222 int /* browser_plugin_instance_id */,
224 bool /* accept */) 223 bool /* accept */)
225 224
226 // Inform the embedder of the cursor the guest wishes to display. 225 // Inform the embedder of the cursor the guest wishes to display.
227 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_SetCursor, 226 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_SetCursor,
228 int /* instance_id */, 227 int /* browser_plugin_instance_id */,
229 content::WebCursor /* cursor */) 228 content::WebCursor /* cursor */)
230 229
231 // The guest has damage it wants to convey to the embedder so that it can 230 // The guest has damage it wants to convey to the embedder so that it can
232 // update its backing store. 231 // update its backing store.
233 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_UpdateRect, 232 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_UpdateRect,
234 int /* instance_id */, 233 int /* browser_plugin_instance_id */,
235 BrowserPluginMsg_UpdateRect_Params) 234 BrowserPluginMsg_UpdateRect_Params)
236 235
237 IPC_MESSAGE_CONTROL4(BrowserPluginMsg_CopyFromCompositingSurface, 236 IPC_MESSAGE_CONTROL4(BrowserPluginMsg_CopyFromCompositingSurface,
238 int /* instance_id */, 237 int /* browser_plugin_instance_id */,
239 int /* request_id */, 238 int /* request_id */,
240 gfx::Rect /* source_rect */, 239 gfx::Rect /* source_rect */,
241 gfx::Size /* dest_size */) 240 gfx::Size /* dest_size */)
242 241
243 // Guest renders into an FBO with textures provided by the embedder. 242 // Guest renders into an FBO with textures provided by the embedder.
244 // BrowserPlugin shares mostly the same logic as out-of-process RenderFrames but 243 // BrowserPlugin shares mostly the same logic as out-of-process RenderFrames but
245 // because BrowserPlugins implement custom a second level of routing logic, 244 // because BrowserPlugins implement custom a second level of routing logic,
246 // the IPCs need to be annotated with an extra instance_id. These messages 245 // the IPCs need to be annotated with an extra browser_plugin_instance_id. These
247 // provide that extra id. 246 // messages provide that extra id.
248 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_BuffersSwapped, 247 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_BuffersSwapped,
249 int /* instance_id */, 248 int /* browser_plugin_instance_id */,
250 FrameMsg_BuffersSwapped_Params /* params */) 249 FrameMsg_BuffersSwapped_Params /* params */)
251 250
252 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_CompositorFrameSwapped, 251 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_CompositorFrameSwapped,
253 int /* instance_id */, 252 int /* browser_plugin_instance_id */,
254 FrameMsg_CompositorFrameSwapped_Params /* params */) 253 FrameMsg_CompositorFrameSwapped_Params /* params */)
255 254
256 // Forwards a PointerLock Unlock request to the BrowserPlugin. 255 // Forwards a PointerLock Unlock request to the BrowserPlugin.
257 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_SetMouseLock, 256 IPC_MESSAGE_CONTROL2(BrowserPluginMsg_SetMouseLock,
258 int /* instance_id */, 257 int /* browser_plugin_instance_id */,
259 bool /* enable */) 258 bool /* enable */)
260 259
261 // See comment about BrowserPluginMsg_BuffersSwapped and 260 // See comment about BrowserPluginMsg_BuffersSwapped and
262 // BrowserPluginMsg_CompositorFrameSwapped for how these related 261 // BrowserPluginMsg_CompositorFrameSwapped for how these related
263 // to the FrameHostMsg variants. 262 // to the FrameHostMsg variants.
264 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_BuffersSwappedACK, 263 IPC_MESSAGE_ROUTED1(BrowserPluginHostMsg_BuffersSwappedACK,
265 FrameHostMsg_BuffersSwappedACK_Params /* params */) 264 FrameHostMsg_BuffersSwappedACK_Params /* params */)
266 265
267 // Acknowledge that we presented an ubercomp frame. 266 // Acknowledge that we presented an ubercomp frame.
268 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_CompositorFrameSwappedACK, 267 IPC_MESSAGE_ROUTED2(BrowserPluginHostMsg_CompositorFrameSwappedACK,
269 int /* instance_id */, 268 int /* browser_plugin_instance_id */,
270 FrameHostMsg_CompositorFrameSwappedACK_Params /* params */) 269 FrameHostMsg_CompositorFrameSwappedACK_Params /* params */)
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_impl.cc ('k') | content/public/browser/browser_plugin_guest_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698