Remove supervised users from behind the flag
[chromium-blink-merge.git] / chrome / common / automation_messages_internal.h
blob0625ef9aa5c9d6d56fccabef233f4a89bafa4fee
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
3 // found in the LICENSE file.
5 // Defines the IPC messages used by the automation interface.
7 // NOTE: All IPC messages have either a routing_id of 0 (for asynchronous
8 // messages), or one that's been assigned by the proxy (for calls
9 // which expect a response). The routing_id shouldn't be used for
10 // any other purpose in these message types.
12 // NOTE: All the new IPC messages should go at the end.
13 // The test <--> browser IPC message IDs need to match the reference
14 // builds. Since we now define the IDs based on __LINE__, to allow these
15 // IPC messages to be used to control an old version of Chrome we need
16 // the message IDs to remain the same. This means that you should not
17 // change the line number of these types of messages.
20 #define IPC_MESSAGE_START AutomationMsgStart
22 // This message is fired when the AutomationProvider is up and running
23 // in the app (the app is not fully up at this point). The parameter to this
24 // message is the version string of the automation provider. This parameter
25 // is defined to be the version string as returned by
26 // chrome::VersionInfo::Version().
27 // The client can choose to use this version string to decide whether or not
28 // it can talk to the provider.
29 IPC_MESSAGE_CONTROL1(AutomationMsg_Hello,
30 std::string)
32 // This message is fired when the initial tab(s) are finished loading.
33 IPC_MESSAGE_CONTROL0(AutomationMsg_InitialLoadsComplete)
35 // This message notifies the AutomationProvider to append a new tab the
36 // window with the given handle. The return value contains the index of
37 // the new tab, or -1 if the request failed.
38 // The second parameter is the url to be loaded in the new tab.
39 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_AppendTab,
40 int,
41 GURL,
42 int)
44 // This message requests the (zero-based) index for the currently
45 // active tab in the window with the given handle. The return value contains
46 // the index of the active tab, or -1 if the request failed.
47 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ActiveTabIndex,
48 int,
49 int)
51 // This message notifies the AutomationProvider to active the tab.
52 // The first parameter is the handle to window resource.
53 // The second parameter is the (zero-based) index to be activated
54 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_ActivateTab,
55 int,
56 int,
57 int)
59 // This message requests the cookie value for given url in the
60 // profile of the tab identified by the second parameter. The first
61 // parameter is the URL string. The response contains the length of the
62 // cookie value string. On failure, this length = -1.
63 IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_GetCookies,
64 GURL,
65 int,
66 int,
67 std::string)
69 // This message notifies the AutomationProvider to set and broadcast a cookie
70 // with given name and value for the given url in the profile of the tab
71 // identified by the third parameter. The first parameter is the URL
72 // string, and the second parameter is the cookie name and value to be set.
73 // The return value is a non-negative value on success.
74 IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DEPRECATED_SetCookie,
75 GURL,
76 std::string,
77 int,
78 int)
80 // This message is used to implement the asynchronous version of
81 // NavigateToURL.
82 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_NavigationAsync,
83 int /* tab handle */,
84 GURL,
85 bool /* result */)
87 // This message requests the number of browser windows that the app currently
88 // has open. The return value is the number of windows.
89 IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_BrowserWindowCount,
90 int)
92 // This message requests the handle (int64 app-unique identifier) of the
93 // window with the given (zero-based) index. On error, the returned handle
94 // value is 0.
95 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BrowserWindow,
96 int,
97 int)
99 // This message requests the number of tabs in the window with the given
100 // handle. The return value contains the number of tabs, or -1 if the
101 // request failed.
102 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TabCount,
103 int,
104 int)
106 // This message requests the handle of the tab with the given (zero-based)
107 // index in the given app window. First parameter specifies the given window
108 // handle, second specifies the given tab_index. On error, the returned handle
109 // value is 0.
110 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_Tab,
111 int,
112 int,
113 int)
115 // This message requests the the title of the tab with the given handle.
116 // The return value contains the size of the title string. On error, this
117 // value should be -1 and empty string. Note that the title can be empty in
118 // which case the size would be 0.
119 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_TabTitle,
120 int,
121 int,
122 std::wstring)
124 // This message requests the url of the tab with the given handle.
125 // The return value contains a success flag and the URL string. The URL will
126 // be empty on failure, and it still may be empty on success.
127 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_TabURL,
128 int /* tab handle */,
129 bool /* success flag */,
130 GURL)
132 // This message notifies the AutomationProxy that a handle that it has
133 // previously been given is now invalid. (For instance, if the handle
134 // represented a window which has now been closed.) The parameter
135 // value is the handle.
136 IPC_MESSAGE_CONTROL1(AutomationMsg_InvalidateHandle,
137 int)
139 // This message notifies the AutomationProvider that a handle is no
140 // longer being used, so it can stop paying attention to the
141 // associated resource. The parameter value is the handle.
142 IPC_MESSAGE_CONTROL1(AutomationMsg_HandleUnused,
143 int)
145 // This message requests that the AutomationProvider executes a JavaScript,
146 // which is sent embedded in a 'javascript:' URL.
147 // The javascript is executed in context of child frame whose xpath
148 // is passed as parameter (context_frame). The execution results in
149 // a serialized JSON string response.
150 IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DomOperation,
151 int /* tab handle */,
152 std::wstring /* context_frame */,
153 std::wstring /* the javascript to be executed */,
154 std::string /* the serialized json string containg
155 the result of a javascript
156 execution */)
158 // Is the Download Shelf visible for the specified browser?
159 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DEPRECATED_ShelfVisibility,
160 int /* browser_handle */,
161 bool /* is_visible */)
163 // This message requests the bounds of the specified View element in
164 // window coordinates.
165 // Request:
166 // int - the handle of the window in which the view appears
167 // int - the ID of the view, as specified in chrome/browser/ui/view_ids.h
168 // bool - whether the bounds should be returned in the screen coordinates
169 // (if true) or in the browser coordinates (if false).
170 // Response:
171 // bool - true if the view was found
172 // gfx::Rect - the bounds of the view, in window coordinates
173 IPC_SYNC_MESSAGE_CONTROL3_2(AutomationMsg_WindowViewBounds,
174 int,
175 int,
176 bool,
177 bool,
178 gfx::Rect)
180 // This message sets the bounds of the window.
181 // Request:
182 // int - the handle of the window to resize
183 // gfx::Rect - the bounds of the window
184 // Response:
185 // bool - true if the resize was successful
186 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_SetWindowBounds,
187 int,
188 gfx::Rect,
189 bool)
191 // TODO(port): Port these messages.
193 // This message requests that a drag be performed in window coordinate space
194 // Request:
195 // int - the handle of the window that's the context for this drag
196 // std::vector<gfx::Point> - the path of the drag in window coordinate
197 // space; it should have at least 2 points
198 // (start and end)
199 // int - the flags which identify the mouse button(s) for the drag, as
200 // defined in chrome/views/event.h
201 // Response:
202 // bool - true if the drag could be performed
203 IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_DEPRECATED_WindowDrag,
204 int,
205 std::vector<gfx::Point>,
206 int,
207 bool,
208 bool)
210 // Similar to AutomationMsg_InitialLoadsComplete, this indicates that the
211 // new tab ui has completed the initial load of its data.
212 // Time is how many milliseconds the load took.
213 IPC_MESSAGE_CONTROL1(AutomationMsg_InitialNewTabUILoadComplete,
214 int /* time */)
216 // This tells the browser to enable or disable the filtered network layer.
217 IPC_MESSAGE_CONTROL1(AutomationMsg_DEPRECATED_SetFilteredInet,
218 bool /* enabled */)
220 // Gets the directory that downloads will occur in for the active profile.
221 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DEPRECATED_DownloadDirectory,
222 int /* tab_handle */,
223 base::FilePath /* directory */)
225 // Opens a new browser window.
226 // TODO(sky): remove this and replace with OpenNewBrowserWindowOfType.
227 // Doing this requires updating the reference build.
228 IPC_SYNC_MESSAGE_CONTROL1_0(AutomationMsg_OpenNewBrowserWindow,
229 bool /* show */ )
231 // This message requests the handle (int64 app-unique identifier) of the
232 // current active top window. On error, the returned handle value is 0.
233 IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_DEPRECATED_ActiveWindow,
234 int)
236 // This message requests the window associated with the specified browser
237 // handle.
238 // The return value contains a success flag and the handle of the window.
239 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_WindowForBrowser,
240 int /* browser handle */,
241 bool /* success flag */,
242 int /* window handle */)
244 // This message requests that a key press be performed.
245 // Request:
246 // int - the handle of the window that's the context for this click
247 // int - the ui::KeyboardCode of the key that was pressed.
248 // int - the flags which identify the modifiers (shift, ctrl, alt)
249 // associated for, as defined in chrome/views/event.h
250 IPC_MESSAGE_CONTROL3(AutomationMsg_DEPRECATED_WindowKeyPress,
251 int,
252 int,
253 int)
254 #if defined(OS_WIN)
255 // This message notifies the AutomationProvider to create a tab which is
256 // hosted by an external process.
257 // Request:
258 // ExternalTabSettings - settings for external tab
259 IPC_SYNC_MESSAGE_CONTROL1_4(AutomationMsg_CreateExternalTab,
260 ExternalTabSettings /* settings*/,
261 HWND /* Tab container window */,
262 HWND /* Tab window */,
263 int /* Handle to the new tab */,
264 int /* Session Id of the new tab */)
265 #endif // defined(OS_WIN)
266 // This message notifies the AutomationProvider to navigate to a specified
267 // url in the external tab with given handle. The first parameter is the
268 // handle to the tab resource. The second parameter is the target url.
269 // The third parameter is the referrer.
270 // The return value contains a status code which is nonnegative on success.
271 // see AutomationMsg_NavigationResponseValues for the navigation response.
272 IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_NavigateInExternalTab,
273 int,
274 GURL,
275 GURL,
276 AutomationMsg_NavigationResponseValues)
278 // This message is an outgoing message from Chrome to an external host.
279 // It is a notification that the NavigationState was changed
280 // Request:
281 // -int: The flags specifying what changed
282 // (see content::InvalidateTypes)
283 // Response:
284 // None expected
285 IPC_MESSAGE_ROUTED2(AutomationMsg_NavigationStateChanged,
286 int, // content::InvalidateTypes
287 NavigationInfo) // title, url etc.
289 // This message is an outgoing message from Chrome to an external host.
290 // It is a notification that the target URL has changed (the target URL
291 // is the URL of the link that the user is hovering on)
292 // Request:
293 // -std::wstring: The new target URL
294 // Response:
295 // None expected
296 IPC_MESSAGE_ROUTED1(AutomationMsg_UpdateTargetUrl,
297 std::wstring)
300 // This message requests that a tab be closed.
301 // Request:
302 // - int: handle of the tab to close
303 // - bool: if true the proxy blocks until the tab has completely closed,
304 // otherwise the proxy only blocks until it initiates the close.
305 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_CloseTab,
306 int,
307 bool,
308 bool)
310 // This message requests that the browser be closed.
311 // Request:
312 // - int: handle of the browser which contains the tab
313 // Response:
314 // - bool: whether the operation was successfull.
315 // - bool: whether the browser process will be terminated as a result (if
316 // this was the last closed browser window).
317 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_CloseBrowser,
318 int,
319 bool,
320 bool)
322 #if defined(OS_WIN)
323 // TODO(port): Port these messages.
325 // This message is an outgoing message from Chrome to an external host.
326 // It is a request to process a keyboard accelerator.
327 // Request:
328 // -MSG: The keyboard message
329 // Response:
330 // None expected
331 // TODO(sanjeevr): Ideally we need to add a response from the external
332 // host saying whether it processed the accelerator
333 IPC_MESSAGE_ROUTED1(AutomationMsg_HandleAccelerator,
334 MSG)
336 // This message is sent by the container of an externally hosted tab to
337 // reflect any accelerator keys that it did not process. This gives the
338 // tab a chance to handle the keys
339 // Request:
340 // - int: handle of the tab
341 // -MSG: The keyboard message that the container did not handle
342 // Response:
343 // None expected
344 IPC_MESSAGE_CONTROL2(AutomationMsg_ProcessUnhandledAccelerator,
345 int,
346 MSG)
347 #endif // defined(OS_WIN)
349 // Sent by the external tab to the host to notify that the user has tabbed
350 // out of the tab.
351 // Request:
352 // - bool: |reverse| set to true when shift-tabbing out of the tab, false
353 // otherwise.
354 // Response:
355 // None expected
356 IPC_MESSAGE_ROUTED1(AutomationMsg_TabbedOut,
357 bool)
359 // Sent by the external tab host to ask focus to be set to either the first
360 // or last element on the page.
361 // Request:
362 // - int: handle of the tab
363 // - bool: |reverse|
364 // true: Focus will be set to the last focusable element
365 // false: Focus will be set to the first focusable element
366 // - bool: |restore_focus_to_view|
367 // true: The renderer view associated with the current tab will be
368 // infomed that it is receiving focus.
369 // Response:
370 // None expected
371 IPC_MESSAGE_CONTROL3(AutomationMsg_SetInitialFocus,
372 int,
373 bool,
374 bool)
376 // This message is an outgoing message from Chrome to an external host.
377 // It is a request to open a url
378 // Request:
379 // -GURL: The URL to open
380 // -GURL: The referrer
381 // -int: The WindowOpenDisposition that specifies where the URL should
382 // be opened (new tab, new window etc).
383 // Response:
384 // None expected
385 IPC_MESSAGE_ROUTED3(AutomationMsg_OpenURL,
386 GURL,
387 GURL,
388 int)
390 // This message requests the provider to wait until the specified tab has
391 // finished restoring after session restore.
392 // Request:
393 // - int: handle of the tab
394 // Response:
395 // - bool: whether the operation was successful.
396 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DEPRECATED_WaitForTabToBeRestored,
397 int, bool)
399 // This message is an outgoing message from Chrome to an external host.
400 // It is a notification that a navigation happened
401 // Request:
403 // Response:
404 // None expected
405 IPC_MESSAGE_ROUTED1(AutomationMsg_DidNavigate,
406 NavigationInfo)
408 // This message requests the different security states of the page displayed
409 // in the specified tab.
410 // Request:
411 // - int: handle of the tab
412 // Response:
413 // - bool: whether the operation was successful.
414 // - SecurityStyle: the security style of the tab.
415 // - net::CertStatus: the status of the server's ssl cert (0 means no errors or
416 // no ssl was used).
417 // - int: the insecure content state, 0 means no insecure contents.
419 IPC_SYNC_MESSAGE_CONTROL1_4(AutomationMsg_DEPRECATED_GetSecurityState,
420 int,
421 bool,
422 content::SecurityStyle,
423 net::CertStatus,
424 int)
426 // This message requests the page type of the page displayed in the specified
427 // tab (normal, error or interstitial).
428 // Request:
429 // - int: handle of the tab
430 // Response:
431 // - bool: whether the operation was successful.
432 // - PageType: the type of the page currently displayed.
433 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_DEPRECATED_GetPageType,
434 int,
435 bool,
436 content::PageType)
438 // This message simulates the user action on the SSL blocking page showing in
439 // the specified tab. This message is only effective if an interstitial page
440 // is showing in the tab.
441 // Request:
442 // - int: handle of the tab
443 // - bool: whether to proceed or abort the navigation
444 // Response:
445 // - AutomationMsg_NavigationResponseValues: result of the operation.
446 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_DEPRECATED_ActionOnSSLBlockingPage,
447 int,
448 bool,
449 AutomationMsg_NavigationResponseValues)
451 // Message to request that a browser window is brought to the front and
452 // activated.
453 // Request:
454 // - int: handle of the browser window.
455 // Response:
456 // - bool: True if the browser is brought to the front.
457 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BringBrowserToFront,
458 int,
459 bool)
461 // Message to request whether a certain item is enabled of disabled in the
462 // menu in the browser window
464 // Request:
465 // - int: handle of the browser window.
466 // - int: IDC message identifier to query if enabled
467 // Response:
468 // - bool: True if the command is enabled on the menu
469 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_DEPRECATED_IsMenuCommandEnabled,
470 int,
471 int,
472 bool)
474 // This message notifies the AutomationProvider to reload the current page in
475 // the tab with given handle. The first parameter is the handle to the tab
476 // resource. The return value contains a status code which is nonnegative on
477 // success.
478 // see AutomationMsg_NavigationResponseValues for the navigation response.
479 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_Reload,
480 int,
481 AutomationMsg_NavigationResponseValues)
483 // This message requests the execution of a browser command in the browser
484 // for which the handle is specified.
485 // The return value contains a boolean, whether the command was dispatched.
486 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WindowExecuteCommandAsync,
487 int /* automation handle */,
488 int /* browser command */,
489 bool /* success flag */)
491 // This message requests the execution of a browser command in the browser
492 // for which the handle is specified.
493 // The return value contains a boolean, whether the command was dispatched
494 // and successful executed.
495 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WindowExecuteCommand,
496 int /* automation handle */,
497 int /* browser command */,
498 bool /* success flag */)
501 // This message opens the Find window within a tab corresponding to the
502 // supplied tab handle.
503 IPC_MESSAGE_CONTROL1(AutomationMsg_DEPRECATED_OpenFindInPage,
504 int /* tab_handle */)
506 // Posts a message from external host to chrome renderer.
507 IPC_MESSAGE_CONTROL4(AutomationMsg_HandleMessageFromExternalHost,
508 int /* automation handle */,
509 std::string /* message */,
510 std::string /* origin */,
511 std::string /* target */)
513 // A message for an external host.
514 IPC_MESSAGE_ROUTED3(AutomationMsg_ForwardMessageToExternalHost,
515 std::string /* message */,
516 std::string /* origin */,
517 std::string /* target */)
519 // This message starts a find within a tab corresponding to the supplied
520 // tab handle. The parameter |request| specifies what to search for.
521 // If an error occurs, |matches_found| will be -1.
523 IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_Find,
524 int /* tab_handle */,
525 AutomationMsg_Find_Params /* params */,
526 int /* active_ordinal */,
527 int /* matches_found */)
529 // Is the Find window fully visible (and not animating) for the specified
530 // tab?
531 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_FindWindowVisibility,
532 int /* tab_handle */,
533 bool /* is_visible */)
535 // Gets the bookmark bar visibility, animating and detached states.
536 // TODO(phajdan.jr): Adjust the last param when the reference build is updated.
537 IPC_SYNC_MESSAGE_CONTROL1_3(AutomationMsg_BookmarkBarVisibility,
538 int /* browser_handle */,
539 bool, /* is_visible */
540 bool, /* still_animating */ bool /* is_detached */)
542 // Uses the specified encoding to override the encoding of the page in the
543 // specified web content tab.
544 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_OverrideEncoding,
545 int /* tab handle */,
546 std::string /* overrided encoding name */,
547 bool /* success */)
549 // This message is an outgoing message from Chrome to an external host.
550 // It is a notification that a navigation failed
551 // Request:
552 // -int : The status code.
553 // -GURL: The URL we failed to navigate to.
554 // Response:
555 // None expected
556 IPC_MESSAGE_ROUTED2(AutomationMsg_NavigationFailed,
557 int,
558 GURL)
560 #if defined(OS_WIN)
561 // This message is an outgoing message from an automation client to Chrome.
562 // It is used to reposition a chrome tab window.
563 IPC_MESSAGE_CONTROL2(AutomationMsg_TabReposition,
564 int /* tab handle */,
565 Reposition_Params /* SetWindowPos params */)
566 #endif // defined(OS_WIN)
568 // Tab load complete
569 IPC_MESSAGE_ROUTED1(AutomationMsg_TabLoaded,
570 GURL)
572 // This message requests the tabstrip index of the tab with the given handle.
573 // The return value contains the index, which will be -1 on failure.
574 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TabIndex,
575 int,
576 int)
578 // This message requests the handle (int64 app-unique identifier) of
579 // a valid tabbed browser window, i.e. normal type and non-incognito mode.
580 // On error, the returned handle value is 0.
581 IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_DEPRECATED_FindTabbedBrowserWindow,
582 int)
584 // This message requests the number of normal browser windows, i.e. normal
585 // type and non-incognito mode that the app currently has open. The return
586 // value is the number of windows.
587 IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_NormalBrowserWindowCount,
588 int)
590 // This message tells the browser to start using the new proxy configuration
591 // represented by the given JSON string. The parameters used in the JSON
592 // string are defined in automation_constants.h.
593 IPC_MESSAGE_CONTROL1(AutomationMsg_SetProxyConfig,
594 std::string /* proxy_config_json_string */)
596 // Sets Download Shelf visibility for the specified browser.
597 IPC_SYNC_MESSAGE_CONTROL2_0(AutomationMsg_DEPRECATED_SetShelfVisibility,
598 int /* browser_handle */,
599 bool /* is_visible */)
601 #if defined(OS_WIN)
602 IPC_MESSAGE_ROUTED3(AutomationMsg_ForwardContextMenuToExternalHost,
603 ContextMenuModel /* description of menu */,
604 int /* align flags */,
605 MiniContextMenuParams /* params */)
607 IPC_MESSAGE_CONTROL2(AutomationMsg_ForwardContextMenuCommandToChrome,
608 int /* tab_handle */,
609 int /* selected_command */)
610 #endif // OS_WIN
612 // A URL request to be fetched via automation
613 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestStart,
614 int /* request_id */,
615 AutomationURLRequest /* request */)
617 // Read data from a URL request to be fetched via automation
618 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestRead,
619 int /* request_id */,
620 int /* bytes_to_read */)
622 // Response to a AutomationMsg_RequestStart message
623 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestStarted,
624 int /* request_id */,
625 AutomationURLResponse /* response */)
627 // Data read via automation
628 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestData,
629 int /* request_id */,
630 std::string /* data */)
632 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestEnd,
633 int /* request_id */,
634 net::URLRequestStatus /* status */)
636 IPC_MESSAGE_CONTROL1(AutomationMsg_PrintAsync,
637 int /* tab_handle */)
639 IPC_MESSAGE_ROUTED2(AutomationMsg_SetCookieAsync,
640 GURL /* url */,
641 std::string /* cookie */)
643 IPC_MESSAGE_CONTROL1(AutomationMsg_SelectAll,
644 int /* tab handle */)
646 IPC_MESSAGE_CONTROL1(AutomationMsg_Cut,
647 int /* tab handle */)
649 IPC_MESSAGE_CONTROL1(AutomationMsg_Copy,
650 int /* tab handle */)
652 IPC_MESSAGE_CONTROL1(AutomationMsg_Paste,
653 int /* tab handle */)
655 IPC_MESSAGE_CONTROL1(AutomationMsg_ReloadAsync,
656 int /* tab handle */)
658 IPC_MESSAGE_CONTROL1(AutomationMsg_StopAsync,
659 int /* tab handle */)
661 // This message notifies the AutomationProvider to navigate to a specified
662 // url in the tab with given handle. The first parameter is the handle to
663 // the tab resource. The second parameter is the target url. The third
664 // parameter is the number of navigations that are required for a successful
665 // return value. See AutomationMsg_NavigationResponseValues for the return
666 // value.
667 IPC_SYNC_MESSAGE_CONTROL3_1(
668 AutomationMsg_NavigateToURLBlockUntilNavigationsComplete,
669 int,
670 GURL,
671 int,
672 AutomationMsg_NavigationResponseValues)
674 // This message notifies the AutomationProvider to navigate to a specified
675 // navigation entry index in the external tab with given handle. The first
676 // parameter is the handle to the tab resource. The second parameter is the
677 // index of navigation entry.
678 // The return value contains a status code which is nonnegative on success.
679 // see AutomationMsg_NavigationResponseValues for the navigation response.
680 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_NavigateExternalTabAtIndex,
681 int,
682 int,
683 AutomationMsg_NavigationResponseValues)
685 // This message requests the provider to wait until the window count
686 // reached the specified value.
687 // Request:
688 // - int: target browser window count
689 // Response:
690 // - bool: whether the operation was successful.
691 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForBrowserWindowCountToBecome,
692 int,
693 bool)
695 // This message notifies the AutomationProvider to navigate back in session
696 // history in the tab with given handle. The first parameter is the handle
697 // to the tab resource. The second parameter is the number of navigations the
698 // provider will wait for.
699 // See AutomationMsg_NavigationResponseValues for the navigation response
700 // values.
701 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_GoBackBlockUntilNavigationsComplete,
702 int,
703 int,
704 AutomationMsg_NavigationResponseValues)
706 // This message notifies the AutomationProvider to navigate forward in session
707 // history in the tab with given handle. The first parameter is the handle
708 // to the tab resource. The second parameter is the number of navigations
709 // the provider will wait for.
710 // See AutomationMsg_NavigationResponseValues for the navigation response
711 // values.
712 IPC_SYNC_MESSAGE_CONTROL2_1(
713 AutomationMsg_GoForwardBlockUntilNavigationsComplete,
714 int,
715 int,
716 AutomationMsg_NavigationResponseValues)
718 IPC_MESSAGE_ROUTED1(AutomationMsg_AttachExternalTab,
719 AttachExternalTabParams)
720 #if defined(OS_WIN)
721 // Sent when the automation client connects to an existing tab.
722 IPC_SYNC_MESSAGE_CONTROL3_4(AutomationMsg_ConnectExternalTab,
723 uint64 /* cookie */,
724 bool /* allow/block tab*/,
725 HWND /* parent window */,
726 HWND /* Tab container window */,
727 HWND /* Tab window */,
728 int /* Handle to the new tab */,
729 int /* Session Id of the new tab */)
730 #endif // defined(OS_WIN)
731 // Simulate an end of session. Normally this happens when the user
732 // shuts down the machine or logs off.
733 // Request:
734 // int - the handle of the browser
735 // Response:
736 // bool - true if succesful
737 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TerminateSession,
738 int,
739 bool)
741 IPC_MESSAGE_CONTROL2(AutomationMsg_SetPageFontSize,
742 int /* tab_handle */,
743 int /* The font size */)
745 // Returns a metric event duration that was last recorded. Returns -1 if the
746 // event hasn't occurred yet.
747 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetMetricEventDuration,
748 std::string /* event_name */,
749 int /* duration ms */)
751 // Sent by automation provider - go to history entry via automation.
752 IPC_MESSAGE_ROUTED1(AutomationMsg_RequestGoToHistoryEntryOffset,
753 int) // numbers of entries (negative or positive)
755 // This message requests the type of the window with the given handle. The
756 // return value contains the type (Browser::Type), or -1 if the request
757 // failed.
758 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_Type,
759 int,
760 int)
762 // Opens a new browser window of a specific type.
763 IPC_SYNC_MESSAGE_CONTROL2_0(AutomationMsg_OpenNewBrowserWindowOfType,
764 int /* Type (Browser::Type) */,
765 bool /* show */ )
767 // This message requests that the mouse be moved to this location, in
768 // window coordinate space.
769 // Request:
770 // int - the handle of the window that's the context for this click
771 // gfx::Point - the location to move to
772 IPC_MESSAGE_CONTROL2(AutomationMsg_DEPRECATED_WindowMouseMove,
773 int,
774 gfx::Point)
776 // Called when requests should be downloaded using a host browser's
777 // download mechanism when chrome is being embedded.
778 IPC_MESSAGE_ROUTED1(AutomationMsg_DownloadRequestInHost,
779 int /* request_id */)
781 IPC_MESSAGE_CONTROL1(AutomationMsg_SaveAsAsync,
782 int /* tab handle */)
784 #if defined(OS_WIN)
785 // An incoming message from an automation host to Chrome. Signals that
786 // the browser containing |tab_handle| has moved.
787 IPC_MESSAGE_CONTROL1(AutomationMsg_BrowserMove,
788 int /* tab handle */)
789 #endif
791 // Used to get cookies for the given URL.
792 IPC_MESSAGE_ROUTED2(AutomationMsg_GetCookiesFromHost,
793 GURL /* url */,
794 int /* opaque_cookie_id */)
796 IPC_MESSAGE_CONTROL5(AutomationMsg_GetCookiesHostResponse,
797 int /* tab_handle */,
798 bool /* success */,
799 GURL /* url */,
800 std::string /* cookies */,
801 int /* opaque_cookie_id */)
803 // Return the bookmarks encoded as a JSON string.
804 IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_DEPRECATED_GetBookmarksAsJSON,
805 int /* browser_handle */,
806 std::string /* bookmarks as a JSON string */,
807 bool /* success */)
809 // Wait for the bookmark model to load.
810 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForBookmarkModelToLoad,
811 int /* browser_handle */,
812 bool /* success */)
814 // Bookmark addition, modification, and removal.
815 // Bookmarks are indexed by their id.
816 IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_DEPRECATED_AddBookmarkGroup,
817 int /* browser_handle */,
818 int64 /* parent_id */,
819 int /* index */,
820 std::wstring /* title */,
821 bool /* success */)
822 IPC_SYNC_MESSAGE_CONTROL5_1(AutomationMsg_DEPRECATED_AddBookmarkURL,
823 int /* browser_handle */,
824 int64 /* parent_id */,
825 int /* index */,
826 std::wstring /* title */,
827 GURL /* url */,
828 bool /* success */)
829 IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_DEPRECATED_ReparentBookmark,
830 int /* browser_handle */,
831 int64 /* id */,
832 int64 /* new_parent_id */,
833 int /* index */,
834 bool /* success */)
835 IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DEPRECATED_SetBookmarkTitle,
836 int /* browser_handle */,
837 int64 /* id */,
838 std::wstring /* title */,
839 bool /* success */)
840 IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DEPRECATED_SetBookmarkURL,
841 int /* browser_handle */,
842 int64 /* id */,
843 GURL /* url */,
844 bool /* success */)
845 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_DEPRECATED_RemoveBookmark,
846 int /* browser_handle */,
847 int64 /* id */,
848 bool /* success */)
850 // This message informs the browser process to remove the history entries
851 // for the specified types across all time ranges. See
852 // browsing_data_remover.h for a list of REMOVE_* types supported in the
853 // remove_mask parameter.
854 IPC_MESSAGE_CONTROL1(AutomationMsg_RemoveBrowsingData,
855 int)
857 // Generic pyauto pattern to help avoid future addition of
858 // automation messages.
859 IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_SendJSONRequestWithBrowserHandle,
860 int /* browser_handle */,
861 std::string /* JSON request */,
862 std::string /* JSON response */,
863 bool /* success */)
865 // Resets to the default theme.
866 IPC_SYNC_MESSAGE_CONTROL0_0(AutomationMsg_DEPRECATED_ResetToDefaultTheme)
868 // This message requests the external tab identified by the tab handle
869 // passed in be closed.
870 // Request:
871 // Response:
872 // None expected
873 IPC_MESSAGE_ROUTED0(AutomationMsg_CloseExternalTab)
875 // This message requests that the external tab identified by the tab handle
876 // runs unload handlers if any on the current page.
877 // Request:
878 // -int: Tab handle
879 // -bool: result: true->unload, false->don't unload
880 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_RunUnloadHandlers,
881 int,
882 bool)
884 // This message sets the current zoom level on the tab
885 // Request:
886 // -int: Tab handle
887 // -int: Zoom level. Values ZOOM_OUT = -1, RESET = 0, ZOOM_IN = 1
888 // Response:
889 // None expected
890 IPC_MESSAGE_CONTROL2(AutomationMsg_SetZoomLevel,
891 int,
892 int)
894 // Waits for tab count to reach target value.
895 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WaitForTabCountToBecome,
896 int /* browser handle */,
897 int /* target tab count */,
898 bool /* success */)
900 // Waits for the infobar count to reach given number.
901 IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WaitForInfoBarCount,
902 int /* tab handle */,
903 size_t /* target count */,
904 bool /* success */)
906 // Notify the JavaScript engine in the render to change its parameters
907 // while performing stress testing.
908 IPC_MESSAGE_CONTROL3(AutomationMsg_JavaScriptStressTestControl,
909 int /* tab handle */,
910 int /* command */,
911 int /* type or run */)
913 // This message posts a task to the PROCESS_LAUNCHER thread. Once processed
914 // the response is sent back. This is useful when you want to make sure all
915 // changes to the number of processes have completed.
916 IPC_SYNC_MESSAGE_CONTROL0_0(AutomationMsg_WaitForProcessLauncherThreadToGoIdle)
918 // This message is an outgoing message from Chrome to an external host.
919 // It is a notification that a popup window position or dimentions have
920 // changed
921 // Request:
922 // gfx::Rect - the bounds of the window
923 // Response:
924 // None expected
925 IPC_MESSAGE_ROUTED1(AutomationMsg_MoveWindow,
926 gfx::Rect /* window position and dimentions */)
928 // Call BeginTracing on the browser TraceController. This will tell all
929 // processes to start collecting trace events via base/debug/trace_event.h.
930 IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BeginTracing,
931 std::string /* category_patterns */,
932 bool /* success */)
934 // End tracing (called after BeginTracing). This blocks until tracing has
935 // stopped on all processes and all the events are ready to be retrieved.
936 IPC_SYNC_MESSAGE_CONTROL0_2(AutomationMsg_EndTracing,
937 base::FilePath /* result_file_path */,
938 bool /* success */)
940 // Used on Mac OS X to read the number of active Mach ports used in the browser
941 // process.
942 IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_GetMachPortCount,
943 int /* number of Mach ports */)
945 // Generic pyauto pattern to help avoid future addition of
946 // automation messages.
947 IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_SendJSONRequest,
948 int /* window_index */,
949 std::string /* JSON request */,
950 std::string /* JSON response */,
951 bool /* success */)