| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // Defines the IPC messages used by the automation interface. | 5 // Defines the IPC messages used by the automation interface. |
| 6 | 6 |
| 7 // This header is meant to be included in multiple passes, hence no traditional | |
| 8 // header guard. | |
| 9 // See ipc_message_macros.h for explanation of the macros and passes. | |
| 10 | |
| 11 #include <string> | 7 #include <string> |
| 12 #include <vector> | 8 #include <vector> |
| 13 | 9 |
| 14 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 15 #include "base/string16.h" | 11 #include "base/string16.h" |
| 16 #include "chrome/common/content_settings.h" | 12 #include "chrome/common/content_settings.h" |
| 17 #include "chrome/common/navigation_types.h" | 13 #include "chrome/common/navigation_types.h" |
| 18 #include "chrome/test/automation/autocomplete_edit_proxy.h" | 14 #include "chrome/test/automation/autocomplete_edit_proxy.h" |
| 19 #include "gfx/point.h" | 15 #include "gfx/point.h" |
| 20 #include "gfx/rect.h" | 16 #include "gfx/rect.h" |
| 21 #include "googleurl/src/gurl.h" | 17 #include "googleurl/src/gurl.h" |
| 22 #include "ipc/ipc_message_macros.h" | 18 #include "ipc/ipc_message_macros.h" |
| 23 #include "net/url_request/url_request_status.h" | 19 #include "net/url_request/url_request_status.h" |
| 24 | 20 |
| 25 // NOTE: All IPC messages have either a routing_id of 0 (for asynchronous | 21 // NOTE: All IPC messages have either a routing_id of 0 (for asynchronous |
| 26 // messages), or one that's been assigned by the proxy (for calls | 22 // messages), or one that's been assigned by the proxy (for calls |
| 27 // which expect a response). The routing_id shouldn't be used for | 23 // which expect a response). The routing_id shouldn't be used for |
| 28 // any other purpose in these message types. | 24 // any other purpose in these message types. |
| 29 | 25 |
| 30 // NOTE: All the new IPC messages should go at the end (before IPC_END_MESSAGES) | 26 // NOTE: All the new IPC messages should go at the end |
| 31 // The IPC message IDs are part of an enum and hence the value | 27 // The IPC message IDs need to match the reference builds. Since right |
| 32 // assumed to be constant across the builds may change. | 28 // now we define the IDs based on __LINE__, you can't change the line |
| 33 // The messages AutomationMsg_WindowHWND* in particular should not change | 29 // numbers of existing messages. This will be fixed when Xcode supports |
| 34 // since the PageCyclerReferenceTest depends on the correctness of the | 30 // __COUNTER__, and we can switch the IPC macros to use it. |
| 35 // message IDs across the builds. | 31 |
| 36 | 32 #define IPC_MESSAGE_START AutomationMsgStart |
| 37 IPC_BEGIN_MESSAGES(Automation) | 33 |
| 38 | 34 // This message is fired when the AutomationProvider is up and running |
| 39 // This message is fired when the AutomationProvider is up and running | 35 // in the app (the app is not fully up at this point). The parameter to this |
| 40 // in the app (the app is not fully up at this point). The parameter to this | 36 // message is the version string of the automation provider. This parameter |
| 41 // message is the version string of the automation provider. This parameter | 37 // is defined to be the version string as returned by |
| 42 // is defined to be the version string as returned by | 38 // chrome::VersionInfo::Version(). |
| 43 // chrome::VersionInfo::Version(). | 39 // The client can choose to use this version string to decide whether or not |
| 44 // The client can choose to use this version string to decide whether or not | 40 // it can talk to the provider. |
| 45 // it can talk to the provider. | 41 IPC_MESSAGE_ROUTED1(AutomationMsg_Hello, std::string) |
| 46 IPC_MESSAGE_ROUTED1(AutomationMsg_Hello, std::string) | 42 |
| 47 | 43 // This message is fired when the initial tab(s) are finished loading. |
| 48 // This message is fired when the initial tab(s) are finished loading. | 44 IPC_MESSAGE_ROUTED0(AutomationMsg_InitialLoadsComplete) |
| 49 IPC_MESSAGE_ROUTED0(AutomationMsg_InitialLoadsComplete) | 45 |
| 50 | 46 // This message notifies the AutomationProvider to append a new tab the |
| 51 // This message notifies the AutomationProvider to append a new tab the | 47 // window with the given handle. The return value contains the index of |
| 52 // window with the given handle. The return value contains the index of | 48 // the new tab, or -1 if the request failed. |
| 53 // the new tab, or -1 if the request failed. | 49 // The second parameter is the url to be loaded in the new tab. |
| 54 // The second parameter is the url to be loaded in the new tab. | 50 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_AppendTab, int, GURL, int) |
| 55 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_AppendTab, int, GURL, int) | 51 |
| 56 | 52 // This message requests the (zero-based) index for the currently |
| 57 // This message requests the (zero-based) index for the currently | 53 // active tab in the window with the given handle. The return value contains |
| 58 // active tab in the window with the given handle. The return value contains | 54 // the index of the active tab, or -1 if the request failed. |
| 59 // the index of the active tab, or -1 if the request failed. | 55 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ActiveTabIndex, int, int) |
| 60 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ActiveTabIndex, int, int) | 56 |
| 61 | 57 // This message notifies the AutomationProvider to active the tab. |
| 62 // This message notifies the AutomationProvider to active the tab. | 58 // The first parameter is the handle to window resource. |
| 63 // The first parameter is the handle to window resource. | 59 // The second parameter is the (zero-based) index to be activated |
| 64 // The second parameter is the (zero-based) index to be activated | 60 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ActivateTab, int, int, int) |
| 65 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ActivateTab, int, int, int) | 61 |
| 66 | 62 // This message requests the cookie value for given url in the |
| 67 // This message requests the cookie value for given url in the | 63 // profile of the tab identified by the second parameter. The first |
| 68 // profile of the tab identified by the second parameter. The first | 64 // parameter is the URL string. The response contains the length of the |
| 69 // parameter is the URL string. The response contains the length of the | 65 // cookie value string. On failure, this length = -1. |
| 70 // cookie value string. On failure, this length = -1. | 66 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetCookies, GURL, int, |
| 71 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetCookies, GURL, int, | 67 int, std::string) |
| 72 int, std::string) | 68 |
| 73 | 69 // This message notifies the AutomationProvider to set and broadcast a cookie |
| 74 // 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 |
| 75 // 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 |
| 76 // 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. |
| 77 // 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. |
| 78 // The return value is a non-negative value on success. | 74 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetCookie, GURL, std::string, |
| 79 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetCookie, GURL, std::string, | 75 int, int) |
| 80 int, int) | 76 |
| 81 | 77 // This message notifies the AutomationProvider to navigate to a specified |
| 82 // This message notifies the AutomationProvider to navigate to a specified | 78 // url in the tab with given handle. The first parameter is the handle to |
| 83 // url in the tab with given handle. The first parameter is the handle to | 79 // the tab resource. The second parameter is the target url. The return |
| 84 // the tab resource. The second parameter is the target url. The return | 80 // value contains a status code which is nonnegative on success. |
| 85 // value contains a status code which is nonnegative on success. | 81 // See AutomationMsg_NavigationResponseValues for the return value. |
| 86 // See AutomationMsg_NavigationResponseValues for the return value. | 82 // |
| 87 // | 83 // Deprecated in favor of |
| 88 // Deprecated in favor of | 84 // AutomationMsg_NavigateToURLBlockUntilNavigationsComplete. |
| 89 // AutomationMsg_NavigateToURLBlockUntilNavigationsComplete. | 85 // TODO(phajdan.jr): Remove when the reference build gets updated. |
| 90 // TODO(phajdan.jr): Remove when the reference build gets updated. | 86 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigateToURL, int, GURL, |
| 91 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigateToURL, int, GURL, | 87 AutomationMsg_NavigationResponseValues) |
| 92 AutomationMsg_NavigationResponseValues) | 88 |
| 93 | 89 // This message is used to implement the asynchronous version of |
| 94 // This message is used to implement the asynchronous version of | 90 // NavigateToURL. |
| 95 // NavigateToURL. | 91 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigationAsync, |
| 96 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigationAsync, | 92 int /* tab handle */, |
| 97 int /* tab handle */, | 93 GURL, |
| 98 GURL, | 94 bool /* result */) |
| 99 bool /* result */) | 95 |
| 100 | 96 // This message notifies the AutomationProvider to navigate back in session |
| 101 // This message notifies the AutomationProvider to navigate back in session | 97 // history in the tab with given handle. The first parameter is the handle |
| 102 // history in the tab with given handle. The first parameter is the handle | 98 // to the tab resource. |
| 103 // to the tab resource. | 99 // See AutomationMsg_NavigationResponseValues for the navigation response |
| 104 // See AutomationMsg_NavigationResponseValues for the navigation response | 100 // values. |
| 105 // values. | 101 // |
| 106 // | 102 // Deprecated in favor of AutomationMsg_GoBackBlockUntilNavigationsComplete. |
| 107 // Deprecated in favor of AutomationMsg_GoBackBlockUntilNavigationsComplete. | 103 // TODO(phajdan.jr): Remove when the reference build gets updated. |
| 108 // TODO(phajdan.jr): Remove when the reference build gets updated. | 104 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GoBack, int, |
| 109 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GoBack, int, | 105 AutomationMsg_NavigationResponseValues) |
| 110 AutomationMsg_NavigationResponseValues) | 106 |
| 111 | 107 // This message notifies the AutomationProvider to navigate forward in session |
| 112 // This message notifies the AutomationProvider to navigate forward in session | 108 // history in the tab with given handle. The first parameter is the handle |
| 113 // history in the tab with given handle. The first parameter is the handle | 109 // to the tab resource. |
| 114 // to the tab resource. | 110 // See AutomationMsg_NavigationResponseValues for the navigation response |
| 115 // See AutomationMsg_NavigationResponseValues for the navigation response | 111 // values. |
| 116 // values. | 112 // |
| 117 // | 113 // Deprecated in favor of |
| 118 // Deprecated in favor of | 114 // AutomationMsg_GoForwardBlockUntilNavigationsComplete. |
| 119 // AutomationMsg_GoForwardBlockUntilNavigationsComplete. | 115 // TODO(phajdan.jr): Remove when the reference build gets updated. |
| 120 // TODO(phajdan.jr): Remove when the reference build gets updated. | 116 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GoForward, int, |
| 121 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GoForward, int, | 117 AutomationMsg_NavigationResponseValues) |
| 122 AutomationMsg_NavigationResponseValues) | 118 |
| 123 | 119 // This message requests the number of browser windows that the app currently |
| 124 // This message requests the number of browser windows that the app currently | 120 // has open. The return value is the number of windows. |
| 125 // has open. The return value is the number of windows. | 121 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_BrowserWindowCount, int) |
| 126 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_BrowserWindowCount, int) | 122 |
| 127 | 123 // This message requests the handle (int64 app-unique identifier) of the |
| 128 // This message requests the handle (int64 app-unique identifier) of the | 124 // window with the given (zero-based) index. On error, the returned handle |
| 129 // window with the given (zero-based) index. On error, the returned handle | 125 // value is 0. |
| 130 // value is 0. | 126 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BrowserWindow, int, int) |
| 131 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BrowserWindow, int, int) | 127 |
| 132 | 128 // This message requests the number of tabs in the window with the given |
| 133 // This message requests the number of tabs in the window with the given | 129 // handle. The return value contains the number of tabs, or -1 if the |
| 134 // handle. The return value contains the number of tabs, or -1 if the | 130 // request failed. |
| 135 // request failed. | 131 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabCount, int, int) |
| 136 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabCount, int, int) | 132 |
| 137 | 133 // This message requests the handle of the tab with the given (zero-based) |
| 138 // This message requests the handle of the tab with the given (zero-based) | 134 // index in the given app window. First parameter specifies the given window |
| 139 // index in the given app window. First parameter specifies the given window | 135 // handle, second specifies the given tab_index. On error, the returned handle |
| 140 // handle, second specifies the given tab_index. On error, the returned handle | 136 // value is 0. |
| 141 // value is 0. | 137 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_Tab, int, int, int) |
| 142 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_Tab, int, int, int) | 138 |
| 143 | 139 // This message requests the the title of the tab with the given handle. |
| 144 // This message requests the the title of the tab with the given handle. | 140 // The return value contains the size of the title string. On error, this |
| 145 // The return value contains the size of the title string. On error, this | 141 // value should be -1 and empty string. Note that the title can be empty in |
| 146 // value should be -1 and empty string. Note that the title can be empty in | 142 // which case the size would be 0. |
| 147 // which case the size would be 0. | 143 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_TabTitle, |
| 148 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_TabTitle, | 144 int, |
| 149 int, | 145 int, |
| 150 int, | 146 std::wstring) |
| 151 std::wstring) | 147 |
| 152 | 148 // This message requests the url of the tab with the given handle. |
| 153 // This message requests the url of the tab with the given handle. | 149 // The return value contains a success flag and the URL string. The URL will |
| 154 // The return value contains a success flag and the URL string. The URL will | 150 // be empty on failure, and it still may be empty on success. |
| 155 // be empty on failure, and it still may be empty on success. | 151 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_TabURL, |
| 156 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_TabURL, | 152 int /* tab handle */, |
| 157 int /* tab handle */, | 153 bool /* success flag */, |
| 158 bool /* success flag */, | 154 GURL) |
| 159 GURL) | 155 |
| 156 // This message notifies the AutomationProxy that a handle that it has |
| 157 // previously been given is now invalid. (For instance, if the handle |
| 158 // represented a window which has now been closed.) The parameter |
| 159 // value is the handle. |
| 160 IPC_MESSAGE_ROUTED1(AutomationMsg_InvalidateHandle, int) |
| 161 |
| 162 // This message notifies the AutomationProvider that a handle is no |
| 163 // longer being used, so it can stop paying attention to the |
| 164 // associated resource. The parameter value is the handle. |
| 165 IPC_MESSAGE_ROUTED1(AutomationMsg_HandleUnused, int) |
| 166 |
| 167 // This message tells the AutomationProvider to provide the given |
| 168 // authentication data to the specified tab, in response to an HTTP/FTP |
| 169 // authentication challenge. |
| 170 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetAuth, |
| 171 int, // tab handle |
| 172 std::wstring, // username |
| 173 std::wstring, // password |
| 174 AutomationMsg_NavigationResponseValues) // status |
| 175 |
| 176 // This message tells the AutomationProvider to cancel the login in the |
| 177 // specified tab. |
| 178 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_CancelAuth, |
| 179 int, // tab handle |
| 180 AutomationMsg_NavigationResponseValues) // status |
| 181 |
| 182 // Requests that the automation provider ask history for the most recent |
| 183 // chain of redirects coming from the given URL. The response must be |
| 184 // decoded by the caller manually; it contains an integer indicating the |
| 185 // number of URLs, followed by that many wstrings indicating a chain of |
| 186 // redirects. On failure, the count will be negative. |
| 187 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_RedirectsFrom, |
| 188 int, // tab handle |
| 189 GURL, // source URL |
| 190 bool /* succeeded */, |
| 191 std::vector<GURL> /* redirects */) |
| 192 |
| 193 // This message asks the AutomationProvider whether a tab is waiting for |
| 194 // login info. |
| 195 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_NeedsAuth, |
| 196 int, // tab handle |
| 197 bool) // status |
| 198 |
| 199 // This message requests the AutomationProvider to apply a certain |
| 200 // accelerator. It is completely asynchronous with the resulting accelerator |
| 201 // action. |
| 202 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_ApplyAccelerator, |
| 203 int, // window handle |
| 204 int) // accelerator id like (IDC_BACK, |
| 205 // IDC_FORWARD, etc) |
| 206 // The list can be found at |
| 207 // chrome/app/chrome_command_ids.h |
| 208 |
| 209 // This message requests that the AutomationProvider executes a JavaScript, |
| 210 // which is sent embedded in a 'javascript:' URL. |
| 211 // The javascript is executed in context of child frame whose xpath |
| 212 // is passed as parameter (context_frame). The execution results in |
| 213 // a serialized JSON string response. |
| 214 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_DomOperation, |
| 215 int, // tab handle |
| 216 std::wstring, // context_frame |
| 217 std::wstring, // the javascript to be executed |
| 218 std::string) // the serialized json string |
| 219 // containing the result of a |
| 220 // javascript execution |
| 221 |
| 222 // Is the Download Shelf visible for the specified browser? |
| 223 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShelfVisibility, |
| 224 int /* browser_handle */, |
| 225 bool /* is_visible */) |
| 226 |
| 227 // This message requests the number of constrained windows in the tab with |
| 228 // the given handle. The return value contains the number of constrained |
| 229 // windows, or -1 if the request failed. |
| 230 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ConstrainedWindowCount, |
| 231 int /* tab_handle */, |
| 232 int /* constrained_window_count */) |
| 233 |
| 234 // This message requests the bounds of the specified View element in |
| 235 // window coordinates. |
| 236 // Request: |
| 237 // int - the handle of the window in which the view appears |
| 238 // int - the ID of the view, as specified in chrome/browser/ui/view_ids.h |
| 239 // bool - whether the bounds should be returned in the screen coordinates |
| 240 // (if true) or in the browser coordinates (if false). |
| 241 // Response: |
| 242 // bool - true if the view was found |
| 243 // gfx::Rect - the bounds of the view, in window coordinates |
| 244 IPC_SYNC_MESSAGE_ROUTED3_2(AutomationMsg_WindowViewBounds, int, int, |
| 245 bool, bool, gfx::Rect) |
| 246 |
| 247 // This message sets the bounds of the window. |
| 248 // Request: |
| 249 // int - the handle of the window to resize |
| 250 // gfx::Rect - the bounds of the window |
| 251 // Response: |
| 252 // bool - true if the resize was successful |
| 253 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_SetWindowBounds, int, gfx::Rect, |
| 254 bool) |
| 160 | 255 |
| 161 #if defined(OS_WIN) | 256 #if defined(OS_WIN) |
| 162 // TODO(estade): delete this unused message. | 257 // TODO(port): Port these messages. |
| 163 IPC_SYNC_MESSAGE_ROUTED0_0(AutomationMsg_WindowHWND) | 258 // |
| 164 | 259 // This message requests that a drag be performed in window coordinate space |
| 165 // This message requests the HWND of the tab that corresponds | 260 // Request: |
| 166 // to the given automation handle. | 261 // int - the handle of the window that's the context for this drag |
| 167 // The return value contains the HWND value, which is 0 if the call fails. | 262 // std::vector<gfx::Point> - the path of the drag in window coordinate |
| 168 // | 263 // space; it should have at least 2 points |
| 169 // TODO(estade): The only test that uses this message is | 264 // (start and end) |
| 170 // NPAPIVisiblePluginTester.SelfDeletePluginInvokeInSynchronousMouseMove. It | 265 // int - the flags which identify the mouse button(s) for the drag, as |
| 171 // can probably be done in another way, and this can be removed. | 266 // defined in chrome/views/event.h |
| 172 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabHWND, | 267 // Response: |
| 173 int /* tab_handle */, | 268 // bool - true if the drag could be performed |
| 174 HWND /* win32 Window Handle */) | 269 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_WindowDrag, |
| 270 int, std::vector<gfx::Point>, int, bool, bool) |
| 175 #endif // defined(OS_WIN) | 271 #endif // defined(OS_WIN) |
| 176 | 272 |
| 177 // This message notifies the AutomationProxy that a handle that it has | 273 // Similar to AutomationMsg_InitialLoadsComplete, this indicates that the |
| 178 // previously been given is now invalid. (For instance, if the handle | 274 // new tab ui has completed the initial load of its data. |
| 179 // represented a window which has now been closed.) The parameter | 275 // Time is how many milliseconds the load took. |
| 180 // value is the handle. | 276 IPC_MESSAGE_ROUTED1(AutomationMsg_InitialNewTabUILoadComplete, |
| 181 IPC_MESSAGE_ROUTED1(AutomationMsg_InvalidateHandle, int) | 277 int /* time */) |
| 182 | 278 |
| 183 // This message notifies the AutomationProvider that a handle is no | 279 // This message starts a find within a tab corresponding to the supplied |
| 184 // longer being used, so it can stop paying attention to the | 280 // tab handle. The return value contains the number of matches found on the |
| 185 // associated resource. The parameter value is the handle. | 281 // page within the tab specified. The parameter 'search_string' specifies |
| 186 IPC_MESSAGE_ROUTED1(AutomationMsg_HandleUnused, int) | 282 // what string to search for, 'forward' specifies whether to search in |
| 187 | 283 // forward direction (1=forward, 0=back), 'match_case' specifies case |
| 188 // This message tells the AutomationProvider to provide the given | 284 // sensitivity |
| 189 // authentication data to the specified tab, in response to an HTTP/FTP | 285 // (1=case sensitive, 0=case insensitive). If an error occurs, matches_found |
| 190 // authentication challenge. | 286 // will be -1. |
| 191 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetAuth, | 287 // |
| 192 int, // tab handle | 288 // NOTE: This message has been deprecated, please use the new message |
| 193 std::wstring, // username | 289 // AutomationMsg_Find below. |
| 194 std::wstring, // password | 290 // |
| 195 AutomationMsg_NavigationResponseValues) // status | 291 IPC_SYNC_MESSAGE_ROUTED4_2(AutomationMsg_FindInPage, // DEPRECATED. |
| 196 | 292 int, /* tab_handle */ |
| 197 // This message tells the AutomationProvider to cancel the login in the | 293 std::wstring, /* find_request */ |
| 198 // specified tab. | 294 int, /* forward */ |
| 199 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_CancelAuth, | 295 int /* match_case */, |
| 200 int, // tab handle | 296 int /* active_ordinal */, |
| 201 AutomationMsg_NavigationResponseValues) // status | 297 int /* matches_found */) |
| 202 | 298 |
| 203 // Requests that the automation provider ask history for the most recent | 299 // This message sends a inspect element request for a given tab. The response |
| 204 // chain of redirects coming from the given URL. The response must be | 300 // contains the number of resources loaded by the inspector controller. |
| 205 // decoded by the caller manually; it contains an integer indicating the | 301 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_InspectElement, |
| 206 // number of URLs, followed by that many wstrings indicating a chain of | 302 int, /* tab_handle */ |
| 207 // redirects. On failure, the count will be negative. | 303 int, /* x */ |
| 208 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_RedirectsFrom, | 304 int /* y */, |
| 209 int, // tab handle | 305 int) |
| 210 GURL, // source URL | 306 |
| 211 bool /* succeeded */, | 307 // This message requests the process ID of the tab that corresponds |
| 212 std::vector<GURL> /* redirects */) | 308 // to the given automation handle. |
| 213 | 309 // The return value has an integer corresponding to the PID of the tab's |
| 214 // This message asks the AutomationProvider whether a tab is waiting for | 310 // renderer, 0 if the tab currently has no renderer process, or -1 on error. |
| 215 // login info. | 311 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabProcessID, |
| 216 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_NeedsAuth, | 312 int /* tab_handle */, |
| 217 int, // tab handle | 313 int /* process ID */) |
| 218 bool) // status | 314 |
| 219 | 315 // This tells the browser to enable or disable the filtered network layer. |
| 220 // This message requests the AutomationProvider to apply a certain | 316 IPC_MESSAGE_ROUTED1(AutomationMsg_SetFilteredInet, |
| 221 // accelerator. It is completely asynchronous with the resulting accelerator | 317 bool /* enabled */) |
| 222 // action. | 318 |
| 223 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_ApplyAccelerator, | 319 // Gets the directory that downloads will occur in for the active profile. |
| 224 int, // window handle | 320 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_DownloadDirectory, |
| 225 int) // accelerator id like (IDC_BACK, | 321 int /* tab_handle */, |
| 226 // IDC_FORWARD, etc) | 322 FilePath /* directory */) |
| 227 // The list can be found at | 323 |
| 228 // chrome/app/chrome_command_ids.h | 324 // This message requests the id of the view that has the focus in the |
| 229 | 325 // specified window. If no view is focused, -1 is returned. Note that the |
| 230 // This message requests that the AutomationProvider executes a JavaScript, | 326 // window should either be a ViewWindow or a Browser. |
| 231 // which is sent embedded in a 'javascript:' URL. | 327 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetFocusedViewID, |
| 232 // The javascript is executed in context of child frame whose xpath | 328 int /* view_handle */, |
| 233 // is passed as parameter (context_frame). The execution results in | 329 int /* focused_view_id */) |
| 234 // a serialized JSON string response. | 330 |
| 235 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_DomOperation, | 331 // This message shows/hides the window. |
| 236 int, // tab handle | 332 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_SetWindowVisible, |
| 237 std::wstring, // context_frame | 333 int /* view_handle */, |
| 238 std::wstring, // the javascript to be executed | 334 bool /* visible */, |
| 239 std::string) // the serialized json string | 335 bool /* success */) |
| 240 // containing the result of a | 336 |
| 241 // javascript execution | 337 // Gets the active status of a window. |
| 242 | 338 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_IsWindowActive, |
| 243 // Is the Download Shelf visible for the specified browser? | 339 int /* view_handle */, |
| 244 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShelfVisibility, | 340 bool /* success */, |
| 245 int /* browser_handle */, | 341 bool /* active */) |
| 246 bool /* is_visible */) | 342 |
| 247 | 343 // Makes the specified window the active window. |
| 248 // This message requests the number of constrained windows in the tab with | 344 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_ActivateWindow, |
| 249 // the given handle. The return value contains the number of constrained | 345 int /* view_handle */) |
| 250 // windows, or -1 if the request failed. | 346 |
| 251 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ConstrainedWindowCount, | 347 // Opens a new browser window. |
| 252 int /* tab_handle */, | 348 // TODO(sky): remove this and replace with OpenNewBrowserWindowOfType. |
| 253 int /* constrained_window_count */) | 349 // Doing this requires updating the reference build. |
| 254 | 350 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_OpenNewBrowserWindow, |
| 255 // This message requests the bounds of the specified View element in | 351 bool /* show */ ) |
| 256 // window coordinates. | 352 |
| 257 // Request: | 353 // This message requests the handle (int64 app-unique identifier) of the |
| 258 // int - the handle of the window in which the view appears | 354 // current active top window. On error, the returned handle value is 0. |
| 259 // int - the ID of the view, as specified in chrome/browser/ui/view_ids.h | 355 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_ActiveWindow, int) |
| 260 // bool - whether the bounds should be returned in the screen coordinates | 356 |
| 261 // (if true) or in the browser coordinates (if false). | 357 // This message requests the browser associated with the specified window |
| 262 // Response: | 358 // handle. |
| 263 // bool - true if the view was found | 359 // The return value contains a success flag and the handle of the browser. |
| 264 // gfx::Rect - the bounds of the view, in window coordinates | 360 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_BrowserForWindow, |
| 265 IPC_SYNC_MESSAGE_ROUTED3_2(AutomationMsg_WindowViewBounds, int, int, | 361 int /* window handle */, |
| 266 bool, bool, gfx::Rect) | 362 bool /* success flag */, |
| 267 | 363 int /* browser handle */) |
| 268 // This message sets the bounds of the window. | 364 |
| 269 // Request: | 365 // This message requests the window associated with the specified browser |
| 270 // int - the handle of the window to resize | 366 // handle. |
| 271 // gfx::Rect - the bounds of the window | 367 // The return value contains a success flag and the handle of the window. |
| 272 // Response: | 368 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_WindowForBrowser, |
| 273 // bool - true if the resize was successful | 369 int /* browser handle */, |
| 274 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_SetWindowBounds, int, gfx::Rect, | 370 bool /* success flag */, |
| 275 bool) | 371 int /* window handle */) |
| 372 |
| 373 // This message requests the AutocompleteEdit associated with the specified |
| 374 // browser handle. |
| 375 // The return value contains a success flag and the handle of the omnibox. |
| 376 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditForBrowser, |
| 377 int /* browser handle */, |
| 378 bool /* success flag */, |
| 379 int /* AutocompleteEdit handle */) |
| 276 | 380 |
| 277 #if defined(OS_WIN) | 381 #if defined(OS_WIN) |
| 278 // TODO(port): Port these messages. | 382 // TODO(estade): This message is defined later on for Mac and Linux. This is |
| 279 // | 383 // to avoid adding a new IPC in the middle for those platforms (see comment |
| 280 // This message requests that a drag be performed in window coordinate space | 384 // at top). The message is exactly the same, so they should be remerged when |
| 281 // Request: | 385 // all messages in this file have been made cross-platform (at which point we |
| 282 // int - the handle of the window that's the context for this drag | 386 // will need to check in new reference builds). |
| 283 // std::vector<gfx::Point> - the path of the drag in window coordinate | 387 // |
| 284 // space; it should have at least 2 points | 388 // This message requests that a mouse click be performed in window coordinate |
| 285 // (start and end) | 389 // space. |
| 286 // int - the flags which identify the mouse button(s) for the drag, as | 390 // Request: |
| 287 // defined in chrome/views/event.h | 391 // int - the handle of the window that's the context for this click |
| 288 // Response: | 392 // gfx::Point - the point to click |
| 289 // bool - true if the drag could be performed | 393 // int - the flags which identify the mouse button(s) for the click, as |
| 290 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_WindowDrag, | 394 // defined in chrome/views/event.h |
| 291 int, std::vector<gfx::Point>, int, bool, bool) | 395 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowClick, int, gfx::Point, int) |
| 292 #endif // defined(OS_WIN) | 396 #endif // defined(OS_WIN) |
| 293 | 397 |
| 294 // Similar to AutomationMsg_InitialLoadsComplete, this indicates that the | 398 // This message requests that a key press be performed. |
| 295 // new tab ui has completed the initial load of its data. | 399 // Request: |
| 296 // Time is how many milliseconds the load took. | 400 // int - the handle of the window that's the context for this click |
| 297 IPC_MESSAGE_ROUTED1(AutomationMsg_InitialNewTabUILoadComplete, | 401 // int - the app::KeyboardCode of the key that was pressed. |
| 298 int /* time */) | 402 // int - the flags which identify the modifiers (shift, ctrl, alt) |
| 299 | 403 // associated for, as defined in chrome/views/event.h |
| 300 // This message starts a find within a tab corresponding to the supplied | 404 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowKeyPress, int, int, int) |
| 301 // tab handle. The return value contains the number of matches found on the | 405 |
| 302 // page within the tab specified. The parameter 'search_string' specifies | 406 // This message notifies the AutomationProvider to create a tab which is |
| 303 // what string to search for, 'forward' specifies whether to search in | 407 // hosted by an external process. |
| 304 // forward direction (1=forward, 0=back), 'match_case' specifies case | 408 // Request: |
| 305 // sensitivity | 409 // ExternalTabSettings - settings for external tab |
| 306 // (1=case sensitive, 0=case insensitive). If an error occurs, matches_found | 410 IPC_SYNC_MESSAGE_ROUTED1_4(AutomationMsg_CreateExternalTab, |
| 307 // will be -1. | 411 IPC::ExternalTabSettings /* settings*/, |
| 308 // | 412 gfx::NativeWindow /* Tab container window */, |
| 309 // NOTE: This message has been deprecated, please use the new message | 413 gfx::NativeWindow /* Tab window */, |
| 310 // AutomationMsg_Find below. | 414 int /* Handle to the new tab */, |
| 311 // | 415 int /* Session Id of the new tab */) |
| 312 IPC_SYNC_MESSAGE_ROUTED4_2(AutomationMsg_FindInPage, // DEPRECATED. | 416 |
| 313 int, /* tab_handle */ | 417 // This message notifies the AutomationProvider to navigate to a specified |
| 314 std::wstring, /* find_request */ | 418 // url in the external tab with given handle. The first parameter is the |
| 315 int, /* forward */ | 419 // handle to the tab resource. The second parameter is the target url. |
| 316 int /* match_case */, | 420 // The third parameter is the referrer. |
| 317 int /* active_ordinal */, | 421 // The return value contains a status code which is nonnegative on success. |
| 318 int /* matches_found */) | 422 // see AutomationMsg_NavigationResponseValues for the navigation response. |
| 319 | 423 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_NavigateInExternalTab, |
| 320 // This message sends a inspect element request for a given tab. The response | 424 int, |
| 321 // contains the number of resources loaded by the inspector controller. | 425 GURL, |
| 322 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_InspectElement, | 426 GURL, |
| 323 int, /* tab_handle */ | 427 AutomationMsg_NavigationResponseValues) |
| 324 int, /* x */ | 428 |
| 325 int /* y */, | 429 // This message is an outgoing message from Chrome to an external host. |
| 326 int) | 430 // It is a notification that the NavigationState was changed |
| 327 | 431 // Request: |
| 328 // This message requests the process ID of the tab that corresponds | 432 // -int: The flags specifying what changed |
| 329 // to the given automation handle. | 433 // (see TabContents::InvalidateTypes) |
| 330 // The return value has an integer corresponding to the PID of the tab's | 434 // Response: |
| 331 // renderer, 0 if the tab currently has no renderer process, or -1 on error. | 435 // None expected |
| 332 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabProcessID, | 436 IPC_MESSAGE_ROUTED3(AutomationMsg_NavigationStateChanged, |
| 333 int /* tab_handle */, | 437 int, // tab handle |
| 334 int /* process ID */) | 438 int, // TabContents::InvalidateTypes |
| 335 | 439 IPC::NavigationInfo) // title, url etc. |
| 336 // This tells the browser to enable or disable the filtered network layer. | 440 |
| 337 IPC_MESSAGE_ROUTED1(AutomationMsg_SetFilteredInet, | 441 // This message is an outgoing message from Chrome to an external host. |
| 338 bool /* enabled */) | 442 // It is a notification that the target URL has changed (the target URL |
| 339 | 443 // is the URL of the link that the user is hovering on) |
| 340 // Gets the directory that downloads will occur in for the active profile. | 444 // Request: |
| 341 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_DownloadDirectory, | 445 // -int: The tab handle |
| 342 int /* tab_handle */, | 446 // -std::wstring: The new target URL |
| 343 FilePath /* directory */) | 447 // Response: |
| 344 | 448 // None expected |
| 345 // This message requests the id of the view that has the focus in the | 449 IPC_MESSAGE_ROUTED2(AutomationMsg_UpdateTargetUrl, int, std::wstring) |
| 346 // specified window. If no view is focused, -1 is returned. Note that the | 450 |
| 347 // window should either be a ViewWindow or a Browser. | 451 // This message notifies the AutomationProvider to show the specified html |
| 348 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetFocusedViewID, | 452 // text in an interstitial page in the tab with given handle. The first |
| 349 int /* view_handle */, | 453 // parameter is the handle to the tab resource. The second parameter is the |
| 350 int /* focused_view_id */) | 454 // html text to be displayed. |
| 351 | 455 // The return value contains a success flag. |
| 352 // This message shows/hides the window. | 456 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ShowInterstitialPage, |
| 353 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_SetWindowVisible, | 457 int, |
| 354 int /* view_handle */, | 458 std::string, |
| 355 bool /* visible */, | 459 AutomationMsg_NavigationResponseValues) |
| 356 bool /* success */) | 460 |
| 357 | 461 // This message notifies the AutomationProvider to hide the current |
| 358 // Gets the active status of a window. | 462 // interstitial page in the tab with given handle. The parameter is the |
| 359 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_IsWindowActive, | 463 // handle to the tab resource. |
| 360 int /* view_handle */, | 464 // The return value contains a success flag. |
| 361 bool /* success */, | 465 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_HideInterstitialPage, int, |
| 362 bool /* active */) | 466 bool) |
| 363 | 467 |
| 364 // Makes the specified window the active window. | 468 // This message requests that a tab be closed. |
| 365 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_ActivateWindow, | 469 // Request: |
| 366 int /* view_handle */) | 470 // - int: handle of the tab to close |
| 367 | 471 // - bool: if true the proxy blocks until the tab has completely closed, |
| 368 // Opens a new browser window. | 472 // otherwise the proxy only blocks until it initiates the close. |
| 369 // TODO(sky): remove this and replace with OpenNewBrowserWindowOfType. | 473 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_CloseTab, int, bool, bool) |
| 370 // Doing this requires updating the reference build. | 474 |
| 371 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_OpenNewBrowserWindow, | 475 // This message requests that the browser be closed. |
| 372 bool /* show */ ) | 476 // Request: |
| 373 | 477 // - int: handle of the browser which contains the tab |
| 374 // This message requests the handle (int64 app-unique identifier) of the | 478 // Response: |
| 375 // current active top window. On error, the returned handle value is 0. | 479 // - bool: whether the operation was successfull. |
| 376 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_ActiveWindow, int) | 480 // - bool: whether the browser process will be terminated as a result (if |
| 377 | 481 // this was the last closed browser window). |
| 378 // This message requests the browser associated with the specified window | 482 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_CloseBrowser, int, bool, |
| 379 // handle. | 483 bool) |
| 380 // The return value contains a success flag and the handle of the browser. | 484 |
| 381 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_BrowserForWindow, | 485 IPC_MESSAGE_ROUTED1(AutomationMsg_CloseBrowserRequestAsync, int) |
| 382 int /* window handle */, | 486 |
| 383 bool /* success flag */, | 487 // Unused. |
| 384 int /* browser handle */) | 488 // Response: |
| 385 | 489 // None expected |
| 386 // This message requests the window associated with the specified browser | 490 IPC_MESSAGE_ROUTED1(AutomationMsg_Unused, int) |
| 387 // handle. | |
| 388 // The return value contains a success flag and the handle of the window. | |
| 389 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_WindowForBrowser, | |
| 390 int /* browser handle */, | |
| 391 bool /* success flag */, | |
| 392 int /* window handle */) | |
| 393 | |
| 394 // This message requests the AutocompleteEdit associated with the specified | |
| 395 // browser handle. | |
| 396 // The return value contains a success flag and the handle of the omnibox. | |
| 397 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditForBrowser, | |
| 398 int /* browser handle */, | |
| 399 bool /* success flag */, | |
| 400 int /* AutocompleteEdit handle */) | |
| 401 | 491 |
| 402 #if defined(OS_WIN) | 492 #if defined(OS_WIN) |
| 403 // TODO(estade): This message is defined later on for Mac and Linux. This is | 493 // TODO(port): Port these messages. |
| 404 // to avoid adding a new IPC in the middle for those platforms (see comment | 494 // |
| 405 // at top). The message is exactly the same, so they should be remerged when | 495 // This message is an outgoing message from Chrome to an external host. |
| 406 // all messages in this file have been made cross-platform (at which point we | 496 // It is a request to process a keyboard accelerator. |
| 407 // will need to check in new reference builds). | 497 // Request: |
| 408 // | 498 // -int: Tab handle |
| 409 // This message requests that a mouse click be performed in window coordinate | 499 // -MSG: The keyboard message |
| 410 // space. | 500 // Response: |
| 411 // Request: | 501 // None expected |
| 412 // int - the handle of the window that's the context for this click | 502 // TODO(sanjeevr): Ideally we need to add a response from the external |
| 413 // gfx::Point - the point to click | 503 // host saying whether it processed the accelerator |
| 414 // int - the flags which identify the mouse button(s) for the click, as | 504 IPC_MESSAGE_ROUTED2(AutomationMsg_HandleAccelerator, int, MSG) |
| 415 // defined in chrome/views/event.h | 505 |
| 416 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowClick, int, gfx::Point, int) | 506 // This message is sent by the container of an externally hosted tab to |
| 507 // reflect any accelerator keys that it did not process. This gives the |
| 508 // tab a chance to handle the keys |
| 509 // Request: |
| 510 // - int: handle of the tab |
| 511 // -MSG: The keyboard message that the container did not handle |
| 512 // Response: |
| 513 // None expected |
| 514 IPC_MESSAGE_ROUTED2(AutomationMsg_ProcessUnhandledAccelerator, int, MSG) |
| 417 #endif // defined(OS_WIN) | 515 #endif // defined(OS_WIN) |
| 418 | 516 |
| 419 // This message requests that a key press be performed. | 517 // Sent by the external tab to the host to notify that the user has tabbed |
| 420 // Request: | 518 // out of the tab. |
| 421 // int - the handle of the window that's the context for this click | 519 // Request: |
| 422 // int - the app::KeyboardCode of the key that was pressed. | 520 // - int: Tab handle |
| 423 // int - the flags which identify the modifiers (shift, ctrl, alt) | 521 // - bool: |reverse| set to true when shift-tabbing out of the tab, false |
| 424 // associated for, as defined in chrome/views/event.h | 522 // otherwise. |
| 425 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowKeyPress, int, int, int) | 523 // Response: |
| 426 | 524 // None expected |
| 427 // This message notifies the AutomationProvider to create a tab which is | 525 IPC_MESSAGE_ROUTED2(AutomationMsg_TabbedOut, int, bool) |
| 428 // hosted by an external process. | 526 |
| 429 // Request: | 527 // Sent by the external tab host to ask focus to be set to either the first |
| 430 // ExternalTabSettings - settings for external tab | 528 // or last element on the page. |
| 431 IPC_SYNC_MESSAGE_ROUTED1_4(AutomationMsg_CreateExternalTab, | 529 // Request: |
| 432 IPC::ExternalTabSettings /* settings*/, | 530 // - int: handle of the tab |
| 433 gfx::NativeWindow /* Tab container window */, | 531 // - bool: |reverse| |
| 434 gfx::NativeWindow /* Tab window */, | 532 // true: Focus will be set to the last focusable element |
| 435 int /* Handle to the new tab */, | 533 // false: Focus will be set to the first focusable element |
| 436 int /* Session Id of the new tab */) | 534 // - bool: |restore_focus_to_view| |
| 437 | 535 // true: The renderer view associated with the current tab will be |
| 438 // This message notifies the AutomationProvider to navigate to a specified | 536 // infomed that it is receiving focus. |
| 439 // url in the external tab with given handle. The first parameter is the | 537 // Response: |
| 440 // handle to the tab resource. The second parameter is the target url. | 538 // None expected |
| 441 // The third parameter is the referrer. | 539 IPC_MESSAGE_ROUTED3(AutomationMsg_SetInitialFocus, int, bool, bool) |
| 442 // The return value contains a status code which is nonnegative on success. | 540 |
| 443 // see AutomationMsg_NavigationResponseValues for the navigation response. | 541 // This message is an outgoing message from Chrome to an external host. |
| 444 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_NavigateInExternalTab, | 542 // It is a request to open a url |
| 445 int, | 543 // Request: |
| 446 GURL, | 544 // -int: Tab handle |
| 447 GURL, | 545 // -GURL: The URL to open |
| 448 AutomationMsg_NavigationResponseValues) | 546 // -GURL: The referrer |
| 449 | 547 // -int: The WindowOpenDisposition that specifies where the URL should |
| 450 // This message is an outgoing message from Chrome to an external host. | 548 // be opened (new tab, new window etc). |
| 451 // It is a notification that the NavigationState was changed | 549 // Response: |
| 452 // Request: | 550 // None expected |
| 453 // -int: The flags specifying what changed | 551 IPC_MESSAGE_ROUTED4(AutomationMsg_OpenURL, int, GURL, GURL, int) |
| 454 // (see TabContents::InvalidateTypes) | 552 |
| 455 // Response: | 553 // This message requests the provider to wait until the specified tab has |
| 456 // None expected | 554 // finished restoring after session restore. |
| 457 IPC_MESSAGE_ROUTED3(AutomationMsg_NavigationStateChanged, | 555 // Request: |
| 458 int, // tab handle | 556 // - int: handle of the tab |
| 459 int, // TabContents::InvalidateTypes | 557 // Response: |
| 460 IPC::NavigationInfo) // title, url etc. | 558 // - bool: whether the operation was successful. |
| 461 | 559 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_WaitForTabToBeRestored, int) |
| 462 // This message is an outgoing message from Chrome to an external host. | 560 |
| 463 // It is a notification that the target URL has changed (the target URL | 561 // This message is an outgoing message from Chrome to an external host. |
| 464 // is the URL of the link that the user is hovering on) | 562 // It is a notification that a navigation happened |
| 465 // Request: | 563 // Request: |
| 466 // -int: The tab handle | 564 // -int: Tab handle |
| 467 // -std::wstring: The new target URL | 565 // |
| 468 // Response: | 566 // Response: |
| 469 // None expected | 567 // None expected |
| 470 IPC_MESSAGE_ROUTED2(AutomationMsg_UpdateTargetUrl, int, std::wstring) | 568 IPC_MESSAGE_ROUTED2(AutomationMsg_DidNavigate, int, IPC::NavigationInfo) |
| 471 | 569 |
| 472 // This message notifies the AutomationProvider to show the specified html | 570 // This message requests the different security states of the page displayed |
| 473 // text in an interstitial page in the tab with given handle. The first | 571 // in the specified tab. |
| 474 // parameter is the handle to the tab resource. The second parameter is the | 572 // Request: |
| 475 // html text to be displayed. | 573 // - int: handle of the tab |
| 476 // The return value contains a success flag. | 574 // Response: |
| 477 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ShowInterstitialPage, | 575 // - bool: whether the operation was successful. |
| 478 int, | 576 // - SecurityStyle: the security style of the tab. |
| 479 std::string, | 577 // - int: the status of the server's ssl cert (0 means no errors or no ssl |
| 480 AutomationMsg_NavigationResponseValues) | 578 // was used). |
| 481 | 579 // - int: the insecure content state, 0 means no insecure contents. |
| 482 // This message notifies the AutomationProvider to hide the current | 580 |
| 483 // interstitial page in the tab with given handle. The parameter is the | 581 IPC_SYNC_MESSAGE_ROUTED1_4(AutomationMsg_GetSecurityState, |
| 484 // handle to the tab resource. | 582 int, |
| 485 // The return value contains a success flag. | 583 bool, |
| 486 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_HideInterstitialPage, int, | 584 SecurityStyle, |
| 487 bool) | 585 int, |
| 488 | 586 int) |
| 489 // This message requests that a tab be closed. | 587 |
| 490 // Request: | 588 // This message requests the page type of the page displayed in the specified |
| 491 // - int: handle of the tab to close | 589 // tab (normal, error or interstitial). |
| 492 // - bool: if true the proxy blocks until the tab has completely closed, | 590 // Request: |
| 493 // otherwise the proxy only blocks until it initiates the close. | 591 // - int: handle of the tab |
| 494 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_CloseTab, int, bool, bool) | 592 // Response: |
| 495 | 593 // - bool: whether the operation was successful. |
| 496 // This message requests that the browser be closed. | 594 // - PageType: the type of the page currently displayed. |
| 497 // Request: | 595 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetPageType, int, bool, PageType) |
| 498 // - int: handle of the browser which contains the tab | 596 |
| 499 // Response: | 597 // This message simulates the user action on the SSL blocking page showing in |
| 500 // - bool: whether the operation was successfull. | 598 // the specified tab. This message is only effective if an interstitial page |
| 501 // - bool: whether the browser process will be terminated as a result (if | 599 // is showing in the tab. |
| 502 // this was the last closed browser window). | 600 // Request: |
| 503 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_CloseBrowser, int, bool, | 601 // - int: handle of the tab |
| 504 bool) | 602 // - bool: whether to proceed or abort the navigation |
| 505 | 603 // Response: |
| 506 IPC_MESSAGE_ROUTED1(AutomationMsg_CloseBrowserRequestAsync, int) | 604 // - AutomationMsg_NavigationResponseValues: result of the operation. |
| 507 | 605 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ActionOnSSLBlockingPage, int, bool, |
| 508 // Unused. | 606 AutomationMsg_NavigationResponseValues) |
| 509 // Response: | 607 |
| 510 // None expected | 608 // Message to request that a browser window is brought to the front and |
| 511 IPC_MESSAGE_ROUTED1(AutomationMsg_Unused, int) | 609 // activated. |
| 610 // Request: |
| 611 // - int: handle of the browser window. |
| 612 // Response: |
| 613 // - bool: True if the browser is brought to the front. |
| 614 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BringBrowserToFront, int, bool) |
| 615 |
| 616 // Message to request whether a certain item is enabled of disabled in the |
| 617 // menu in the browser window |
| 618 // |
| 619 // Request: |
| 620 // - int: handle of the browser window. |
| 621 // - int: IDC message identifier to query if enabled |
| 622 // Response: |
| 623 // - bool: True if the command is enabled on the menu |
| 624 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_IsMenuCommandEnabled, int, int, bool) |
| 625 |
| 626 // This message notifies the AutomationProvider to print the tab with given |
| 627 // handle. The first parameter is the handle to the tab resource. The |
| 628 // return value contains a bool which is true on success. |
| 629 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_PrintNow, int, bool) |
| 630 |
| 631 // This message notifies the AutomationProvider to reload the current page in |
| 632 // the tab with given handle. The first parameter is the handle to the tab |
| 633 // resource. The return value contains a status code which is nonnegative on |
| 634 // success. |
| 635 // see AutomationMsg_NavigationResponseValues for the navigation response. |
| 636 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_Reload, int, |
| 637 AutomationMsg_NavigationResponseValues) |
| 638 |
| 639 // This message requests the handle (int64 app-unique identifier) of the |
| 640 // last active browser window, or the browser at index 0 if there is no last |
| 641 // active browser, or it no longer exists. Returns 0 if no browser windows |
| 642 // exist. |
| 643 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_LastActiveBrowserWindow, int) |
| 644 |
| 645 // This message notifies the AutomationProvider to save the page with given |
| 646 // handle. The first parameter is the handle to the tab resource. The second |
| 647 // parameter is the main HTML file name. The third parameter is the directory |
| 648 // for saving resources. The fourth parameter is the saving type: 0 for HTML |
| 649 // only; 1 for complete web page. |
| 650 // The return value contains a bool which is true on success. |
| 651 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_SavePage, int, FilePath, FilePath, |
| 652 int, bool) |
| 653 |
| 654 // This message requests the text currently being displayed in the |
| 655 // AutocompleteEdit. The parameter is the handle to the AutocompleteEdit. |
| 656 // The return value is a string indicating the text in the AutocompleteEdit. |
| 657 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditGetText, |
| 658 int /* autocomplete edit handle */, |
| 659 bool /* the requested autocomplete edit exists */, |
| 660 std::wstring /* omnibox text */) |
| 661 |
| 662 // This message sets the text being displayed in the AutocompleteEdit. The |
| 663 // first parameter is the handle to the omnibox and the second parameter is |
| 664 // the text to be displayed in the AutocompleteEdit. |
| 665 // The return value has no parameters and is returned when the operation has |
| 666 // completed. |
| 667 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_AutocompleteEditSetText, |
| 668 int /* autocomplete edit handle */, |
| 669 std::wstring /* text to set */, |
| 670 bool /* the requested autocomplete edit exists */) |
| 671 |
| 672 // This message requests if a query to a autocomplete provider is still in |
| 673 // progress. The first parameter in the request is the handle to the |
| 674 // autocomplete edit. |
| 675 // The first return value indicates if the request succeeded. |
| 676 // The second return value indicates if a query is still in progress. |
| 677 IPC_SYNC_MESSAGE_ROUTED1_2( \ |
| 678 AutomationMsg_AutocompleteEditIsQueryInProgress, |
| 679 int /* autocomplete edit handle*/, |
| 680 bool /* the requested autocomplete edit exists */, |
| 681 bool /* indicates if a query is in progress */) |
| 682 |
| 683 // This message requests a list of the autocomplete messages currently being |
| 684 // displayed by the popup. The parameter in the request is a handle to the |
| 685 // autocomplete edit. |
| 686 // The first return value indicates if the request was successful, while |
| 687 // while the second is the actual list of matches. |
| 688 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditGetMatches, |
| 689 int /* autocomplete edit handle*/, |
| 690 bool /* the requested autocomplete edit exists */, |
| 691 std::vector<AutocompleteMatchData> /* matches */) |
| 692 |
| 693 // This message requests the execution of a browser command in the browser |
| 694 // for which the handle is specified. |
| 695 // The return value contains a boolean, whether the command was dispatched. |
| 696 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WindowExecuteCommandAsync, |
| 697 int /* automation handle */, |
| 698 int /* browser command */, |
| 699 bool /* success flag */) |
| 700 |
| 701 // This message requests the execution of a browser command in the browser |
| 702 // for which the handle is specified. |
| 703 // The return value contains a boolean, whether the command was dispatched |
| 704 // and successful executed. |
| 705 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WindowExecuteCommand, |
| 706 int /* automation handle */, |
| 707 int /* browser command */, |
| 708 bool /* success flag */) |
| 709 |
| 710 |
| 711 // This message opens the Find window within a tab corresponding to the |
| 712 // supplied tab handle. |
| 713 IPC_MESSAGE_ROUTED1(AutomationMsg_OpenFindInPage, |
| 714 int /* tab_handle */) |
| 715 |
| 716 // Posts a message from external host to chrome renderer. |
| 717 IPC_MESSAGE_ROUTED4(AutomationMsg_HandleMessageFromExternalHost, |
| 718 int /* automation handle */, |
| 719 std::string /* message */, |
| 720 std::string /* origin */, |
| 721 std::string /* target */) |
| 722 |
| 723 // A message for an external host. |
| 724 IPC_MESSAGE_ROUTED4(AutomationMsg_ForwardMessageToExternalHost, |
| 725 int, /* handle */ |
| 726 std::string /* message */, |
| 727 std::string /* origin */, |
| 728 std::string /* target */) |
| 729 |
| 730 // This message starts a find within a tab corresponding to the supplied |
| 731 // tab handle. The parameter |request| specifies what to search for. |
| 732 // If an error occurs, |matches_found| will be -1. |
| 733 // |
| 734 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_Find, |
| 735 int /* tab_handle */, |
| 736 AutomationMsg_Find_Params /* params */, |
| 737 int /* active_ordinal */, |
| 738 int /* matches_found */) |
| 739 |
| 740 // Is the Find window fully visible (and not animating) for the specified |
| 741 // tab? |
| 742 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_FindWindowVisibility, |
| 743 int /* tab_handle */, |
| 744 bool /* is_visible */) |
| 745 |
| 746 // Where is the Find window located. |x| and |y| will be -1, -1 on failure. |
| 747 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_FindWindowLocation, |
| 748 int /* tab_handle */, |
| 749 int /* x */, |
| 750 int /* y */) |
| 751 |
| 752 // Is the Bookmark bar visible? The return value will indicate whether it is |
| 753 // visible or not and whether it is being animated into (or out of its place). |
| 754 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_BookmarkBarVisibility, |
| 755 int /* browser_handle */, |
| 756 bool, /* is_visible */ |
| 757 bool /* still_animating */) |
| 758 |
| 759 // This message requests the number of related info bars opened. It |
| 760 // returns -1 if an error occurred. |
| 761 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetInfoBarCount, |
| 762 int /* tab_handle */, |
| 763 int /* info bar count */) |
| 764 |
| 765 // This message triggers the action associated with the "accept" button in |
| 766 // the info-bar at the specified index. If |wait for navigation| is true, it |
| 767 // won't return until a navigation has occurred. |
| 768 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_ClickInfoBarAccept, |
| 769 int /* tab_handle */, |
| 770 int /* info bar index */, |
| 771 bool /* wait for navigation */, |
| 772 |
| 773 /* navigation result */ |
| 774 AutomationMsg_NavigationResponseValues) |
| 775 |
| 776 // This message retrieves the last time a navigation occurred in the specified |
| 777 // tab. The value is intended to be used with WaitForNavigation. |
| 778 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetLastNavigationTime, |
| 779 int /* tab_handle */, |
| 780 int64 /* last navigation time */) |
| 781 |
| 782 // This messages is used to block until a new navigation occurs (if there is |
| 783 // none more recent then the time specified). |
| 784 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForNavigation, |
| 785 int /* tab_handle */, |
| 786 int64 /* last navigation time */, |
| 787 |
| 788 /* navigation result */ |
| 789 AutomationMsg_NavigationResponseValues) |
| 790 |
| 791 // This messages sets an int-value preference. |
| 792 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetIntPreference, |
| 793 int /* browser handle */, |
| 794 std::string /* pref name */, |
| 795 int /* value */, |
| 796 bool /* success */) |
| 797 |
| 798 // Queries whether an app modal dialog is currently being shown. (i.e. a |
| 799 // javascript alert) and which buttons it contains. |
| 800 IPC_SYNC_MESSAGE_ROUTED0_2(AutomationMsg_ShowingAppModalDialog, |
| 801 bool /* showing dialog */, |
| 802 int /* view::DelegateDialog::DialogButton */) |
| 803 |
| 804 // This message triggers the specified button for the currently showing |
| 805 // modal dialog. |
| 806 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ClickAppModalDialogButton, |
| 807 int /* view::DelegateDialog::DialogButton */, |
| 808 bool /* success */) |
| 809 |
| 810 // This messages sets a string-value preference. |
| 811 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetStringPreference, |
| 812 int /* browser handle */, |
| 813 std::string /* pref name */, |
| 814 std::string /* pref value */, |
| 815 bool) |
| 816 |
| 817 // This messages gets a boolean-value preference. |
| 818 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetBooleanPreference, |
| 819 int /* browser handle */, |
| 820 std::string /* pref name */, |
| 821 bool /* success */, |
| 822 bool /* pref value */) |
| 823 |
| 824 // This messages sets a boolean-value preference. |
| 825 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBooleanPreference, |
| 826 int /* browser handle */, |
| 827 std::string /* pref name */, |
| 828 bool /* pref value */, |
| 829 bool /* success */) |
| 830 |
| 831 // Queries the current used encoding name of the page in the specified |
| 832 // web content tab. |
| 833 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetPageCurrentEncoding, |
| 834 int /* tab handle */, |
| 835 std::string /* current used encoding name */) |
| 836 |
| 837 // Uses the specified encoding to override the encoding of the page in the |
| 838 // specified web content tab. |
| 839 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_OverrideEncoding, |
| 840 int /* tab handle */, |
| 841 std::string /* overrided encoding name */, |
| 842 bool /* success */) |
| 843 |
| 844 // Used to disable the dialog box that prompts the user for a path when |
| 845 // saving a web page. |
| 846 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_SavePackageShouldPromptUser, |
| 847 bool /* false if we want to not show the dialog */) |
| 848 |
| 849 // This message is an outgoing message from Chrome to an external host. |
| 850 // It is a notification that a navigation failed |
| 851 // Request: |
| 852 // -int : Tab handle |
| 853 // -int : The status code. |
| 854 // -GURL: The URL we failed to navigate to. |
| 855 // Response: |
| 856 // None expected |
| 857 IPC_MESSAGE_ROUTED3(AutomationMsg_NavigationFailed, int, int, GURL) |
| 512 | 858 |
| 513 #if defined(OS_WIN) | 859 #if defined(OS_WIN) |
| 514 // TODO(port): Port these messages. | 860 // This message is an outgoing message from an automation client to Chrome. |
| 515 // | 861 // It is used to reposition a chrome tab window. |
| 516 // This message is an outgoing message from Chrome to an external host. | 862 IPC_MESSAGE_ROUTED2(AutomationMsg_TabReposition, |
| 517 // It is a request to process a keyboard accelerator. | 863 int /* tab handle */, |
| 518 // Request: | 864 IPC::Reposition_Params /* SetWindowPos params */) |
| 519 // -int: Tab handle | |
| 520 // -MSG: The keyboard message | |
| 521 // Response: | |
| 522 // None expected | |
| 523 // TODO(sanjeevr): Ideally we need to add a response from the external | |
| 524 // host saying whether it processed the accelerator | |
| 525 IPC_MESSAGE_ROUTED2(AutomationMsg_HandleAccelerator, int, MSG) | |
| 526 | |
| 527 // This message is sent by the container of an externally hosted tab to | |
| 528 // reflect any accelerator keys that it did not process. This gives the | |
| 529 // tab a chance to handle the keys | |
| 530 // Request: | |
| 531 // - int: handle of the tab | |
| 532 // -MSG: The keyboard message that the container did not handle | |
| 533 // Response: | |
| 534 // None expected | |
| 535 IPC_MESSAGE_ROUTED2(AutomationMsg_ProcessUnhandledAccelerator, int, MSG) | |
| 536 #endif // defined(OS_WIN) | 865 #endif // defined(OS_WIN) |
| 537 | 866 |
| 538 // Sent by the external tab to the host to notify that the user has tabbed | 867 // Gets the title of the top level browser window. |
| 539 // out of the tab. | 868 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WindowTitle, |
| 540 // Request: | 869 int /* automation handle */, |
| 541 // - int: Tab handle | 870 string16 /* title text */ ) |
| 542 // - bool: |reverse| set to true when shift-tabbing out of the tab, false | 871 |
| 543 // otherwise. | 872 // Tab load complete |
| 544 // Response: | 873 IPC_MESSAGE_ROUTED2(AutomationMsg_TabLoaded, |
| 545 // None expected | 874 int, // tab handle |
| 546 IPC_MESSAGE_ROUTED2(AutomationMsg_TabbedOut, int, bool) | 875 GURL) |
| 547 | 876 |
| 548 // Sent by the external tab host to ask focus to be set to either the first | 877 // This message requests the tabstrip index of the tab with the given handle. |
| 549 // or last element on the page. | 878 // The return value contains the index, which will be -1 on failure. |
| 550 // Request: | 879 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabIndex, int, int) |
| 551 // - int: handle of the tab | 880 |
| 552 // - bool: |reverse| | 881 // This message requests the handle (int64 app-unique identifier) of |
| 553 // true: Focus will be set to the last focusable element | 882 // a valid normal browser window, i.e. normal type and non-incognito mode. |
| 554 // false: Focus will be set to the first focusable element | 883 // On error, the returned handle value is 0. |
| 555 // - bool: |restore_focus_to_view| | 884 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_FindNormalBrowserWindow, int) |
| 556 // true: The renderer view associated with the current tab will be | 885 |
| 557 // infomed that it is receiving focus. | 886 // This message requests the number of normal browser windows, i.e. normal |
| 558 // Response: | 887 // type and non-incognito mode that the app currently has open. The return |
| 559 // None expected | 888 // value is the number of windows. |
| 560 IPC_MESSAGE_ROUTED3(AutomationMsg_SetInitialFocus, int, bool, bool) | 889 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_NormalBrowserWindowCount, int) |
| 561 | 890 |
| 562 // This message is an outgoing message from Chrome to an external host. | 891 // Used to put the browser into "extension automation mode" for a given |
| 563 // It is a request to open a url | 892 // set of Chrome Extensions API functions for the current profile, or turn |
| 564 // Request: | 893 // off automation mode. The specified tab is used as the conduit for all |
| 565 // -int: Tab handle | 894 // automated API functions. It must be an external tab (as in |
| 566 // -GURL: The URL to open | 895 // AutomationMsg_CreateExternalTab). |
| 567 // -GURL: The referrer | 896 IPC_MESSAGE_ROUTED2(AutomationMsg_SetEnableExtensionAutomation, |
| 568 // -int: The WindowOpenDisposition that specifies where the URL should | 897 // Tab handle. |
| 569 // be opened (new tab, new window etc). | 898 int, |
| 570 // Response: | 899 // Empty to disable automation, non-empty to enable |
| 571 // None expected | 900 // automation of the specified API functions, single |
| 572 IPC_MESSAGE_ROUTED4(AutomationMsg_OpenURL, int, GURL, GURL, int) | 901 // entry of "*" to enable automation of all API |
| 573 | 902 // functions. |
| 574 // This message requests the provider to wait until the specified tab has | 903 std::vector<std::string>) |
| 575 // finished restoring after session restore. | 904 |
| 576 // Request: | 905 // This message tells the browser to start using the new proxy configuration |
| 577 // - int: handle of the tab | 906 // represented by the given JSON string. The parameters used in the JSON |
| 578 // Response: | 907 // string are defined in automation_constants.h. |
| 579 // - bool: whether the operation was successful. | 908 IPC_MESSAGE_ROUTED1(AutomationMsg_SetProxyConfig, |
| 580 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_WaitForTabToBeRestored, int) | 909 std::string /* proxy_config_json_string */) |
| 581 | 910 |
| 582 // This message is an outgoing message from Chrome to an external host. | 911 // Sets Download Shelf visibility for the specified browser. |
| 583 // It is a notification that a navigation happened | 912 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_SetShelfVisibility, |
| 584 // Request: | 913 int /* browser_handle */, |
| 585 // -int: Tab handle | 914 bool /* is_visible */) |
| 586 // | 915 |
| 587 // Response: | 916 // This message requests the number of blocked popups in a certain tab with |
| 588 // None expected | 917 // the given handle. The return value is the number of blocked popups, or -1 |
| 589 IPC_MESSAGE_ROUTED2(AutomationMsg_DidNavigate, int, IPC::NavigationInfo) | 918 // if this request failed. |
| 590 | 919 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BlockedPopupCount, |
| 591 // This message requests the different security states of the page displayed | 920 int /* tab_handle */, |
| 592 // in the specified tab. | 921 int /* blocked_popup_count */) |
| 593 // Request: | 922 |
| 594 // - int: handle of the tab | 923 // This message retrieves the locale of the browser process. On success |
| 595 // Response: | 924 // |chrome_locale| will contain the locale as reported by ICU. On failure |
| 596 // - bool: whether the operation was successful. | 925 // |chrome_locale| is the empty string. |
| 597 // - SecurityStyle: the security style of the tab. | 926 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetBrowserLocale, |
| 598 // - int: the status of the server's ssl cert (0 means no errors or no ssl | 927 string16 /* chrome_locale */) |
| 599 // was used). | |
| 600 // - int: the insecure content state, 0 means no insecure contents. | |
| 601 | |
| 602 IPC_SYNC_MESSAGE_ROUTED1_4(AutomationMsg_GetSecurityState, | |
| 603 int, | |
| 604 bool, | |
| 605 SecurityStyle, | |
| 606 int, | |
| 607 int) | |
| 608 | |
| 609 // This message requests the page type of the page displayed in the specified | |
| 610 // tab (normal, error or interstitial). | |
| 611 // Request: | |
| 612 // - int: handle of the tab | |
| 613 // Response: | |
| 614 // - bool: whether the operation was successful. | |
| 615 // - PageType: the type of the page currently displayed. | |
| 616 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetPageType, int, bool, PageType) | |
| 617 | |
| 618 // This message simulates the user action on the SSL blocking page showing in | |
| 619 // the specified tab. This message is only effective if an interstitial page | |
| 620 // is showing in the tab. | |
| 621 // Request: | |
| 622 // - int: handle of the tab | |
| 623 // - bool: whether to proceed or abort the navigation | |
| 624 // Response: | |
| 625 // - AutomationMsg_NavigationResponseValues: result of the operation. | |
| 626 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_ActionOnSSLBlockingPage, int, bool, | |
| 627 AutomationMsg_NavigationResponseValues) | |
| 628 | |
| 629 // Message to request that a browser window is brought to the front and | |
| 630 // activated. | |
| 631 // Request: | |
| 632 // - int: handle of the browser window. | |
| 633 // Response: | |
| 634 // - bool: True if the browser is brought to the front. | |
| 635 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BringBrowserToFront, int, bool) | |
| 636 | |
| 637 // Message to request whether a certain item is enabled of disabled in the | |
| 638 // menu in the browser window | |
| 639 // | |
| 640 // Request: | |
| 641 // - int: handle of the browser window. | |
| 642 // - int: IDC message identifier to query if enabled | |
| 643 // Response: | |
| 644 // - bool: True if the command is enabled on the menu | |
| 645 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_IsMenuCommandEnabled, int, int, bool) | |
| 646 | |
| 647 // This message notifies the AutomationProvider to print the tab with given | |
| 648 // handle. The first parameter is the handle to the tab resource. The | |
| 649 // return value contains a bool which is true on success. | |
| 650 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_PrintNow, int, bool) | |
| 651 | |
| 652 // This message notifies the AutomationProvider to reload the current page in | |
| 653 // the tab with given handle. The first parameter is the handle to the tab | |
| 654 // resource. The return value contains a status code which is nonnegative on | |
| 655 // success. | |
| 656 // see AutomationMsg_NavigationResponseValues for the navigation response. | |
| 657 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_Reload, int, | |
| 658 AutomationMsg_NavigationResponseValues) | |
| 659 | |
| 660 // This message requests the handle (int64 app-unique identifier) of the | |
| 661 // last active browser window, or the browser at index 0 if there is no last | |
| 662 // active browser, or it no longer exists. Returns 0 if no browser windows | |
| 663 // exist. | |
| 664 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_LastActiveBrowserWindow, int) | |
| 665 | |
| 666 // This message notifies the AutomationProvider to save the page with given | |
| 667 // handle. The first parameter is the handle to the tab resource. The second | |
| 668 // parameter is the main HTML file name. The third parameter is the directory | |
| 669 // for saving resources. The fourth parameter is the saving type: 0 for HTML | |
| 670 // only; 1 for complete web page. | |
| 671 // The return value contains a bool which is true on success. | |
| 672 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_SavePage, int, FilePath, FilePath, | |
| 673 int, bool) | |
| 674 | |
| 675 // This message requests the text currently being displayed in the | |
| 676 // AutocompleteEdit. The parameter is the handle to the AutocompleteEdit. | |
| 677 // The return value is a string indicating the text in the AutocompleteEdit. | |
| 678 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditGetText, | |
| 679 int /* autocomplete edit handle */, | |
| 680 bool /* the requested autocomplete edit exists */, | |
| 681 std::wstring /* omnibox text */) | |
| 682 | |
| 683 // This message sets the text being displayed in the AutocompleteEdit. The | |
| 684 // first parameter is the handle to the omnibox and the second parameter is | |
| 685 // the text to be displayed in the AutocompleteEdit. | |
| 686 // The return value has no parameters and is returned when the operation has | |
| 687 // completed. | |
| 688 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_AutocompleteEditSetText, | |
| 689 int /* autocomplete edit handle */, | |
| 690 std::wstring /* text to set */, | |
| 691 bool /* the requested autocomplete edit exists */) | |
| 692 | |
| 693 // This message requests if a query to a autocomplete provider is still in | |
| 694 // progress. The first parameter in the request is the handle to the | |
| 695 // autocomplete edit. | |
| 696 // The first return value indicates if the request succeeded. | |
| 697 // The second return value indicates if a query is still in progress. | |
| 698 IPC_SYNC_MESSAGE_ROUTED1_2( \ | |
| 699 AutomationMsg_AutocompleteEditIsQueryInProgress, | |
| 700 int /* autocomplete edit handle*/, | |
| 701 bool /* the requested autocomplete edit exists */, | |
| 702 bool /* indicates if a query is in progress */) | |
| 703 | |
| 704 // This message requests a list of the autocomplete messages currently being | |
| 705 // displayed by the popup. The parameter in the request is a handle to the | |
| 706 // autocomplete edit. | |
| 707 // The first return value indicates if the request was successful, while | |
| 708 // while the second is the actual list of matches. | |
| 709 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_AutocompleteEditGetMatches, | |
| 710 int /* autocomplete edit handle*/, | |
| 711 bool /* the requested autocomplete edit exists */, | |
| 712 std::vector<AutocompleteMatchData> /* matches */) | |
| 713 | |
| 714 // This message requests the execution of a browser command in the browser | |
| 715 // for which the handle is specified. | |
| 716 // The return value contains a boolean, whether the command was dispatched. | |
| 717 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WindowExecuteCommandAsync, | |
| 718 int /* automation handle */, | |
| 719 int /* browser command */, | |
| 720 bool /* success flag */) | |
| 721 | |
| 722 // This message requests the execution of a browser command in the browser | |
| 723 // for which the handle is specified. | |
| 724 // The return value contains a boolean, whether the command was dispatched | |
| 725 // and successful executed. | |
| 726 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WindowExecuteCommand, | |
| 727 int /* automation handle */, | |
| 728 int /* browser command */, | |
| 729 bool /* success flag */) | |
| 730 | |
| 731 | |
| 732 // This message opens the Find window within a tab corresponding to the | |
| 733 // supplied tab handle. | |
| 734 IPC_MESSAGE_ROUTED1(AutomationMsg_OpenFindInPage, | |
| 735 int /* tab_handle */) | |
| 736 | |
| 737 // Posts a message from external host to chrome renderer. | |
| 738 IPC_MESSAGE_ROUTED4(AutomationMsg_HandleMessageFromExternalHost, | |
| 739 int /* automation handle */, | |
| 740 std::string /* message */, | |
| 741 std::string /* origin */, | |
| 742 std::string /* target */) | |
| 743 | |
| 744 // A message for an external host. | |
| 745 IPC_MESSAGE_ROUTED4(AutomationMsg_ForwardMessageToExternalHost, | |
| 746 int, /* handle */ | |
| 747 std::string /* message */, | |
| 748 std::string /* origin */, | |
| 749 std::string /* target */) | |
| 750 | |
| 751 // This message starts a find within a tab corresponding to the supplied | |
| 752 // tab handle. The parameter |request| specifies what to search for. | |
| 753 // If an error occurs, |matches_found| will be -1. | |
| 754 // | |
| 755 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_Find, | |
| 756 int /* tab_handle */, | |
| 757 AutomationMsg_Find_Params /* params */, | |
| 758 int /* active_ordinal */, | |
| 759 int /* matches_found */) | |
| 760 | |
| 761 // Is the Find window fully visible (and not animating) for the specified | |
| 762 // tab? | |
| 763 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_FindWindowVisibility, | |
| 764 int /* tab_handle */, | |
| 765 bool /* is_visible */) | |
| 766 | |
| 767 // Where is the Find window located. |x| and |y| will be -1, -1 on failure. | |
| 768 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_FindWindowLocation, | |
| 769 int /* tab_handle */, | |
| 770 int /* x */, | |
| 771 int /* y */) | |
| 772 | |
| 773 // Is the Bookmark bar visible? The return value will indicate whether it is | |
| 774 // visible or not and whether it is being animated into (or out of its place). | |
| 775 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_BookmarkBarVisibility, | |
| 776 int /* browser_handle */, | |
| 777 bool, /* is_visible */ | |
| 778 bool /* still_animating */) | |
| 779 | |
| 780 // This message requests the number of related info bars opened. It | |
| 781 // returns -1 if an error occurred. | |
| 782 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetInfoBarCount, | |
| 783 int /* tab_handle */, | |
| 784 int /* info bar count */) | |
| 785 | |
| 786 // This message triggers the action associated with the "accept" button in | |
| 787 // the info-bar at the specified index. If |wait for navigation| is true, it | |
| 788 // won't return until a navigation has occurred. | |
| 789 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_ClickInfoBarAccept, | |
| 790 int /* tab_handle */, | |
| 791 int /* info bar index */, | |
| 792 bool /* wait for navigation */, | |
| 793 | |
| 794 /* navigation result */ | |
| 795 AutomationMsg_NavigationResponseValues) | |
| 796 | |
| 797 // This message retrieves the last time a navigation occurred in the specified | |
| 798 // tab. The value is intended to be used with WaitForNavigation. | |
| 799 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetLastNavigationTime, | |
| 800 int /* tab_handle */, | |
| 801 int64 /* last navigation time */) | |
| 802 | |
| 803 // This messages is used to block until a new navigation occurs (if there is | |
| 804 // none more recent then the time specified). | |
| 805 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForNavigation, | |
| 806 int /* tab_handle */, | |
| 807 int64 /* last navigation time */, | |
| 808 | |
| 809 /* navigation result */ | |
| 810 AutomationMsg_NavigationResponseValues) | |
| 811 | |
| 812 // This messages sets an int-value preference. | |
| 813 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetIntPreference, | |
| 814 int /* browser handle */, | |
| 815 std::string /* pref name */, | |
| 816 int /* value */, | |
| 817 bool /* success */) | |
| 818 | |
| 819 // Queries whether an app modal dialog is currently being shown. (i.e. a | |
| 820 // javascript alert) and which buttons it contains. | |
| 821 IPC_SYNC_MESSAGE_ROUTED0_2(AutomationMsg_ShowingAppModalDialog, | |
| 822 bool /* showing dialog */, | |
| 823 int /* view::DelegateDialog::DialogButton */) | |
| 824 | |
| 825 // This message triggers the specified button for the currently showing | |
| 826 // modal dialog. | |
| 827 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ClickAppModalDialogButton, | |
| 828 int /* view::DelegateDialog::DialogButton */, | |
| 829 bool /* success */) | |
| 830 | |
| 831 // This messages sets a string-value preference. | |
| 832 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetStringPreference, | |
| 833 int /* browser handle */, | |
| 834 std::string /* pref name */, | |
| 835 std::string /* pref value */, | |
| 836 bool) | |
| 837 | |
| 838 // This messages gets a boolean-value preference. | |
| 839 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetBooleanPreference, | |
| 840 int /* browser handle */, | |
| 841 std::string /* pref name */, | |
| 842 bool /* success */, | |
| 843 bool /* pref value */) | |
| 844 | |
| 845 // This messages sets a boolean-value preference. | |
| 846 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBooleanPreference, | |
| 847 int /* browser handle */, | |
| 848 std::string /* pref name */, | |
| 849 bool /* pref value */, | |
| 850 bool /* success */) | |
| 851 | |
| 852 // Queries the current used encoding name of the page in the specified | |
| 853 // web content tab. | |
| 854 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetPageCurrentEncoding, | |
| 855 int /* tab handle */, | |
| 856 std::string /* current used encoding name */) | |
| 857 | |
| 858 // Uses the specified encoding to override the encoding of the page in the | |
| 859 // specified web content tab. | |
| 860 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_OverrideEncoding, | |
| 861 int /* tab handle */, | |
| 862 std::string /* overrided encoding name */, | |
| 863 bool /* success */) | |
| 864 | |
| 865 // Used to disable the dialog box that prompts the user for a path when | |
| 866 // saving a web page. | |
| 867 IPC_SYNC_MESSAGE_ROUTED1_0(AutomationMsg_SavePackageShouldPromptUser, | |
| 868 bool /* false if we want to not show the dialog */) | |
| 869 | |
| 870 // This message is an outgoing message from Chrome to an external host. | |
| 871 // It is a notification that a navigation failed | |
| 872 // Request: | |
| 873 // -int : Tab handle | |
| 874 // -int : The status code. | |
| 875 // -GURL: The URL we failed to navigate to. | |
| 876 // Response: | |
| 877 // None expected | |
| 878 IPC_MESSAGE_ROUTED3(AutomationMsg_NavigationFailed, int, int, GURL) | |
| 879 | 928 |
| 880 #if defined(OS_WIN) | 929 #if defined(OS_WIN) |
| 881 // This message is an outgoing message from an automation client to Chrome. | 930 IPC_MESSAGE_ROUTED4(AutomationMsg_ForwardContextMenuToExternalHost, |
| 882 // It is used to reposition a chrome tab window. | 931 int /* tab_handle */, |
| 883 IPC_MESSAGE_ROUTED2(AutomationMsg_TabReposition, | 932 HANDLE /* source menu handle */, |
| 884 int /* tab handle */, | 933 int /* align flags */, |
| 885 IPC::Reposition_Params /* SetWindowPos params */) | 934 IPC::MiniContextMenuParams /* params */) |
| 886 #endif // defined(OS_WIN) | 935 |
| 887 | 936 IPC_MESSAGE_ROUTED2(AutomationMsg_ForwardContextMenuCommandToChrome, |
| 888 // Gets the title of the top level browser window. | 937 int /* tab_handle */, |
| 889 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WindowTitle, | 938 int /* selected_command */) |
| 890 int /* automation handle */, | 939 #endif // OS_WIN |
| 891 string16 /* title text */ ) | 940 |
| 892 | 941 // A URL request to be fetched via automation |
| 893 // Tab load complete | 942 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestStart, |
| 894 IPC_MESSAGE_ROUTED2(AutomationMsg_TabLoaded, | 943 int /* tab_handle */, |
| 895 int, // tab handle | 944 int /* request_id */, |
| 896 GURL) | 945 IPC::AutomationURLRequest /* request */) |
| 897 | 946 |
| 898 // This message requests the tabstrip index of the tab with the given handle. | 947 // Read data from a URL request to be fetched via automation |
| 899 // The return value contains the index, which will be -1 on failure. | 948 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestRead, |
| 900 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TabIndex, int, int) | 949 int /* tab_handle */, |
| 901 | 950 int /* request_id */, |
| 902 // This message requests the handle (int64 app-unique identifier) of | 951 int /* bytes_to_read */) |
| 903 // a valid normal browser window, i.e. normal type and non-incognito mode. | 952 |
| 904 // On error, the returned handle value is 0. | 953 // Response to a AutomationMsg_RequestStart message |
| 905 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_FindNormalBrowserWindow, int) | 954 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestStarted, |
| 906 | 955 int /* tab_handle */, |
| 907 // This message requests the number of normal browser windows, i.e. normal | 956 int /* request_id */, |
| 908 // type and non-incognito mode that the app currently has open. The return | 957 IPC::AutomationURLResponse /* response */) |
| 909 // value is the number of windows. | 958 |
| 910 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_NormalBrowserWindowCount, int) | 959 // Data read via automation |
| 911 | 960 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestData, |
| 912 // Used to put the browser into "extension automation mode" for a given | 961 int /* tab_handle */, |
| 913 // set of Chrome Extensions API functions for the current profile, or turn | 962 int /* request_id */, |
| 914 // off automation mode. The specified tab is used as the conduit for all | 963 std::string /* data */) |
| 915 // automated API functions. It must be an external tab (as in | 964 |
| 916 // AutomationMsg_CreateExternalTab). | 965 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestEnd, |
| 917 IPC_MESSAGE_ROUTED2(AutomationMsg_SetEnableExtensionAutomation, | 966 int /* tab_handle */, |
| 918 // Tab handle. | 967 int /* request_id */, |
| 919 int, | 968 URLRequestStatus /* status */) |
| 920 // Empty to disable automation, non-empty to enable | 969 |
| 921 // automation of the specified API functions, single | 970 IPC_MESSAGE_ROUTED1(AutomationMsg_PrintAsync, |
| 922 // entry of "*" to enable automation of all API | 971 int /* tab_handle */) |
| 923 // functions. | 972 |
| 924 std::vector<std::string>) | 973 IPC_MESSAGE_ROUTED3(AutomationMsg_SetCookieAsync, |
| 925 | 974 int /* tab_handle */, |
| 926 // This message tells the browser to start using the new proxy configuration | 975 GURL /* url */, |
| 927 // represented by the given JSON string. The parameters used in the JSON | 976 std::string /* cookie */) |
| 928 // string are defined in automation_constants.h. | 977 |
| 929 IPC_MESSAGE_ROUTED1(AutomationMsg_SetProxyConfig, | 978 IPC_MESSAGE_ROUTED1(AutomationMsg_SelectAll, |
| 930 std::string /* proxy_config_json_string */) | 979 int /* tab handle */) |
| 931 | 980 |
| 932 // Sets Download Shelf visibility for the specified browser. | 981 IPC_MESSAGE_ROUTED1(AutomationMsg_Cut, |
| 933 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_SetShelfVisibility, | 982 int /* tab handle */) |
| 934 int /* browser_handle */, | 983 |
| 935 bool /* is_visible */) | 984 IPC_MESSAGE_ROUTED1(AutomationMsg_Copy, |
| 936 | 985 int /* tab handle */) |
| 937 // This message requests the number of blocked popups in a certain tab with | 986 |
| 938 // the given handle. The return value is the number of blocked popups, or -1 | 987 IPC_MESSAGE_ROUTED1(AutomationMsg_Paste, |
| 939 // if this request failed. | 988 int /* tab handle */) |
| 940 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_BlockedPopupCount, | 989 |
| 941 int /* tab_handle */, | 990 IPC_MESSAGE_ROUTED1(AutomationMsg_ReloadAsync, |
| 942 int /* blocked_popup_count */) | 991 int /* tab handle */) |
| 943 | 992 |
| 944 // This message retrieves the locale of the browser process. On success | 993 IPC_MESSAGE_ROUTED1(AutomationMsg_StopAsync, |
| 945 // |chrome_locale| will contain the locale as reported by ICU. On failure | 994 int /* tab handle */) |
| 946 // |chrome_locale| is the empty string. | 995 |
| 947 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetBrowserLocale, | 996 // Returns the number of times a filter was used to service an URL request. |
| 948 string16 /* chrome_locale */) | 997 // See AutomationMsg_SetFilteredInet. |
| 998 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetFilteredInetHitCount, |
| 999 int /* hit_count */) |
| 1000 |
| 1001 // Is the browser in fullscreen mode? |
| 1002 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_IsFullscreen, |
| 1003 int /* browser_handle */, |
| 1004 bool /* is_fullscreen */) |
| 1005 |
| 1006 // Is the fullscreen bubble visible? |
| 1007 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_IsFullscreenBubbleVisible, |
| 1008 int /* browser_handle */, |
| 1009 bool /* is_visible */) |
| 1010 |
| 1011 #if defined(OS_POSIX) |
| 1012 // See previous definition of this message for explanation of why it is |
| 1013 // defined twice. |
| 1014 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowClick, int, gfx::Point, int) |
| 1015 #endif |
| 1016 |
| 1017 // This message notifies the AutomationProvider to navigate to a specified |
| 1018 // url in the tab with given handle. The first parameter is the handle to |
| 1019 // the tab resource. The second parameter is the target url. The third |
| 1020 // parameter is the number of navigations that are required for a successful |
| 1021 // return value. See AutomationMsg_NavigationResponseValues for the return |
| 1022 // value. |
| 1023 IPC_SYNC_MESSAGE_ROUTED3_1( |
| 1024 AutomationMsg_NavigateToURLBlockUntilNavigationsComplete, int, GURL, int, |
| 1025 AutomationMsg_NavigationResponseValues) |
| 1026 |
| 1027 // This message notifies the AutomationProvider to navigate to a specified |
| 1028 // navigation entry index in the external tab with given handle. The first |
| 1029 // parameter is the handle to the tab resource. The second parameter is the |
| 1030 // index of navigation entry. |
| 1031 // The return value contains a status code which is nonnegative on success. |
| 1032 // see AutomationMsg_NavigationResponseValues for the navigation response. |
| 1033 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigateExternalTabAtIndex, int, int, |
| 1034 AutomationMsg_NavigationResponseValues) |
| 1035 |
| 1036 // This message requests the provider to wait until the window count |
| 1037 // reached the specified value. |
| 1038 // Request: |
| 1039 // - int: target browser window count |
| 1040 // Response: |
| 1041 // - bool: whether the operation was successful. |
| 1042 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForBrowserWindowCountToBecome, |
| 1043 int, bool) |
| 1044 |
| 1045 // This message requests the provider to wait until an application modal |
| 1046 // dialog is shown. |
| 1047 // Response: |
| 1048 // - bool: whether the operation was successful |
| 1049 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_WaitForAppModalDialogToBeShown, bool) |
| 1050 |
| 1051 // This message notifies the AutomationProvider to navigate back in session |
| 1052 // history in the tab with given handle. The first parameter is the handle |
| 1053 // to the tab resource. The second parameter is the number of navigations the |
| 1054 // provider will wait for. |
| 1055 // See AutomationMsg_NavigationResponseValues for the navigation response |
| 1056 // values. |
| 1057 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_GoBackBlockUntilNavigationsComplete, |
| 1058 int, int, |
| 1059 AutomationMsg_NavigationResponseValues) |
| 1060 |
| 1061 // This message notifies the AutomationProvider to navigate forward in session |
| 1062 // history in the tab with given handle. The first parameter is the handle |
| 1063 // to the tab resource. The second parameter is the number of navigations |
| 1064 // the provider will wait for. |
| 1065 // See AutomationMsg_NavigationResponseValues for the navigation response |
| 1066 // values. |
| 1067 IPC_SYNC_MESSAGE_ROUTED2_1( |
| 1068 AutomationMsg_GoForwardBlockUntilNavigationsComplete, int, int, |
| 1069 AutomationMsg_NavigationResponseValues) |
| 1070 |
| 1071 // This message is used by automation clients to upload histogram data to the |
| 1072 // browser process. |
| 1073 IPC_MESSAGE_ROUTED1(AutomationMsg_RecordHistograms, |
| 1074 std::vector<std::string> /* histogram_list */) |
| 1075 |
| 1076 IPC_MESSAGE_ROUTED2(AutomationMsg_AttachExternalTab, |
| 1077 int /* 'source' tab_handle */, |
| 1078 IPC::AttachExternalTabParams) |
| 1079 |
| 1080 // Sent when the automation client connects to an existing tab. |
| 1081 IPC_SYNC_MESSAGE_ROUTED3_4(AutomationMsg_ConnectExternalTab, |
| 1082 uint64 /* cookie */, |
| 1083 bool /* allow/block tab*/, |
| 1084 gfx::NativeWindow /* parent window */, |
| 1085 gfx::NativeWindow /* Tab container window */, |
| 1086 gfx::NativeWindow /* Tab window */, |
| 1087 int /* Handle to the new tab */, |
| 1088 int /* Session Id of the new tab */) |
| 1089 |
| 1090 #if defined(OS_POSIX) |
| 1091 // TODO(estade): this should be merged with the windows message of the same |
| 1092 // name. See comment for WindowClick. |
| 1093 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_WindowDrag, |
| 1094 int, std::vector<gfx::Point>, int, bool, bool) |
| 1095 #endif // defined(OS_POSIX) |
| 1096 |
| 1097 // This message gets the bounds of the window. |
| 1098 // Request: |
| 1099 // int - the handle of the window to query |
| 1100 // Response: |
| 1101 // gfx::Rect - the bounds of the window |
| 1102 // bool - true if the query was successful |
| 1103 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetWindowBounds, int, gfx::Rect, |
| 1104 bool) |
| 1105 |
| 1106 // Simulate an end of session. Normally this happens when the user |
| 1107 // shuts down the machine or logs off. |
| 1108 // Request: |
| 1109 // int - the handle of the browser |
| 1110 // Response: |
| 1111 // bool - true if succesful |
| 1112 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TerminateSession, int, bool) |
| 1113 |
| 1114 // Returns whether the window is maximized. |
| 1115 // Request: |
| 1116 // int - the handle of the window |
| 1117 // Response: |
| 1118 // bool - true if the window is maximized |
| 1119 // bool - true if query is successful |
| 1120 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_IsWindowMaximized, int, bool, bool) |
| 1121 |
| 1122 IPC_MESSAGE_ROUTED2(AutomationMsg_SetPageFontSize, |
| 1123 int /* tab_handle */, |
| 1124 int /* The font size */) |
| 1125 |
| 1126 // Returns a metric event duration that was last recorded. Returns -1 if the |
| 1127 // event hasn't occurred yet. |
| 1128 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetMetricEventDuration, |
| 1129 std::string /* event_name */, |
| 1130 int /* duration ms */) |
| 1131 |
| 1132 // Sent by automation provider - go to history entry via automation. |
| 1133 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestGoToHistoryEntryOffset, |
| 1134 int, // tab handle |
| 1135 int) // numbers of entries (negative or positive) |
| 1136 |
| 1137 // Silently install the extension in the given crx file. |
| 1138 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_InstallExtension, |
| 1139 FilePath /* full path to crx file */, |
| 1140 AutomationMsg_ExtensionResponseValues) |
| 1141 |
| 1142 // Silently load the extension in the given directory. This expects an |
| 1143 // extension expanded into the directory, not a crx file. |
| 1144 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_LoadExpandedExtension, |
| 1145 FilePath /* root directory of extension */, |
| 1146 AutomationMsg_ExtensionResponseValues) |
| 1147 |
| 1148 // Retrieves a list of the root directories of all enabled extensions |
| 1149 // that have been installed into Chrome by dropping a .crx file onto |
| 1150 // Chrome or an equivalent action (including loaded extensions). |
| 1151 // Other types of extensions are not included on the list (e.g. "component" |
| 1152 // or "external" extensions) since they are generally not useful for testing |
| 1153 // (e.g. an external extension could mess with an automated test if it's |
| 1154 // present on some systems only). |
| 1155 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetEnabledExtensions, |
| 1156 std::vector<FilePath>) |
| 1157 |
| 1158 // This message requests the type of the window with the given handle. The |
| 1159 // return value contains the type (Browser::Type), or -1 if the request |
| 1160 // failed. |
| 1161 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_Type, int, int) |
| 1162 |
| 1163 // Opens a new browser window of a specific type. |
| 1164 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_OpenNewBrowserWindowOfType, |
| 1165 int /* Type (Browser::Type) */, |
| 1166 bool /* show */ ) |
| 1167 |
| 1168 // This message requests that the mouse be moved to this location, in |
| 1169 // window coordinate space. |
| 1170 // Request: |
| 1171 // int - the handle of the window that's the context for this click |
| 1172 // gfx::Point - the location to move to |
| 1173 IPC_MESSAGE_ROUTED2(AutomationMsg_WindowMouseMove, int, gfx::Point) |
| 1174 |
| 1175 // Called when requests should be downloaded using a host browser's |
| 1176 // download mechanism when chrome is being embedded. |
| 1177 IPC_MESSAGE_ROUTED2(AutomationMsg_DownloadRequestInHost, |
| 1178 int /* tab_handle */, |
| 1179 int /* request_id */) |
| 1180 |
| 1181 // Shuts down the session service for the browser identified by |
| 1182 // |browser_handle|. On success |result| is set to true. |
| 1183 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShutdownSessionService, |
| 1184 int /* browser_handle */, |
| 1185 bool /* result */) |
| 1186 |
| 1187 IPC_MESSAGE_ROUTED1(AutomationMsg_SaveAsAsync, |
| 1188 int /* tab handle */) |
| 949 | 1189 |
| 950 #if defined(OS_WIN) | 1190 #if defined(OS_WIN) |
| 951 IPC_MESSAGE_ROUTED4(AutomationMsg_ForwardContextMenuToExternalHost, | 1191 // An incoming message from an automation host to Chrome. Signals that |
| 952 int /* tab_handle */, | 1192 // the browser containing |tab_handle| has moved. |
| 953 HANDLE /* source menu handle */, | 1193 IPC_MESSAGE_ROUTED1(AutomationMsg_BrowserMove, |
| 954 int /* align flags */, | 1194 int /* tab handle */) |
| 955 IPC::MiniContextMenuParams /* params */) | |
| 956 | |
| 957 IPC_MESSAGE_ROUTED2(AutomationMsg_ForwardContextMenuCommandToChrome, | |
| 958 int /* tab_handle */, | |
| 959 int /* selected_command */) | |
| 960 #endif // OS_WIN | |
| 961 | |
| 962 // A URL request to be fetched via automation | |
| 963 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestStart, | |
| 964 int /* tab_handle */, | |
| 965 int /* request_id */, | |
| 966 IPC::AutomationURLRequest /* request */) | |
| 967 | |
| 968 // Read data from a URL request to be fetched via automation | |
| 969 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestRead, | |
| 970 int /* tab_handle */, | |
| 971 int /* request_id */, | |
| 972 int /* bytes_to_read */) | |
| 973 | |
| 974 // Response to a AutomationMsg_RequestStart message | |
| 975 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestStarted, | |
| 976 int /* tab_handle */, | |
| 977 int /* request_id */, | |
| 978 IPC::AutomationURLResponse /* response */) | |
| 979 | |
| 980 // Data read via automation | |
| 981 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestData, | |
| 982 int /* tab_handle */, | |
| 983 int /* request_id */, | |
| 984 std::string /* data */) | |
| 985 | |
| 986 IPC_MESSAGE_ROUTED3(AutomationMsg_RequestEnd, | |
| 987 int /* tab_handle */, | |
| 988 int /* request_id */, | |
| 989 URLRequestStatus /* status */) | |
| 990 | |
| 991 IPC_MESSAGE_ROUTED1(AutomationMsg_PrintAsync, | |
| 992 int /* tab_handle */) | |
| 993 | |
| 994 IPC_MESSAGE_ROUTED3(AutomationMsg_SetCookieAsync, | |
| 995 int /* tab_handle */, | |
| 996 GURL /* url */, | |
| 997 std::string /* cookie */) | |
| 998 | |
| 999 IPC_MESSAGE_ROUTED1(AutomationMsg_SelectAll, | |
| 1000 int /* tab handle */) | |
| 1001 | |
| 1002 IPC_MESSAGE_ROUTED1(AutomationMsg_Cut, | |
| 1003 int /* tab handle */) | |
| 1004 | |
| 1005 IPC_MESSAGE_ROUTED1(AutomationMsg_Copy, | |
| 1006 int /* tab handle */) | |
| 1007 | |
| 1008 IPC_MESSAGE_ROUTED1(AutomationMsg_Paste, | |
| 1009 int /* tab handle */) | |
| 1010 | |
| 1011 IPC_MESSAGE_ROUTED1(AutomationMsg_ReloadAsync, | |
| 1012 int /* tab handle */) | |
| 1013 | |
| 1014 IPC_MESSAGE_ROUTED1(AutomationMsg_StopAsync, | |
| 1015 int /* tab handle */) | |
| 1016 | |
| 1017 // Returns the number of times a filter was used to service an URL request. | |
| 1018 // See AutomationMsg_SetFilteredInet. | |
| 1019 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetFilteredInetHitCount, | |
| 1020 int /* hit_count */) | |
| 1021 | |
| 1022 // Is the browser in fullscreen mode? | |
| 1023 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_IsFullscreen, | |
| 1024 int /* browser_handle */, | |
| 1025 bool /* is_fullscreen */) | |
| 1026 | |
| 1027 // Is the fullscreen bubble visible? | |
| 1028 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_IsFullscreenBubbleVisible, | |
| 1029 int /* browser_handle */, | |
| 1030 bool /* is_visible */) | |
| 1031 | |
| 1032 #if defined(OS_POSIX) | |
| 1033 // See previous definition of this message for explanation of why it is | |
| 1034 // defined twice. | |
| 1035 IPC_MESSAGE_ROUTED3(AutomationMsg_WindowClick, int, gfx::Point, int) | |
| 1036 #endif | 1195 #endif |
| 1037 | 1196 |
| 1038 // This message notifies the AutomationProvider to navigate to a specified | 1197 // Used to get cookies for the given URL. |
| 1039 // url in the tab with given handle. The first parameter is the handle to | 1198 IPC_MESSAGE_ROUTED3(AutomationMsg_GetCookiesFromHost, |
| 1040 // the tab resource. The second parameter is the target url. The third | 1199 int /* tab_handle */, |
| 1041 // parameter is the number of navigations that are required for a successful | 1200 GURL /* url */, |
| 1042 // return value. See AutomationMsg_NavigationResponseValues for the return | 1201 int /* opaque_cookie_id */) |
| 1043 // value. | 1202 |
| 1044 IPC_SYNC_MESSAGE_ROUTED3_1( | 1203 IPC_MESSAGE_ROUTED5(AutomationMsg_GetCookiesHostResponse, |
| 1045 AutomationMsg_NavigateToURLBlockUntilNavigationsComplete, int, GURL, int, | 1204 int /* tab_handle */, |
| 1046 AutomationMsg_NavigationResponseValues) | 1205 bool /* success */, |
| 1047 | 1206 GURL /* url */, |
| 1048 // This message notifies the AutomationProvider to navigate to a specified | 1207 std::string /* cookies */, |
| 1049 // navigation entry index in the external tab with given handle. The first | 1208 int /* opaque_cookie_id */) |
| 1050 // parameter is the handle to the tab resource. The second parameter is the | 1209 |
| 1051 // index of navigation entry. | 1210 // If the given host is empty, then the default content settings are |
| 1052 // The return value contains a status code which is nonnegative on success. | 1211 // modified. |
| 1053 // see AutomationMsg_NavigationResponseValues for the navigation response. | 1212 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_SetContentSetting, |
| 1054 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_NavigateExternalTabAtIndex, int, int, | 1213 int /* browser handle */, |
| 1055 AutomationMsg_NavigationResponseValues) | 1214 std::string /* host */, |
| 1056 | 1215 ContentSettingsType /* content type */, |
| 1057 // This message requests the provider to wait until the window count | 1216 ContentSetting /* setting */, |
| 1058 // reached the specified value. | 1217 bool /* success */) |
| 1059 // Request: | 1218 |
| 1060 // - int: target browser window count | 1219 #if defined(OS_CHROMEOS) |
| 1061 // Response: | 1220 // Logs in through the browser's login wizard if available. |
| 1062 // - bool: whether the operation was successful. | 1221 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_LoginWithUserAndPass, |
| 1063 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForBrowserWindowCountToBecome, | 1222 std::string /* username*/, |
| 1064 int, bool) | 1223 std::string /* password*/, |
| 1065 | 1224 bool /* Whether successful*/) |
| 1066 // This message requests the provider to wait until an application modal | |
| 1067 // dialog is shown. | |
| 1068 // Response: | |
| 1069 // - bool: whether the operation was successful | |
| 1070 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_WaitForAppModalDialogToBeShown, bool) | |
| 1071 | |
| 1072 // This message notifies the AutomationProvider to navigate back in session | |
| 1073 // history in the tab with given handle. The first parameter is the handle | |
| 1074 // to the tab resource. The second parameter is the number of navigations the | |
| 1075 // provider will wait for. | |
| 1076 // See AutomationMsg_NavigationResponseValues for the navigation response | |
| 1077 // values. | |
| 1078 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_GoBackBlockUntilNavigationsComplete, | |
| 1079 int, int, | |
| 1080 AutomationMsg_NavigationResponseValues) | |
| 1081 | |
| 1082 // This message notifies the AutomationProvider to navigate forward in session | |
| 1083 // history in the tab with given handle. The first parameter is the handle | |
| 1084 // to the tab resource. The second parameter is the number of navigations | |
| 1085 // the provider will wait for. | |
| 1086 // See AutomationMsg_NavigationResponseValues for the navigation response | |
| 1087 // values. | |
| 1088 IPC_SYNC_MESSAGE_ROUTED2_1( | |
| 1089 AutomationMsg_GoForwardBlockUntilNavigationsComplete, int, int, | |
| 1090 AutomationMsg_NavigationResponseValues) | |
| 1091 | |
| 1092 // This message is used by automation clients to upload histogram data to the | |
| 1093 // browser process. | |
| 1094 IPC_MESSAGE_ROUTED1(AutomationMsg_RecordHistograms, | |
| 1095 std::vector<std::string> /* histogram_list */) | |
| 1096 | |
| 1097 IPC_MESSAGE_ROUTED2(AutomationMsg_AttachExternalTab, | |
| 1098 int /* 'source' tab_handle */, | |
| 1099 IPC::AttachExternalTabParams) | |
| 1100 | |
| 1101 // Sent when the automation client connects to an existing tab. | |
| 1102 IPC_SYNC_MESSAGE_ROUTED3_4(AutomationMsg_ConnectExternalTab, | |
| 1103 uint64 /* cookie */, | |
| 1104 bool /* allow/block tab*/, | |
| 1105 gfx::NativeWindow /* parent window */, | |
| 1106 gfx::NativeWindow /* Tab container window */, | |
| 1107 gfx::NativeWindow /* Tab window */, | |
| 1108 int /* Handle to the new tab */, | |
| 1109 int /* Session Id of the new tab */) | |
| 1110 | |
| 1111 #if defined(OS_POSIX) | |
| 1112 // TODO(estade): this should be merged with the windows message of the same | |
| 1113 // name. See comment for WindowClick. | |
| 1114 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_WindowDrag, | |
| 1115 int, std::vector<gfx::Point>, int, bool, bool) | |
| 1116 #endif // defined(OS_POSIX) | |
| 1117 | |
| 1118 // This message gets the bounds of the window. | |
| 1119 // Request: | |
| 1120 // int - the handle of the window to query | |
| 1121 // Response: | |
| 1122 // gfx::Rect - the bounds of the window | |
| 1123 // bool - true if the query was successful | |
| 1124 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetWindowBounds, int, gfx::Rect, | |
| 1125 bool) | |
| 1126 | |
| 1127 // Simulate an end of session. Normally this happens when the user | |
| 1128 // shuts down the machine or logs off. | |
| 1129 // Request: | |
| 1130 // int - the handle of the browser | |
| 1131 // Response: | |
| 1132 // bool - true if succesful | |
| 1133 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_TerminateSession, int, bool) | |
| 1134 | |
| 1135 // Returns whether the window is maximized. | |
| 1136 // Request: | |
| 1137 // int - the handle of the window | |
| 1138 // Response: | |
| 1139 // bool - true if the window is maximized | |
| 1140 // bool - true if query is successful | |
| 1141 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_IsWindowMaximized, int, bool, bool) | |
| 1142 | |
| 1143 IPC_MESSAGE_ROUTED2(AutomationMsg_SetPageFontSize, | |
| 1144 int /* tab_handle */, | |
| 1145 int /* The font size */) | |
| 1146 | |
| 1147 // Returns a metric event duration that was last recorded. Returns -1 if the | |
| 1148 // event hasn't occurred yet. | |
| 1149 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_GetMetricEventDuration, | |
| 1150 std::string /* event_name */, | |
| 1151 int /* duration ms */) | |
| 1152 | |
| 1153 // Sent by automation provider - go to history entry via automation. | |
| 1154 IPC_MESSAGE_ROUTED2(AutomationMsg_RequestGoToHistoryEntryOffset, | |
| 1155 int, // tab handle | |
| 1156 int) // numbers of entries (negative or positive) | |
| 1157 | |
| 1158 // Silently install the extension in the given crx file. | |
| 1159 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_InstallExtension, | |
| 1160 FilePath /* full path to crx file */, | |
| 1161 AutomationMsg_ExtensionResponseValues) | |
| 1162 | |
| 1163 // Silently load the extension in the given directory. This expects an | |
| 1164 // extension expanded into the directory, not a crx file. | |
| 1165 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_LoadExpandedExtension, | |
| 1166 FilePath /* root directory of extension */, | |
| 1167 AutomationMsg_ExtensionResponseValues) | |
| 1168 | |
| 1169 // Retrieves a list of the root directories of all enabled extensions | |
| 1170 // that have been installed into Chrome by dropping a .crx file onto | |
| 1171 // Chrome or an equivalent action (including loaded extensions). | |
| 1172 // Other types of extensions are not included on the list (e.g. "component" | |
| 1173 // or "external" extensions) since they are generally not useful for testing | |
| 1174 // (e.g. an external extension could mess with an automated test if it's | |
| 1175 // present on some systems only). | |
| 1176 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_GetEnabledExtensions, | |
| 1177 std::vector<FilePath>) | |
| 1178 | |
| 1179 // This message requests the type of the window with the given handle. The | |
| 1180 // return value contains the type (Browser::Type), or -1 if the request | |
| 1181 // failed. | |
| 1182 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_Type, int, int) | |
| 1183 | |
| 1184 // Opens a new browser window of a specific type. | |
| 1185 IPC_SYNC_MESSAGE_ROUTED2_0(AutomationMsg_OpenNewBrowserWindowOfType, | |
| 1186 int /* Type (Browser::Type) */, | |
| 1187 bool /* show */ ) | |
| 1188 | |
| 1189 // This message requests that the mouse be moved to this location, in | |
| 1190 // window coordinate space. | |
| 1191 // Request: | |
| 1192 // int - the handle of the window that's the context for this click | |
| 1193 // gfx::Point - the location to move to | |
| 1194 IPC_MESSAGE_ROUTED2(AutomationMsg_WindowMouseMove, int, gfx::Point) | |
| 1195 | |
| 1196 // Called when requests should be downloaded using a host browser's | |
| 1197 // download mechanism when chrome is being embedded. | |
| 1198 IPC_MESSAGE_ROUTED2(AutomationMsg_DownloadRequestInHost, | |
| 1199 int /* tab_handle */, | |
| 1200 int /* request_id */) | |
| 1201 | |
| 1202 // Shuts down the session service for the browser identified by | |
| 1203 // |browser_handle|. On success |result| is set to true. | |
| 1204 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShutdownSessionService, | |
| 1205 int /* browser_handle */, | |
| 1206 bool /* result */) | |
| 1207 | |
| 1208 IPC_MESSAGE_ROUTED1(AutomationMsg_SaveAsAsync, | |
| 1209 int /* tab handle */) | |
| 1210 | |
| 1211 #if defined(OS_WIN) | |
| 1212 // An incoming message from an automation host to Chrome. Signals that | |
| 1213 // the browser containing |tab_handle| has moved. | |
| 1214 IPC_MESSAGE_ROUTED1(AutomationMsg_BrowserMove, | |
| 1215 int /* tab handle */) | |
| 1216 #endif | 1225 #endif |
| 1217 | 1226 |
| 1218 // Used to get cookies for the given URL. | 1227 // Return the bookmarks encoded as a JSON string. |
| 1219 IPC_MESSAGE_ROUTED3(AutomationMsg_GetCookiesFromHost, | 1228 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetBookmarksAsJSON, |
| 1220 int /* tab_handle */, | 1229 int /* browser_handle */, |
| 1221 GURL /* url */, | 1230 std::string /* bookmarks as a JSON string */, |
| 1222 int /* opaque_cookie_id */) | 1231 bool /* success */) |
| 1223 | 1232 |
| 1224 IPC_MESSAGE_ROUTED5(AutomationMsg_GetCookiesHostResponse, | 1233 // Wait for the bookmark model to load. |
| 1225 int /* tab_handle */, | 1234 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForBookmarkModelToLoad, |
| 1226 bool /* success */, | 1235 int /* browser_handle */, |
| 1227 GURL /* url */, | 1236 bool /* success */) |
| 1228 std::string /* cookies */, | 1237 |
| 1229 int /* opaque_cookie_id */) | 1238 // Bookmark addition, modification, and removal. |
| 1230 | 1239 // Bookmarks are indexed by their id. |
| 1231 // If the given host is empty, then the default content settings are | 1240 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_AddBookmarkGroup, |
| 1232 // modified. | 1241 int /* browser_handle */, |
| 1233 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_SetContentSetting, | 1242 int64 /* parent_id */, |
| 1234 int /* browser handle */, | 1243 int /* index */, |
| 1235 std::string /* host */, | 1244 std::wstring /* title */, |
| 1236 ContentSettingsType /* content type */, | 1245 bool /* success */) |
| 1237 ContentSetting /* setting */, | 1246 IPC_SYNC_MESSAGE_ROUTED5_1(AutomationMsg_AddBookmarkURL, |
| 1238 bool /* success */) | 1247 int /* browser_handle */, |
| 1239 | 1248 int64 /* parent_id */, |
| 1240 #if defined(OS_CHROMEOS) | 1249 int /* index */, |
| 1241 // Logs in through the browser's login wizard if available. | 1250 std::wstring /* title */, |
| 1242 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_LoginWithUserAndPass, | 1251 GURL /* url */, |
| 1243 std::string /* username*/, | 1252 bool /* success */) |
| 1244 std::string /* password*/, | 1253 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_ReparentBookmark, |
| 1245 bool /* Whether successful*/) | 1254 int /* browser_handle */, |
| 1246 #endif | 1255 int64 /* id */, |
| 1247 | 1256 int64 /* new_parent_id */, |
| 1248 // Return the bookmarks encoded as a JSON string. | 1257 int /* index */, |
| 1249 IPC_SYNC_MESSAGE_ROUTED1_2(AutomationMsg_GetBookmarksAsJSON, | 1258 bool /* success */) |
| 1250 int /* browser_handle */, | 1259 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBookmarkTitle, |
| 1251 std::string /* bookmarks as a JSON string */, | 1260 int /* browser_handle */, |
| 1252 bool /* success */) | 1261 int64 /* id */, |
| 1253 | 1262 std::wstring /* title */, |
| 1254 // Wait for the bookmark model to load. | 1263 bool /* success */) |
| 1255 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForBookmarkModelToLoad, | 1264 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBookmarkURL, |
| 1256 int /* browser_handle */, | 1265 int /* browser_handle */, |
| 1257 bool /* success */) | 1266 int64 /* id */, |
| 1258 | 1267 GURL /* url */, |
| 1259 // Bookmark addition, modification, and removal. | 1268 bool /* success */) |
| 1260 // Bookmarks are indexed by their id. | 1269 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_RemoveBookmark, |
| 1261 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_AddBookmarkGroup, | 1270 int /* browser_handle */, |
| 1262 int /* browser_handle */, | 1271 int64 /* id */, |
| 1263 int64 /* parent_id */, | 1272 bool /* success */) |
| 1264 int /* index */, | 1273 |
| 1265 std::wstring /* title */, | 1274 // This message informs the browser process to remove the history entries |
| 1266 bool /* success */) | 1275 // for the specified types across all time ranges. See |
| 1267 IPC_SYNC_MESSAGE_ROUTED5_1(AutomationMsg_AddBookmarkURL, | 1276 // browsing_data_remover.h for a list of REMOVE_* types supported in the |
| 1268 int /* browser_handle */, | 1277 // remove_mask parameter. |
| 1269 int64 /* parent_id */, | 1278 IPC_MESSAGE_ROUTED1(AutomationMsg_RemoveBrowsingData, int) |
| 1270 int /* index */, | 1279 |
| 1271 std::wstring /* title */, | 1280 // Block until the focused view id changes to something other than |
| 1272 GURL /* url */, | 1281 // |previous_view_id|. |
| 1273 bool /* success */) | 1282 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_WaitForFocusedViewIDToChange, |
| 1274 IPC_SYNC_MESSAGE_ROUTED4_1(AutomationMsg_ReparentBookmark, | 1283 int /* window handle */, |
| 1275 int /* browser_handle */, | 1284 int /* previous_view_id */, |
| 1276 int64 /* id */, | 1285 bool /* success */, |
| 1277 int64 /* new_parent_id */, | 1286 int /* new_view_id */) |
| 1278 int /* index */, | 1287 |
| 1279 bool /* success */) | 1288 // To avoid race conditions, waiting until a popup menu opens is a |
| 1280 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBookmarkTitle, | 1289 // three-step process: |
| 1281 int /* browser_handle */, | 1290 // 1. Call StartTrackingPopupMenus. |
| 1282 int64 /* id */, | 1291 // 2. Call an automation method that results in opening the popup menu. |
| 1283 std::wstring /* title */, | 1292 // 3. Call WaitForPopupMenuToOpen and check for success. |
| 1284 bool /* success */) | 1293 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_StartTrackingPopupMenus, |
| 1285 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_SetBookmarkURL, | 1294 int /* browser handle */, |
| 1286 int /* browser_handle */, | 1295 bool /* success */) |
| 1287 int64 /* id */, | 1296 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_WaitForPopupMenuToOpen, |
| 1288 GURL /* url */, | 1297 bool /* success */) |
| 1289 bool /* success */) | 1298 |
| 1290 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_RemoveBookmark, | 1299 // Generic pyauto pattern to help avoid future addition of |
| 1291 int /* browser_handle */, | 1300 // automation messages. |
| 1292 int64 /* id */, | 1301 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_SendJSONRequest, |
| 1293 bool /* success */) | 1302 int /* browser_handle */, |
| 1294 | 1303 std::string /* JSON request */, |
| 1295 // This message informs the browser process to remove the history entries | 1304 std::string /* JSON response */, |
| 1296 // for the specified types across all time ranges. See | 1305 bool /* success */) |
| 1297 // browsing_data_remover.h for a list of REMOVE_* types supported in the | 1306 |
| 1298 // remove_mask parameter. | 1307 // Installs an extension from the crx file and returns its id. |
| 1299 IPC_MESSAGE_ROUTED1(AutomationMsg_RemoveBrowsingData, int) | 1308 // On error, |extension handle| will be 0. |
| 1300 | 1309 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_InstallExtensionAndGetHandle, |
| 1301 // Block until the focused view id changes to something other than | 1310 FilePath /* full path to crx file */, |
| 1302 // |previous_view_id|. | 1311 bool /* with UI */, |
| 1303 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_WaitForFocusedViewIDToChange, | 1312 int /* extension handle */) |
| 1304 int /* window handle */, | 1313 |
| 1305 int /* previous_view_id */, | 1314 // Waits for the next extension test result. Sets |test result| as the |
| 1306 bool /* success */, | 1315 // received result and |message| as any accompanying message with the |
| 1307 int /* new_view_id */) | 1316 // result, which could be the empty string. |
| 1308 | 1317 IPC_SYNC_MESSAGE_ROUTED0_2(AutomationMsg_WaitForExtensionTestResult, |
| 1309 // To avoid race conditions, waiting until a popup menu opens is a | 1318 bool /* test result */, |
| 1310 // three-step process: | 1319 std::string /* message */) |
| 1311 // 1. Call StartTrackingPopupMenus. | 1320 |
| 1312 // 2. Call an automation method that results in opening the popup menu. | 1321 // Uninstalls an extension. On success |success| is true. |
| 1313 // 3. Call WaitForPopupMenuToOpen and check for success. | 1322 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_UninstallExtension, |
| 1314 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_StartTrackingPopupMenus, | 1323 int /* extension handle */, |
| 1315 int /* browser handle */, | 1324 bool /* success */) |
| 1316 bool /* success */) | 1325 |
| 1317 IPC_SYNC_MESSAGE_ROUTED0_1(AutomationMsg_WaitForPopupMenuToOpen, | 1326 // Enables an extension. On success |success| is true. |
| 1318 bool /* success */) | 1327 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_EnableExtension, |
| 1319 | 1328 int /* extension handle */, |
| 1320 // Generic pyauto pattern to help avoid future addition of | 1329 bool /* success */) |
| 1321 // automation messages. | 1330 |
| 1322 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_SendJSONRequest, | 1331 // Disables an extension. On success |success| is true. |
| 1323 int /* browser_handle */, | 1332 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_DisableExtension, |
| 1324 std::string /* JSON request */, | 1333 int /* extension handle */, |
| 1325 std::string /* JSON response */, | 1334 bool /* success */) |
| 1326 bool /* success */) | 1335 |
| 1327 | 1336 // Executes the action associated with the given extension. This executes |
| 1328 // Installs an extension from the crx file and returns its id. | 1337 // the extension's page or browser action in the given browser, but does |
| 1329 // On error, |extension handle| will be 0. | 1338 // not open popups. On success |success| is true. |
| 1330 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_InstallExtensionAndGetHandle, | 1339 IPC_SYNC_MESSAGE_ROUTED2_1( |
| 1331 FilePath /* full path to crx file */, | 1340 AutomationMsg_ExecuteExtensionActionInActiveTabAsync, |
| 1332 bool /* with UI */, | 1341 int /* extension handle */, |
| 1333 int /* extension handle */) | 1342 int /* browser handle */, |
| 1334 | 1343 bool /* success */) |
| 1335 // Waits for the next extension test result. Sets |test result| as the | 1344 |
| 1336 // received result and |message| as any accompanying message with the | 1345 // Moves the browser action to the given index in the browser action toolbar. |
| 1337 // result, which could be the empty string. | 1346 // On success |success| is true. |
| 1338 IPC_SYNC_MESSAGE_ROUTED0_2(AutomationMsg_WaitForExtensionTestResult, | 1347 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_MoveExtensionBrowserAction, |
| 1339 bool /* test result */, | 1348 int /* extension handle */, |
| 1340 std::string /* message */) | 1349 int /* index */, |
| 1341 | 1350 bool /* success */) |
| 1342 // Uninstalls an extension. On success |success| is true. | 1351 |
| 1343 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_UninstallExtension, | 1352 // Gets an extension property |property type|. On success |success| is true, |
| 1344 int /* extension handle */, | 1353 // and |property value| is set. |
| 1345 bool /* success */) | 1354 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetExtensionProperty, |
| 1346 | 1355 int /* extension handle */, |
| 1347 // Enables an extension. On success |success| is true. | 1356 AutomationMsg_ExtensionProperty /* property type */, |
| 1348 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_EnableExtension, | 1357 bool /* success */, |
| 1349 int /* extension handle */, | 1358 std::string /* property value */) |
| 1350 bool /* success */) | 1359 |
| 1351 | 1360 // Resets to the default theme. |
| 1352 // Disables an extension. On success |success| is true. | 1361 IPC_SYNC_MESSAGE_ROUTED0_0(AutomationMsg_ResetToDefaultTheme) |
| 1353 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_DisableExtension, | 1362 |
| 1354 int /* extension handle */, | 1363 // Navigates asynchronously to a URL with a certain disposition, |
| 1355 bool /* success */) | 1364 // like in a new tab. |
| 1356 | 1365 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_NavigationAsyncWithDisposition, |
| 1357 // Executes the action associated with the given extension. This executes | 1366 int /* tab handle */, |
| 1358 // the extension's page or browser action in the given browser, but does | 1367 GURL, |
| 1359 // not open popups. On success |success| is true. | 1368 WindowOpenDisposition, |
| 1360 IPC_SYNC_MESSAGE_ROUTED2_1( | 1369 bool /* result */) |
| 1361 AutomationMsg_ExecuteExtensionActionInActiveTabAsync, | 1370 |
| 1362 int /* extension handle */, | 1371 |
| 1363 int /* browser handle */, | 1372 // This message requests the cookie be deleted for given url in the |
| 1364 bool /* success */) | 1373 // profile of the tab identified by the first parameter. The second |
| 1365 | 1374 // parameter is the cookie name. |
| 1366 // Moves the browser action to the given index in the browser action toolbar. | 1375 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_DeleteCookie, GURL, std::string, |
| 1367 // On success |success| is true. | 1376 int /* tab handle */, |
| 1368 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_MoveExtensionBrowserAction, | 1377 bool /* result */) |
| 1369 int /* extension handle */, | 1378 |
| 1370 int /* index */, | 1379 // This message triggers the collected cookies dialog for a specific tab. |
| 1371 bool /* success */) | 1380 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShowCollectedCookiesDialog, |
| 1372 | 1381 int /* tab handle */, |
| 1373 // Gets an extension property |property type|. On success |success| is true, | 1382 bool /* result */) |
| 1374 // and |property value| is set. | 1383 |
| 1375 IPC_SYNC_MESSAGE_ROUTED2_2(AutomationMsg_GetExtensionProperty, | 1384 // This message requests the external tab identified by the tab handle |
| 1376 int /* extension handle */, | 1385 // passed in be closed. |
| 1377 AutomationMsg_ExtensionProperty /* property type */, | 1386 // Request: |
| 1378 bool /* success */, | 1387 // -int: Tab handle |
| 1379 std::string /* property value */) | 1388 // Response: |
| 1380 | 1389 // None expected |
| 1381 // Resets to the default theme. | 1390 IPC_MESSAGE_ROUTED1(AutomationMsg_CloseExternalTab, int) |
| 1382 IPC_SYNC_MESSAGE_ROUTED0_0(AutomationMsg_ResetToDefaultTheme) | 1391 |
| 1383 | 1392 // This message requests that the external tab identified by the tab handle |
| 1384 // Navigates asynchronously to a URL with a certain disposition, | 1393 // runs unload handlers if any on the current page. |
| 1385 // like in a new tab. | 1394 // Request: |
| 1386 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_NavigationAsyncWithDisposition, | 1395 // -int: Tab handle |
| 1387 int /* tab handle */, | 1396 // -bool: result: true->unload, false->don't unload |
| 1388 GURL, | 1397 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_RunUnloadHandlers, int, bool) |
| 1389 WindowOpenDisposition, | 1398 |
| 1390 bool /* result */) | 1399 // This message sets the current zoom level on the tab |
| 1391 | 1400 // Request: |
| 1392 | 1401 // -int: Tab handle |
| 1393 // This message requests the cookie be deleted for given url in the | 1402 // -int: Zoom level. Values ZOOM_OUT = -1, RESET = 0, ZOOM_IN = 1 |
| 1394 // profile of the tab identified by the first parameter. The second | 1403 // Response: |
| 1395 // parameter is the cookie name. | 1404 // None expected |
| 1396 IPC_SYNC_MESSAGE_ROUTED3_1(AutomationMsg_DeleteCookie, GURL, std::string, | 1405 IPC_MESSAGE_ROUTED2(AutomationMsg_SetZoomLevel, int, int) |
| 1397 int /* tab handle */, | 1406 |
| 1398 bool /* result */) | 1407 // Waits for tab count to reach target value. |
| 1399 | 1408 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForTabCountToBecome, |
| 1400 // This message triggers the collected cookies dialog for a specific tab. | 1409 int /* browser handle */, |
| 1401 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_ShowCollectedCookiesDialog, | 1410 int /* target tab count */, |
| 1402 int /* tab handle */, | 1411 bool /* success */) |
| 1403 bool /* result */) | 1412 |
| 1404 | 1413 // Waits for the infobar count to reach given number. |
| 1405 // This message requests the external tab identified by the tab handle | 1414 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForInfoBarCount, |
| 1406 // passed in be closed. | 1415 int /* tab handle */, |
| 1407 // Request: | 1416 int /* target count */, |
| 1408 // -int: Tab handle | 1417 bool /* success */) |
| 1409 // Response: | 1418 |
| 1410 // None expected | 1419 // Waits for the autocomplete edit to receive focus. |
| 1411 IPC_MESSAGE_ROUTED1(AutomationMsg_CloseExternalTab, int) | 1420 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForAutocompleteEditFocus, |
| 1412 | 1421 int /* autocomplete edit handle */, |
| 1413 // This message requests that the external tab identified by the tab handle | 1422 bool /* success */) |
| 1414 // runs unload handlers if any on the current page. | 1423 |
| 1415 // Request: | 1424 // Loads all blocked plug-ins on the page. |
| 1416 // -int: Tab handle | 1425 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_LoadBlockedPlugins, |
| 1417 // -bool: result: true->unload, false->don't unload | 1426 int /* tab handle */, |
| 1418 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_RunUnloadHandlers, int, bool) | 1427 bool /* success */) |
| 1419 | 1428 |
| 1420 // This message sets the current zoom level on the tab | 1429 // Captures the entire page for the tab, including those portions not in |
| 1421 // Request: | 1430 // view, and saves the image as a PNG in the given file location. |
| 1422 // -int: Tab handle | 1431 // Request: |
| 1423 // -int: Zoom level. Values ZOOM_OUT = -1, RESET = 0, ZOOM_IN = 1 | 1432 // -int: Tab handle |
| 1424 // Response: | 1433 // -FilePath: Path to save the captured image to |
| 1425 // None expected | 1434 // Response: |
| 1426 IPC_MESSAGE_ROUTED2(AutomationMsg_SetZoomLevel, int, int) | 1435 // -bool: Whether the method succeeded |
| 1427 | 1436 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_CaptureEntirePageAsPNG, int, |
| 1428 // Waits for tab count to reach target value. | 1437 FilePath, bool) |
| 1429 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForTabCountToBecome, | |
| 1430 int /* browser handle */, | |
| 1431 int /* target tab count */, | |
| 1432 bool /* success */) | |
| 1433 | |
| 1434 // Waits for the infobar count to reach given number. | |
| 1435 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_WaitForInfoBarCount, | |
| 1436 int /* tab handle */, | |
| 1437 int /* target count */, | |
| 1438 bool /* success */) | |
| 1439 | |
| 1440 // Waits for the autocomplete edit to receive focus. | |
| 1441 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_WaitForAutocompleteEditFocus, | |
| 1442 int /* autocomplete edit handle */, | |
| 1443 bool /* success */) | |
| 1444 | |
| 1445 // Loads all blocked plug-ins on the page. | |
| 1446 IPC_SYNC_MESSAGE_ROUTED1_1(AutomationMsg_LoadBlockedPlugins, | |
| 1447 int /* tab handle */, | |
| 1448 bool /* success */) | |
| 1449 | |
| 1450 // Captures the entire page for the tab, including those portions not in | |
| 1451 // view, and saves the image as a PNG in the given file location. | |
| 1452 // Request: | |
| 1453 // -int: Tab handle | |
| 1454 // -FilePath: Path to save the captured image to | |
| 1455 // Response: | |
| 1456 // -bool: Whether the method succeeded | |
| 1457 IPC_SYNC_MESSAGE_ROUTED2_1(AutomationMsg_CaptureEntirePageAsPNG, int, | |
| 1458 FilePath, bool) | |
| 1459 | |
| 1460 IPC_END_MESSAGES(Automation) | |
| OLD | NEW |