| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Defines the IPC messages used by the automation interface. |
| |
| #include <string> |
| #include <vector> |
| |
| #include "base/string16.h" |
| #include "chrome/common/content_settings.h" |
| #include "chrome/test/automation/autocomplete_edit_proxy.h" |
| #include "content/common/navigation_types.h" |
| #include "googleurl/src/gurl.h" |
| #include "ipc/ipc_message_macros.h" |
| #include "net/url_request/url_request_status.h" |
| #include "ui/gfx/rect.h" |
| #include "webkit/glue/window_open_disposition.h" |
| |
| |
| // NOTE: All IPC messages have either a routing_id of 0 (for asynchronous |
| // messages), or one that's been assigned by the proxy (for calls |
| // which expect a response). The routing_id shouldn't be used for |
| // any other purpose in these message types. |
| |
| // NOTE: All the new IPC messages should go at the end. |
| // The IPC message IDs need to match the reference builds. Since we now |
| // define the IDs based on __LINE__, to allow these IPC messages to be |
| // used to control an old version of Chrome we need the message IDs to |
| // remain the same. This means that you should not change the line number |
| // of any of the messages below. This will be fixed once Xcode supports |
| // __COUNTER__, in which case we can get rid of the __LINE__. |
| |
| #define IPC_MESSAGE_START AutomationMsgStart |
| |
| // This message is fired when the AutomationProvider is up and running |
| // in the app (the app is not fully up at this point). The parameter to this |
| // message is the version string of the automation provider. This parameter |
| // is defined to be the version string as returned by |
| // chrome::VersionInfo::Version(). |
| // The client can choose to use this version string to decide whether or not |
| // it can talk to the provider. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_Hello, |
| std::string) |
| |
| // This message is fired when the initial tab(s) are finished loading. |
| IPC_MESSAGE_CONTROL0(AutomationMsg_InitialLoadsComplete) |
| |
| // This message notifies the AutomationProvider to append a new tab the |
| // window with the given handle. The return value contains the index of |
| // the new tab, or -1 if the request failed. |
| // The second parameter is the url to be loaded in the new tab. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_AppendTab, |
| int, |
| GURL, |
| int) |
| |
| // This message requests the (zero-based) index for the currently |
| // active tab in the window with the given handle. The return value contains |
| // the index of the active tab, or -1 if the request failed. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ActiveTabIndex, |
| int, |
| int) |
| |
| // This message notifies the AutomationProvider to active the tab. |
| // The first parameter is the handle to window resource. |
| // The second parameter is the (zero-based) index to be activated |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_ActivateTab, |
| int, |
| int, |
| int) |
| |
| // This message requests the cookie value for given url in the |
| // profile of the tab identified by the second parameter. The first |
| // parameter is the URL string. The response contains the length of the |
| // cookie value string. On failure, this length = -1. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_GetCookies, |
| GURL, |
| int, |
| int, |
| std::string) |
| |
| // This message notifies the AutomationProvider to set and broadcast a cookie |
| // with given name and value for the given url in the profile of the tab |
| // identified by the third parameter. The first parameter is the URL |
| // string, and the second parameter is the cookie name and value to be set. |
| // The return value is a non-negative value on success. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetCookie, |
| GURL, |
| std::string, |
| int, |
| int) |
| |
| // This message is used to implement the asynchronous version of |
| // NavigateToURL. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_NavigationAsync, |
| int /* tab handle */, |
| GURL, |
| bool /* result */) |
| |
| // This message requests the number of browser windows that the app currently |
| // has open. The return value is the number of windows. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_BrowserWindowCount, |
| int) |
| |
| // This message requests the handle (int64 app-unique identifier) of the |
| // window with the given (zero-based) index. On error, the returned handle |
| // value is 0. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BrowserWindow, |
| int, |
| int) |
| |
| // This message requests the number of tabs in the window with the given |
| // handle. The return value contains the number of tabs, or -1 if the |
| // request failed. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TabCount, |
| int, |
| int) |
| |
| // This message requests the handle of the tab with the given (zero-based) |
| // index in the given app window. First parameter specifies the given window |
| // handle, second specifies the given tab_index. On error, the returned handle |
| // value is 0. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_Tab, |
| int, |
| int, |
| int) |
| |
| // This message requests the the title of the tab with the given handle. |
| // The return value contains the size of the title string. On error, this |
| // value should be -1 and empty string. Note that the title can be empty in |
| // which case the size would be 0. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_TabTitle, |
| int, |
| int, |
| std::wstring) |
| |
| // This message requests the url of the tab with the given handle. |
| // The return value contains a success flag and the URL string. The URL will |
| // be empty on failure, and it still may be empty on success. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_TabURL, |
| int /* tab handle */, |
| bool /* success flag */, |
| GURL) |
| |
| // This message notifies the AutomationProxy that a handle that it has |
| // previously been given is now invalid. (For instance, if the handle |
| // represented a window which has now been closed.) The parameter |
| // value is the handle. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_InvalidateHandle, |
| int) |
| |
| // This message notifies the AutomationProvider that a handle is no |
| // longer being used, so it can stop paying attention to the |
| // associated resource. The parameter value is the handle. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_HandleUnused, |
| int) |
| |
| // This message tells the AutomationProvider to provide the given |
| // authentication data to the specified tab, in response to an HTTP/FTP |
| // authentication challenge. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetAuth, |
| int /* tab handle */, |
| std::wstring /* username */, |
| std::wstring /* password */, |
| AutomationMsg_NavigationResponseValues /* status */) |
| |
| // This message tells the AutomationProvider to cancel the login in the |
| // specified tab. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_CancelAuth, |
| int /* tab handle */, |
| AutomationMsg_NavigationResponseValues /* status */) |
| |
| // Requests that the automation provider ask history for the most recent |
| // chain of redirects coming from the given URL. The response must be |
| // decoded by the caller manually; it contains an integer indicating the |
| // number of URLs, followed by that many wstrings indicating a chain of |
| // redirects. On failure, the count will be negative. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_RedirectsFrom, |
| int /* tab handle */, |
| GURL /* source URL */, |
| bool /* succeeded */, |
| std::vector<GURL> /* redirects */) |
| |
| // This message asks the AutomationProvider whether a tab is waiting for |
| // login info. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_NeedsAuth, |
| int /* tab handle */, |
| bool /* status */) |
| |
| // This message requests that the AutomationProvider executes a JavaScript, |
| // which is sent embedded in a 'javascript:' URL. |
| // The javascript is executed in context of child frame whose xpath |
| // is passed as parameter (context_frame). The execution results in |
| // a serialized JSON string response. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DomOperation, |
| int /* tab handle */, |
| std::wstring /* context_frame */, |
| std::wstring /* the javascript to be executed */, |
| std::string /* the serialized json string containg |
| the result of a javascript |
| execution */) |
| |
| // Is the Download Shelf visible for the specified browser? |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ShelfVisibility, |
| int /* browser_handle */, |
| bool /* is_visible */) |
| |
| // This message requests the number of constrained windows in the tab with |
| // the given handle. The return value contains the number of constrained |
| // windows, or -1 if the request failed. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ConstrainedWindowCount, |
| int /* tab_handle */, |
| int /* constrained_window_count */) |
| |
| // This message requests the bounds of the specified View element in |
| // window coordinates. |
| // Request: |
| // int - the handle of the window in which the view appears |
| // int - the ID of the view, as specified in chrome/browser/ui/view_ids.h |
| // bool - whether the bounds should be returned in the screen coordinates |
| // (if true) or in the browser coordinates (if false). |
| // Response: |
| // bool - true if the view was found |
| // gfx::Rect - the bounds of the view, in window coordinates |
| IPC_SYNC_MESSAGE_CONTROL3_2(AutomationMsg_WindowViewBounds, |
| int, |
| int, |
| bool, |
| bool, |
| gfx::Rect) |
| |
| // This message sets the bounds of the window. |
| // Request: |
| // int - the handle of the window to resize |
| // gfx::Rect - the bounds of the window |
| // Response: |
| // bool - true if the resize was successful |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_SetWindowBounds, |
| int, |
| gfx::Rect, |
| bool) |
| |
| // TODO(port): Port these messages. |
| // |
| // This message requests that a drag be performed in window coordinate space |
| // Request: |
| // int - the handle of the window that's the context for this drag |
| // std::vector<gfx::Point> - the path of the drag in window coordinate |
| // space; it should have at least 2 points |
| // (start and end) |
| // int - the flags which identify the mouse button(s) for the drag, as |
| // defined in chrome/views/event.h |
| // Response: |
| // bool - true if the drag could be performed |
| IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_WindowDrag, |
| int, |
| std::vector<gfx::Point>, |
| int, |
| bool, |
| bool) |
| |
| // Similar to AutomationMsg_InitialLoadsComplete, this indicates that the |
| // new tab ui has completed the initial load of its data. |
| // Time is how many milliseconds the load took. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_InitialNewTabUILoadComplete, |
| int /* time */) |
| |
| // This message sends a inspect element request for a given tab. The response |
| // contains the number of resources loaded by the inspector controller. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_InspectElement, |
| int, /* tab_handle */ |
| int, /* x */ |
| int /* y */, |
| int) |
| |
| // This message requests the process ID of the tab that corresponds |
| // to the given automation handle. |
| // The return value has an integer corresponding to the PID of the tab's |
| // renderer, 0 if the tab currently has no renderer process, or -1 on error. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TabProcessID, |
| int /* tab_handle */, |
| int /* process ID */) |
| |
| // This tells the browser to enable or disable the filtered network layer. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_SetFilteredInet, |
| bool /* enabled */) |
| |
| // Gets the directory that downloads will occur in for the active profile. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DownloadDirectory, |
| int /* tab_handle */, |
| FilePath /* directory */) |
| |
| // This message requests the id of the view that has the focus in the |
| // specified window. If no view is focused, -1 is returned. Note that the |
| // window should either be a ViewWindow or a Browser. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetFocusedViewID, |
| int /* view_handle */, |
| int /* focused_view_id */) |
| |
| // This message shows/hides the window. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_SetWindowVisible, |
| int /* view_handle */, |
| bool /* visible */, |
| bool /* success */) |
| |
| // Gets the active status of a window. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_IsWindowActive, |
| int /* view_handle */, |
| bool /* success */, |
| bool /* active */) |
| |
| // Makes the specified window the active window. |
| IPC_SYNC_MESSAGE_CONTROL1_0(AutomationMsg_ActivateWindow, |
| int /* view_handle */) |
| |
| // Opens a new browser window. |
| // TODO(sky): remove this and replace with OpenNewBrowserWindowOfType. |
| // Doing this requires updating the reference build. |
| IPC_SYNC_MESSAGE_CONTROL1_0(AutomationMsg_OpenNewBrowserWindow, |
| bool /* show */ ) |
| |
| // This message requests the handle (int64 app-unique identifier) of the |
| // current active top window. On error, the returned handle value is 0. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_ActiveWindow, |
| int) |
| |
| // This message requests the browser associated with the specified window |
| // handle. |
| // The return value contains a success flag and the handle of the browser. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_BrowserForWindow, |
| int /* window handle */, |
| bool /* success flag */, |
| int /* browser handle */) |
| |
| // This message requests the window associated with the specified browser |
| // handle. |
| // The return value contains a success flag and the handle of the window. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_WindowForBrowser, |
| int /* browser handle */, |
| bool /* success flag */, |
| int /* window handle */) |
| |
| // This message requests the AutocompleteEdit associated with the specified |
| // browser handle. |
| // The return value contains a success flag and the handle of the omnibox. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_AutocompleteEditForBrowser, |
| int /* browser handle */, |
| bool /* success flag */, |
| int /* AutocompleteEdit handle */) |
| |
| // This message requests that a mouse click be performed in window coordinate |
| // space. |
| // Request: |
| // int - the handle of the window that's the context for this click |
| // gfx::Point - the point to click |
| // int - the flags which identify the mouse button(s) for the click, as |
| // defined in chrome/views/event.h |
| IPC_MESSAGE_CONTROL3(AutomationMsg_WindowClick, |
| int, |
| gfx::Point, |
| int) |
| |
| // This message requests that a key press be performed. |
| // Request: |
| // int - the handle of the window that's the context for this click |
| // int - the ui::KeyboardCode of the key that was pressed. |
| // int - the flags which identify the modifiers (shift, ctrl, alt) |
| // associated for, as defined in chrome/views/event.h |
| IPC_MESSAGE_CONTROL3(AutomationMsg_WindowKeyPress, |
| int, |
| int, |
| int) |
| |
| // This message notifies the AutomationProvider to create a tab which is |
| // hosted by an external process. |
| // Request: |
| // ExternalTabSettings - settings for external tab |
| IPC_SYNC_MESSAGE_CONTROL1_4(AutomationMsg_CreateExternalTab, |
| ExternalTabSettings /* settings*/, |
| gfx::NativeWindow /* Tab container window */, |
| gfx::NativeWindow /* Tab window */, |
| int /* Handle to the new tab */, |
| int /* Session Id of the new tab */) |
| |
| // This message notifies the AutomationProvider to navigate to a specified |
| // url in the external tab with given handle. The first parameter is the |
| // handle to the tab resource. The second parameter is the target url. |
| // The third parameter is the referrer. |
| // The return value contains a status code which is nonnegative on success. |
| // see AutomationMsg_NavigationResponseValues for the navigation response. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_NavigateInExternalTab, |
| int, |
| GURL, |
| GURL, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a notification that the NavigationState was changed |
| // Request: |
| // -int: The flags specifying what changed |
| // (see TabContents::InvalidateTypes) |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED2(AutomationMsg_NavigationStateChanged, |
| int, // TabContents::InvalidateTypes |
| NavigationInfo) // title, url etc. |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a notification that the target URL has changed (the target URL |
| // is the URL of the link that the user is hovering on) |
| // Request: |
| // -std::wstring: The new target URL |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED1(AutomationMsg_UpdateTargetUrl, |
| std::wstring) |
| |
| // This message notifies the AutomationProvider to show the specified html |
| // text in an interstitial page in the tab with given handle. The first |
| // parameter is the handle to the tab resource. The second parameter is the |
| // html text to be displayed. |
| // The return value contains a success flag. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_ShowInterstitialPage, |
| int, |
| std::string, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message notifies the AutomationProvider to hide the current |
| // interstitial page in the tab with given handle. The parameter is the |
| // handle to the tab resource. |
| // The return value contains a success flag. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_HideInterstitialPage, |
| int, |
| bool) |
| |
| // This message requests that a tab be closed. |
| // Request: |
| // - int: handle of the tab to close |
| // - bool: if true the proxy blocks until the tab has completely closed, |
| // otherwise the proxy only blocks until it initiates the close. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_CloseTab, |
| int, |
| bool, |
| bool) |
| |
| // This message requests that the browser be closed. |
| // Request: |
| // - int: handle of the browser which contains the tab |
| // Response: |
| // - bool: whether the operation was successfull. |
| // - bool: whether the browser process will be terminated as a result (if |
| // this was the last closed browser window). |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_CloseBrowser, |
| int, |
| bool, |
| bool) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_CloseBrowserRequestAsync, |
| int) |
| |
| #if defined(OS_WIN) |
| // TODO(port): Port these messages. |
| // |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a request to process a keyboard accelerator. |
| // Request: |
| // -MSG: The keyboard message |
| // Response: |
| // None expected |
| // TODO(sanjeevr): Ideally we need to add a response from the external |
| // host saying whether it processed the accelerator |
| IPC_MESSAGE_ROUTED1(AutomationMsg_HandleAccelerator, |
| MSG) |
| |
| // This message is sent by the container of an externally hosted tab to |
| // reflect any accelerator keys that it did not process. This gives the |
| // tab a chance to handle the keys |
| // Request: |
| // - int: handle of the tab |
| // -MSG: The keyboard message that the container did not handle |
| // Response: |
| // None expected |
| IPC_MESSAGE_CONTROL2(AutomationMsg_ProcessUnhandledAccelerator, |
| int, |
| MSG) |
| #endif // defined(OS_WIN) |
| |
| // Sent by the external tab to the host to notify that the user has tabbed |
| // out of the tab. |
| // Request: |
| // - bool: |reverse| set to true when shift-tabbing out of the tab, false |
| // otherwise. |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED1(AutomationMsg_TabbedOut, |
| bool) |
| |
| // Sent by the external tab host to ask focus to be set to either the first |
| // or last element on the page. |
| // Request: |
| // - int: handle of the tab |
| // - bool: |reverse| |
| // true: Focus will be set to the last focusable element |
| // false: Focus will be set to the first focusable element |
| // - bool: |restore_focus_to_view| |
| // true: The renderer view associated with the current tab will be |
| // infomed that it is receiving focus. |
| // Response: |
| // None expected |
| IPC_MESSAGE_CONTROL3(AutomationMsg_SetInitialFocus, |
| int, |
| bool, |
| bool) |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a request to open a url |
| // Request: |
| // -GURL: The URL to open |
| // -GURL: The referrer |
| // -int: The WindowOpenDisposition that specifies where the URL should |
| // be opened (new tab, new window etc). |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED3(AutomationMsg_OpenURL, |
| GURL, |
| GURL, |
| int) |
| |
| // This message requests the provider to wait until the specified tab has |
| // finished restoring after session restore. |
| // Request: |
| // - int: handle of the tab |
| // Response: |
| // - bool: whether the operation was successful. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForTabToBeRestored, |
| int, bool) |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a notification that a navigation happened |
| // Request: |
| // |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED1(AutomationMsg_DidNavigate, |
| NavigationInfo) |
| |
| // This message requests the different security states of the page displayed |
| // in the specified tab. |
| // Request: |
| // - int: handle of the tab |
| // Response: |
| // - bool: whether the operation was successful. |
| // - SecurityStyle: the security style of the tab. |
| // - int: the status of the server's ssl cert (0 means no errors or no ssl |
| // was used). |
| // - int: the insecure content state, 0 means no insecure contents. |
| |
| IPC_SYNC_MESSAGE_CONTROL1_4(AutomationMsg_GetSecurityState, |
| int, |
| bool, |
| SecurityStyle, |
| int, |
| int) |
| |
| // This message requests the page type of the page displayed in the specified |
| // tab (normal, error or interstitial). |
| // Request: |
| // - int: handle of the tab |
| // Response: |
| // - bool: whether the operation was successful. |
| // - PageType: the type of the page currently displayed. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_GetPageType, |
| int, |
| bool, |
| PageType) |
| |
| // This message simulates the user action on the SSL blocking page showing in |
| // the specified tab. This message is only effective if an interstitial page |
| // is showing in the tab. |
| // Request: |
| // - int: handle of the tab |
| // - bool: whether to proceed or abort the navigation |
| // Response: |
| // - AutomationMsg_NavigationResponseValues: result of the operation. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_ActionOnSSLBlockingPage, |
| int, |
| bool, |
| AutomationMsg_NavigationResponseValues) |
| |
| // Message to request that a browser window is brought to the front and |
| // activated. |
| // Request: |
| // - int: handle of the browser window. |
| // Response: |
| // - bool: True if the browser is brought to the front. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BringBrowserToFront, |
| int, |
| bool) |
| |
| // Message to request whether a certain item is enabled of disabled in the |
| // menu in the browser window |
| // |
| // Request: |
| // - int: handle of the browser window. |
| // - int: IDC message identifier to query if enabled |
| // Response: |
| // - bool: True if the command is enabled on the menu |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_IsMenuCommandEnabled, |
| int, |
| int, |
| bool) |
| |
| // This message notifies the AutomationProvider to print the tab with given |
| // handle. The first parameter is the handle to the tab resource. The |
| // return value contains a bool which is true on success. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_PrintNow, |
| int, |
| bool) |
| |
| // This message notifies the AutomationProvider to reload the current page in |
| // the tab with given handle. The first parameter is the handle to the tab |
| // resource. The return value contains a status code which is nonnegative on |
| // success. |
| // see AutomationMsg_NavigationResponseValues for the navigation response. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_Reload, |
| int, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message requests the handle (int64 app-unique identifier) of the |
| // last active browser window, or the browser at index 0 if there is no last |
| // active browser, or it no longer exists. Returns 0 if no browser windows |
| // exist. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_LastActiveBrowserWindow, |
| int) |
| |
| // This message notifies the AutomationProvider to save the page with given |
| // handle. The first parameter is the handle to the tab resource. The second |
| // parameter is the main HTML file name. The third parameter is the directory |
| // for saving resources. The fourth parameter is the saving type: 0 for HTML |
| // only; 1 for complete web page. |
| // The return value contains a bool which is true on success. |
| IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_SavePage, |
| int, |
| FilePath, |
| FilePath, |
| int, |
| bool) |
| |
| // This message requests the text currently being displayed in the |
| // AutocompleteEdit. The parameter is the handle to the AutocompleteEdit. |
| // The return value is a string indicating the text in the AutocompleteEdit. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_AutocompleteEditGetText, |
| int /* autocomplete edit handle */, |
| bool /* the requested autocomplete edit exists */, |
| string16 /* omnibox text */) |
| |
| // This message sets the text being displayed in the AutocompleteEdit. The |
| // first parameter is the handle to the omnibox and the second parameter is |
| // the text to be displayed in the AutocompleteEdit. |
| // The return value has no parameters and is returned when the operation has |
| // completed. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_AutocompleteEditSetText, |
| int /* autocomplete edit handle */, |
| string16 /* text to set */, |
| bool /* the requested autocomplete edit exists */) |
| |
| // This message requests if a query to a autocomplete provider is still in |
| // progress. The first parameter in the request is the handle to the |
| // autocomplete edit. |
| // The first return value indicates if the request succeeded. |
| // The second return value indicates if a query is still in progress. |
| IPC_SYNC_MESSAGE_CONTROL1_2( \ |
| AutomationMsg_AutocompleteEditIsQueryInProgress, |
| int /* autocomplete edit handle*/, |
| bool /* the requested autocomplete edit exists */, |
| bool /* indicates if a query is in progress */) |
| |
| // This message requests a list of the autocomplete messages currently being |
| // displayed by the popup. The parameter in the request is a handle to the |
| // autocomplete edit. |
| // The first return value indicates if the request was successful, while |
| // while the second is the actual list of matches. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_AutocompleteEditGetMatches, |
| int /* autocomplete edit handle*/, |
| bool /* the requested autocomplete edit exists */, |
| std::vector<AutocompleteMatchData> /* matches */) |
| |
| // This message requests the execution of a browser command in the browser |
| // for which the handle is specified. |
| // The return value contains a boolean, whether the command was dispatched. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WindowExecuteCommandAsync, |
| int /* automation handle */, |
| int /* browser command */, |
| bool /* success flag */) |
| |
| // This message requests the execution of a browser command in the browser |
| // for which the handle is specified. |
| // The return value contains a boolean, whether the command was dispatched |
| // and successful executed. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WindowExecuteCommand, |
| int /* automation handle */, |
| int /* browser command */, |
| bool /* success flag */) |
| |
| |
| // This message opens the Find window within a tab corresponding to the |
| // supplied tab handle. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_OpenFindInPage, |
| int /* tab_handle */) |
| |
| // Posts a message from external host to chrome renderer. |
| IPC_MESSAGE_CONTROL4(AutomationMsg_HandleMessageFromExternalHost, |
| int /* automation handle */, |
| std::string /* message */, |
| std::string /* origin */, |
| std::string /* target */) |
| |
| // A message for an external host. |
| IPC_MESSAGE_ROUTED3(AutomationMsg_ForwardMessageToExternalHost, |
| std::string /* message */, |
| std::string /* origin */, |
| std::string /* target */) |
| |
| // This message starts a find within a tab corresponding to the supplied |
| // tab handle. The parameter |request| specifies what to search for. |
| // If an error occurs, |matches_found| will be -1. |
| // |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_Find, |
| int /* tab_handle */, |
| AutomationMsg_Find_Params /* params */, |
| int /* active_ordinal */, |
| int /* matches_found */) |
| |
| // Is the Find window fully visible (and not animating) for the specified |
| // tab? |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_FindWindowVisibility, |
| int /* tab_handle */, |
| bool /* is_visible */) |
| |
| // Where is the Find window located. |x| and |y| will be -1, -1 on failure. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_FindWindowLocation, |
| int /* tab_handle */, |
| int /* x */, |
| int /* y */) |
| |
| // Is the Bookmark bar visible? The return value will indicate whether it is |
| // visible or not and whether it is being animated into (or out of its place). |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_BookmarkBarVisibility, |
| int /* browser_handle */, |
| bool, /* is_visible */ |
| bool /* still_animating */) |
| |
| // This message requests the number of related info bars opened. It |
| // returns -1 if an error occurred. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetInfoBarCount, |
| int /* tab_handle */, |
| size_t /* info bar count */) |
| |
| // This message triggers the action associated with the "accept" button in |
| // the info-bar at the specified index. If |wait for navigation| is true, it |
| // won't return until a navigation has occurred. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_ClickInfoBarAccept, |
| int /* tab_handle */, |
| size_t /* info bar index */, |
| bool /* wait for navigation */, |
| // This line blank on purpose, see comment atop file about __LINE__. |
| /* navigation result */ |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message retrieves the last time a navigation occurred in the specified |
| // tab. The value is intended to be used with WaitForNavigation. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetLastNavigationTime, |
| int /* tab_handle */, |
| int64 /* last navigation time */) |
| |
| // This messages is used to block until a new navigation occurs (if there is |
| // none more recent then the time specified). |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WaitForNavigation, |
| int /* tab_handle */, |
| int64 /* last navigation time */, |
| // This line blank on purpose, see comment atop file about __LINE__. |
| /* navigation result */ |
| AutomationMsg_NavigationResponseValues) |
| |
| // This messages sets an int-value preference. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetIntPreference, |
| int /* browser handle */, |
| std::string /* pref name */, |
| int /* value */, |
| bool /* success */) |
| |
| // Queries whether an app modal dialog is currently being shown. (i.e. a |
| // javascript alert) and which buttons it contains. |
| IPC_SYNC_MESSAGE_CONTROL0_2(AutomationMsg_ShowingAppModalDialog, |
| bool /* showing dialog */, |
| int /* view::DelegateDialog::DialogButton */) |
| |
| // This message triggers the specified button for the currently showing |
| // modal dialog. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ClickAppModalDialogButton, |
| int /* view::DelegateDialog::DialogButton */, |
| bool /* success */) |
| |
| // This messages sets a string-value preference. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetStringPreference, |
| int /* browser handle */, |
| std::string /* pref name */, |
| std::string /* pref value */, |
| bool) |
| |
| // This messages gets a boolean-value preference. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_GetBooleanPreference, |
| int /* browser handle */, |
| std::string /* pref name */, |
| bool /* success */, |
| bool /* pref value */) |
| |
| // This messages sets a boolean-value preference. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetBooleanPreference, |
| int /* browser handle */, |
| std::string /* pref name */, |
| bool /* pref value */, |
| bool /* success */) |
| |
| // Queries the current used encoding name of the page in the specified |
| // web content tab. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetPageCurrentEncoding, |
| int /* tab handle */, |
| std::string /* current used encoding name */) |
| |
| // Uses the specified encoding to override the encoding of the page in the |
| // specified web content tab. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_OverrideEncoding, |
| int /* tab handle */, |
| std::string /* overrided encoding name */, |
| bool /* success */) |
| |
| // Used to disable the dialog box that prompts the user for a path when |
| // saving a web page. |
| IPC_SYNC_MESSAGE_CONTROL1_0(AutomationMsg_SavePackageShouldPromptUser, |
| bool /* false if we want to not show the dialog */) |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a notification that a navigation failed |
| // Request: |
| // -int : The status code. |
| // -GURL: The URL we failed to navigate to. |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED2(AutomationMsg_NavigationFailed, |
| int, |
| GURL) |
| |
| #if defined(OS_WIN) |
| // This message is an outgoing message from an automation client to Chrome. |
| // It is used to reposition a chrome tab window. |
| IPC_MESSAGE_CONTROL2(AutomationMsg_TabReposition, |
| int /* tab handle */, |
| Reposition_Params /* SetWindowPos params */) |
| #endif // defined(OS_WIN) |
| |
| // Gets the title of the top level browser window. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WindowTitle, |
| int /* automation handle */, |
| string16 /* title text */ ) |
| |
| // Tab load complete |
| IPC_MESSAGE_ROUTED1(AutomationMsg_TabLoaded, |
| GURL) |
| |
| // This message requests the tabstrip index of the tab with the given handle. |
| // The return value contains the index, which will be -1 on failure. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TabIndex, |
| int, |
| int) |
| |
| // This message requests the handle (int64 app-unique identifier) of |
| // a valid normal browser window, i.e. normal type and non-incognito mode. |
| // On error, the returned handle value is 0. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_FindNormalBrowserWindow, |
| int) |
| |
| // This message requests the number of normal browser windows, i.e. normal |
| // type and non-incognito mode that the app currently has open. The return |
| // value is the number of windows. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_NormalBrowserWindowCount, |
| int) |
| |
| // DEPRECATED MESSAGE - But we must leave this comment and message so as |
| // not to perturb line numbers (see comment at top of file re __LINE__). |
| // TODO(phajdan.jr): Remove when the reference build is updated (this and |
| // all others marked "DEPRECATED MESSAGE"). |
| // (intentionally blank line) |
| IPC_MESSAGE_CONTROL2(AutomationMsg_DeprecatedMessageOne, |
| // (intentionally blank line) |
| int, |
| // (intentionally blank line) |
| // (intentionally blank line) |
| // (intentionally blank line) |
| // (intentionally blank line) |
| int) |
| |
| // This message tells the browser to start using the new proxy configuration |
| // represented by the given JSON string. The parameters used in the JSON |
| // string are defined in automation_constants.h. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_SetProxyConfig, |
| std::string /* proxy_config_json_string */) |
| |
| // Sets Download Shelf visibility for the specified browser. |
| IPC_SYNC_MESSAGE_CONTROL2_0(AutomationMsg_SetShelfVisibility, |
| int /* browser_handle */, |
| bool /* is_visible */) |
| |
| // This message requests the number of blocked popups in a certain tab with |
| // the given handle. The return value is the number of blocked popups, or -1 |
| // if this request failed. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_BlockedPopupCount, |
| int /* tab_handle */, |
| int /* blocked_popup_count */) |
| |
| // This message retrieves the locale of the browser process. On success |
| // |chrome_locale| will contain the locale as reported by ICU. On failure |
| // |chrome_locale| is the empty string. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_GetBrowserLocale, |
| string16 /* chrome_locale */) |
| |
| #if defined(OS_WIN) |
| IPC_MESSAGE_ROUTED3(AutomationMsg_ForwardContextMenuToExternalHost, |
| HANDLE /* source menu handle */, |
| int /* align flags */, |
| MiniContextMenuParams /* params */) |
| |
| IPC_MESSAGE_CONTROL2(AutomationMsg_ForwardContextMenuCommandToChrome, |
| int /* tab_handle */, |
| int /* selected_command */) |
| #endif // OS_WIN |
| |
| // A URL request to be fetched via automation |
| IPC_MESSAGE_ROUTED2(AutomationMsg_RequestStart, |
| int /* request_id */, |
| AutomationURLRequest /* request */) |
| |
| // Read data from a URL request to be fetched via automation |
| IPC_MESSAGE_ROUTED2(AutomationMsg_RequestRead, |
| int /* request_id */, |
| int /* bytes_to_read */) |
| |
| // Response to a AutomationMsg_RequestStart message |
| IPC_MESSAGE_ROUTED2(AutomationMsg_RequestStarted, |
| int /* request_id */, |
| AutomationURLResponse /* response */) |
| |
| // Data read via automation |
| IPC_MESSAGE_ROUTED2(AutomationMsg_RequestData, |
| int /* request_id */, |
| std::string /* data */) |
| |
| IPC_MESSAGE_ROUTED2(AutomationMsg_RequestEnd, |
| int /* request_id */, |
| net::URLRequestStatus /* status */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_PrintAsync, |
| int /* tab_handle */) |
| |
| IPC_MESSAGE_ROUTED2(AutomationMsg_SetCookieAsync, |
| GURL /* url */, |
| std::string /* cookie */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_SelectAll, |
| int /* tab handle */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_Cut, |
| int /* tab handle */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_Copy, |
| int /* tab handle */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_Paste, |
| int /* tab handle */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_ReloadAsync, |
| int /* tab handle */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_StopAsync, |
| int /* tab handle */) |
| |
| // Returns the number of times a filter was used to service an URL request. |
| // See AutomationMsg_SetFilteredInet. |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_GetFilteredInetHitCount, |
| int /* hit_count */) |
| |
| // Is the browser in fullscreen mode? |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_IsFullscreen, |
| int /* browser_handle */, |
| bool /* is_fullscreen */) |
| |
| // Is the fullscreen bubble visible? |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_IsFullscreenBubbleVisible, |
| int /* browser_handle */, |
| bool /* is_visible */) |
| |
| // This message notifies the AutomationProvider to navigate to a specified |
| // url in the tab with given handle. The first parameter is the handle to |
| // the tab resource. The second parameter is the target url. The third |
| // parameter is the number of navigations that are required for a successful |
| // return value. See AutomationMsg_NavigationResponseValues for the return |
| // value. |
| IPC_SYNC_MESSAGE_CONTROL3_1( |
| AutomationMsg_NavigateToURLBlockUntilNavigationsComplete, |
| int, |
| GURL, |
| int, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message notifies the AutomationProvider to navigate to a specified |
| // navigation entry index in the external tab with given handle. The first |
| // parameter is the handle to the tab resource. The second parameter is the |
| // index of navigation entry. |
| // The return value contains a status code which is nonnegative on success. |
| // see AutomationMsg_NavigationResponseValues for the navigation response. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_NavigateExternalTabAtIndex, |
| int, |
| int, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message requests the provider to wait until the window count |
| // reached the specified value. |
| // Request: |
| // - int: target browser window count |
| // Response: |
| // - bool: whether the operation was successful. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForBrowserWindowCountToBecome, |
| int, |
| bool) |
| |
| // This message requests the provider to wait until an application modal |
| // dialog is shown. |
| // Response: |
| // - bool: whether the operation was successful |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_WaitForAppModalDialogToBeShown, |
| bool) |
| |
| // This message notifies the AutomationProvider to navigate back in session |
| // history in the tab with given handle. The first parameter is the handle |
| // to the tab resource. The second parameter is the number of navigations the |
| // provider will wait for. |
| // See AutomationMsg_NavigationResponseValues for the navigation response |
| // values. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_GoBackBlockUntilNavigationsComplete, |
| int, |
| int, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message notifies the AutomationProvider to navigate forward in session |
| // history in the tab with given handle. The first parameter is the handle |
| // to the tab resource. The second parameter is the number of navigations |
| // the provider will wait for. |
| // See AutomationMsg_NavigationResponseValues for the navigation response |
| // values. |
| IPC_SYNC_MESSAGE_CONTROL2_1( |
| AutomationMsg_GoForwardBlockUntilNavigationsComplete, |
| int, |
| int, |
| AutomationMsg_NavigationResponseValues) |
| |
| // This message is used by automation clients to upload histogram data to the |
| // browser process. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_RecordHistograms, |
| std::vector<std::string> /* histogram_list */) |
| |
| IPC_MESSAGE_ROUTED1(AutomationMsg_AttachExternalTab, |
| AttachExternalTabParams) |
| |
| // Sent when the automation client connects to an existing tab. |
| IPC_SYNC_MESSAGE_CONTROL3_4(AutomationMsg_ConnectExternalTab, |
| uint64 /* cookie */, |
| bool /* allow/block tab*/, |
| gfx::NativeWindow /* parent window */, |
| gfx::NativeWindow /* Tab container window */, |
| gfx::NativeWindow /* Tab window */, |
| int /* Handle to the new tab */, |
| int /* Session Id of the new tab */) |
| |
| // This message gets the bounds of the window. |
| // Request: |
| // int - the handle of the window to query |
| // Response: |
| // gfx::Rect - the bounds of the window |
| // bool - true if the query was successful |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_GetWindowBounds, |
| int, |
| gfx::Rect, |
| bool) |
| |
| // Simulate an end of session. Normally this happens when the user |
| // shuts down the machine or logs off. |
| // Request: |
| // int - the handle of the browser |
| // Response: |
| // bool - true if succesful |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_TerminateSession, |
| int, |
| bool) |
| |
| // Returns whether the window is maximized. |
| // Request: |
| // int - the handle of the window |
| // Response: |
| // bool - true if the window is maximized |
| // bool - true if query is successful |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_IsWindowMaximized, |
| int, |
| bool, |
| bool) |
| |
| IPC_MESSAGE_CONTROL2(AutomationMsg_SetPageFontSize, |
| int /* tab_handle */, |
| int /* The font size */) |
| |
| // Returns a metric event duration that was last recorded. Returns -1 if the |
| // event hasn't occurred yet. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_GetMetricEventDuration, |
| std::string /* event_name */, |
| int /* duration ms */) |
| |
| // Sent by automation provider - go to history entry via automation. |
| IPC_MESSAGE_ROUTED1(AutomationMsg_RequestGoToHistoryEntryOffset, |
| int) // numbers of entries (negative or positive) |
| |
| // Silently install the extension in the given crx file. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_InstallExtension, |
| FilePath /* full path to crx file */, |
| AutomationMsg_ExtensionResponseValues) |
| |
| // DEPRECATED MESSAGE - But we must leave this comment and message so as |
| // not to perturb line numbers (see comment at top of file re __LINE__). |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DeprecatedMessageTwo, |
| int, |
| int) |
| |
| // DEPRECATED MESSAGE - But we must leave this comment and message so as |
| // not to perturb line numbers (see comment at top of file re __LINE__). |
| // (intentionally blank line) |
| // (intentionally blank line) |
| // (intentionally blank line) |
| // (intentionally blank line) |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_DeprecatedMessageThree, |
| int) |
| |
| // This message requests the type of the window with the given handle. The |
| // return value contains the type (Browser::Type), or -1 if the request |
| // failed. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_Type, |
| int, |
| int) |
| |
| // Opens a new browser window of a specific type. |
| IPC_SYNC_MESSAGE_CONTROL2_0(AutomationMsg_OpenNewBrowserWindowOfType, |
| int /* Type (Browser::Type) */, |
| bool /* show */ ) |
| |
| // This message requests that the mouse be moved to this location, in |
| // window coordinate space. |
| // Request: |
| // int - the handle of the window that's the context for this click |
| // gfx::Point - the location to move to |
| IPC_MESSAGE_CONTROL2(AutomationMsg_WindowMouseMove, |
| int, |
| gfx::Point) |
| |
| // Called when requests should be downloaded using a host browser's |
| // download mechanism when chrome is being embedded. |
| IPC_MESSAGE_ROUTED1(AutomationMsg_DownloadRequestInHost, |
| int /* request_id */) |
| |
| // Shuts down the session service for the browser identified by |
| // |browser_handle|. On success |result| is set to true. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ShutdownSessionService, |
| int /* browser_handle */, |
| bool /* result */) |
| |
| IPC_MESSAGE_CONTROL1(AutomationMsg_SaveAsAsync, |
| int /* tab handle */) |
| |
| #if defined(OS_WIN) |
| // An incoming message from an automation host to Chrome. Signals that |
| // the browser containing |tab_handle| has moved. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_BrowserMove, |
| int /* tab handle */) |
| #endif |
| |
| // Used to get cookies for the given URL. |
| IPC_MESSAGE_ROUTED2(AutomationMsg_GetCookiesFromHost, |
| GURL /* url */, |
| int /* opaque_cookie_id */) |
| |
| IPC_MESSAGE_CONTROL5(AutomationMsg_GetCookiesHostResponse, |
| int /* tab_handle */, |
| bool /* success */, |
| GURL /* url */, |
| std::string /* cookies */, |
| int /* opaque_cookie_id */) |
| |
| // If the given host is empty, then the default content settings are |
| // modified. |
| IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_SetContentSetting, |
| int /* browser handle */, |
| std::string /* host */, |
| ContentSettingsType /* content type */, |
| ContentSetting /* setting */, |
| bool /* success */) |
| |
| #if defined(OS_CHROMEOS) |
| // Logs in through the browser's login wizard if available. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_LoginWithUserAndPass, |
| std::string /* username*/, |
| std::string /* password*/, |
| bool /* Whether successful*/) |
| #endif |
| |
| // Return the bookmarks encoded as a JSON string. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_GetBookmarksAsJSON, |
| int /* browser_handle */, |
| std::string /* bookmarks as a JSON string */, |
| bool /* success */) |
| |
| // Wait for the bookmark model to load. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForBookmarkModelToLoad, |
| int /* browser_handle */, |
| bool /* success */) |
| |
| // Bookmark addition, modification, and removal. |
| // Bookmarks are indexed by their id. |
| IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_AddBookmarkGroup, |
| int /* browser_handle */, |
| int64 /* parent_id */, |
| int /* index */, |
| std::wstring /* title */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL5_1(AutomationMsg_AddBookmarkURL, |
| int /* browser_handle */, |
| int64 /* parent_id */, |
| int /* index */, |
| std::wstring /* title */, |
| GURL /* url */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL4_1(AutomationMsg_ReparentBookmark, |
| int /* browser_handle */, |
| int64 /* id */, |
| int64 /* new_parent_id */, |
| int /* index */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetBookmarkTitle, |
| int /* browser_handle */, |
| int64 /* id */, |
| std::wstring /* title */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_SetBookmarkURL, |
| int /* browser_handle */, |
| int64 /* id */, |
| GURL /* url */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_RemoveBookmark, |
| int /* browser_handle */, |
| int64 /* id */, |
| bool /* success */) |
| |
| // This message informs the browser process to remove the history entries |
| // for the specified types across all time ranges. See |
| // browsing_data_remover.h for a list of REMOVE_* types supported in the |
| // remove_mask parameter. |
| IPC_MESSAGE_CONTROL1(AutomationMsg_RemoveBrowsingData, |
| int) |
| |
| // Block until the focused view id changes to something other than |
| // |previous_view_id|. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_WaitForFocusedViewIDToChange, |
| int /* window handle */, |
| int /* previous_view_id */, |
| bool /* success */, |
| int /* new_view_id */) |
| |
| // To avoid race conditions, waiting until a popup menu opens is a |
| // three-step process: |
| // 1. Call StartTrackingPopupMenus. |
| // 2. Call an automation method that results in opening the popup menu. |
| // 3. Call WaitForPopupMenuToOpen and check for success. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_StartTrackingPopupMenus, |
| int /* browser handle */, |
| bool /* success */) |
| IPC_SYNC_MESSAGE_CONTROL0_1(AutomationMsg_WaitForPopupMenuToOpen, |
| bool /* success */) |
| |
| // Generic pyauto pattern to help avoid future addition of |
| // automation messages. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_SendJSONRequest, |
| int /* browser_handle */, |
| std::string /* JSON request */, |
| std::string /* JSON response */, |
| bool /* success */) |
| |
| // Installs an extension from the crx file and returns its id. |
| // On error, |extension handle| will be 0. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_InstallExtensionAndGetHandle, |
| FilePath /* full path to crx file */, |
| bool /* with UI */, |
| int /* extension handle */) |
| |
| // Waits for the next extension test result. Sets |test result| as the |
| // received result and |message| as any accompanying message with the |
| // result, which could be the empty string. |
| IPC_SYNC_MESSAGE_CONTROL0_2(AutomationMsg_WaitForExtensionTestResult, |
| bool /* test result */, |
| std::string /* message */) |
| |
| // Uninstalls an extension. On success |success| is true. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_UninstallExtension, |
| int /* extension handle */, |
| bool /* success */) |
| |
| // Enables an extension. On success |success| is true. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_EnableExtension, |
| int /* extension handle */, |
| bool /* success */) |
| |
| // Disables an extension. On success |success| is true. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_DisableExtension, |
| int /* extension handle */, |
| bool /* success */) |
| |
| // Executes the action associated with the given extension. This executes |
| // the extension's page or browser action in the given browser, but does |
| // not open popups. On success |success| is true. |
| IPC_SYNC_MESSAGE_CONTROL2_1( |
| AutomationMsg_ExecuteExtensionActionInActiveTabAsync, |
| int /* extension handle */, |
| int /* browser handle */, |
| bool /* success */) |
| |
| // Moves the browser action to the given index in the browser action toolbar. |
| // On success |success| is true. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_MoveExtensionBrowserAction, |
| int /* extension handle */, |
| int /* index */, |
| bool /* success */) |
| |
| // Gets an extension property |property type|. On success |success| is true, |
| // and |property value| is set. |
| IPC_SYNC_MESSAGE_CONTROL2_2(AutomationMsg_GetExtensionProperty, |
| int /* extension handle */, |
| AutomationMsg_ExtensionProperty /* property type */, |
| bool /* success */, |
| std::string /* property value */) |
| |
| // Resets to the default theme. |
| IPC_SYNC_MESSAGE_CONTROL0_0(AutomationMsg_ResetToDefaultTheme) |
| |
| // Navigates asynchronously to a URL with a certain disposition, |
| // like in a new tab. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_NavigationAsyncWithDisposition, |
| int /* tab handle */, |
| GURL, |
| WindowOpenDisposition, |
| bool /* result */) |
| |
| |
| // This message requests the cookie be deleted for given url in the |
| // profile of the tab identified by the first parameter. The second |
| // parameter is the cookie name. |
| IPC_SYNC_MESSAGE_CONTROL3_1(AutomationMsg_DeleteCookie, |
| GURL, |
| std::string, |
| int /* tab handle */, |
| bool /* result */) |
| |
| // This message triggers the collected cookies dialog for a specific tab. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_ShowCollectedCookiesDialog, |
| int /* tab handle */, |
| bool /* result */) |
| |
| // This message requests the external tab identified by the tab handle |
| // passed in be closed. |
| // Request: |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED0(AutomationMsg_CloseExternalTab) |
| |
| // This message requests that the external tab identified by the tab handle |
| // runs unload handlers if any on the current page. |
| // Request: |
| // -int: Tab handle |
| // -bool: result: true->unload, false->don't unload |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_RunUnloadHandlers, |
| int, |
| bool) |
| |
| // This message sets the current zoom level on the tab |
| // Request: |
| // -int: Tab handle |
| // -int: Zoom level. Values ZOOM_OUT = -1, RESET = 0, ZOOM_IN = 1 |
| // Response: |
| // None expected |
| IPC_MESSAGE_CONTROL2(AutomationMsg_SetZoomLevel, |
| int, |
| int) |
| |
| // Waits for tab count to reach target value. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WaitForTabCountToBecome, |
| int /* browser handle */, |
| int /* target tab count */, |
| bool /* success */) |
| |
| // Waits for the infobar count to reach given number. |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_WaitForInfoBarCount, |
| int /* tab handle */, |
| size_t /* target count */, |
| bool /* success */) |
| |
| // Waits for the autocomplete edit to receive focus. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_WaitForAutocompleteEditFocus, |
| int /* autocomplete edit handle */, |
| bool /* success */) |
| |
| // Loads all blocked plug-ins on the page. |
| IPC_SYNC_MESSAGE_CONTROL1_1(AutomationMsg_LoadBlockedPlugins, |
| int /* tab handle */, |
| bool /* success */) |
| |
| // TODO(phajdan.jr): Remove this message. |
| // Captures the entire page for the tab, including those portions not in |
| // view, and saves the image as a PNG in the given file location. |
| // This message is deprecated, use the JSON testing interface for |
| // similar functionality. |
| // Request: |
| // -int: Tab handle |
| // -FilePath: Path to save the captured image to |
| // Response: |
| // -bool: Whether the method succeeded |
| IPC_SYNC_MESSAGE_CONTROL2_1(AutomationMsg_CaptureEntirePageAsPNG_Deprecated, |
| int, |
| FilePath, |
| bool) |
| |
| // Notify the JavaScript engine in the render to change its parameters |
| // while performing stress testing. |
| IPC_MESSAGE_CONTROL3(AutomationMsg_JavaScriptStressTestControl, |
| int /* tab handle */, |
| int /* command */, |
| int /* type or run */) |
| |
| // This message posts a task to the PROCESS_LAUNCHER thread. Once processed |
| // the response is sent back. This is useful when you want to make sure all |
| // changes to the number of processes have completed. |
| IPC_SYNC_MESSAGE_CONTROL0_0(AutomationMsg_WaitForProcessLauncherThreadToGoIdle) |
| |
| // Gets a handle of the browser that owns the given tab. |
| IPC_SYNC_MESSAGE_CONTROL1_2(AutomationMsg_GetParentBrowserOfTab, |
| int /* tab handle */, |
| int /* browser handle */, |
| bool /* success */) |
| |
| // This message is an outgoing message from Chrome to an external host. |
| // It is a notification that a popup window position or dimentions have |
| // changed |
| // Request: |
| // gfx::Rect - the bounds of the window |
| // Response: |
| // None expected |
| IPC_MESSAGE_ROUTED1(AutomationMsg_MoveWindow, |
| gfx::Rect /* window position and dimentions */) |
| |
| // Renderer -> browser messages. |
| |
| // Sent when the renderer has scheduled a client redirect to occur. |
| IPC_MESSAGE_ROUTED2(AutomationMsg_WillPerformClientRedirect, |
| int64 /* frame_id */, |
| double /* # of seconds till redirect will be performed */) |
| |
| // Sent when the renderer has completed or canceled a client redirect for a |
| // particular frame. This message may be sent multiple times for the same |
| // redirect. |
| IPC_MESSAGE_ROUTED1(AutomationMsg_DidCompleteOrCancelClientRedirect, |
| int64 /* frame_id */) |
| |
| |
| // YOUR NEW MESSAGE MIGHT NOT BELONG HERE. |
| // This is the section for renderer -> browser automation messages. If it is |
| // an automation <-> browser message, put it above this section. |