Index: chrome/browser/automation/testing_automation_provider.h |
diff --git a/chrome/browser/automation/testing_automation_provider.h b/chrome/browser/automation/testing_automation_provider.h |
index 58284479b9b095bba5e77ddfd79436e04ce1c338..937641a95c84a1865a9377d7fe876f960c275aa0 100644 |
--- a/chrome/browser/automation/testing_automation_provider.h |
+++ b/chrome/browser/automation/testing_automation_provider.h |
@@ -118,17 +118,6 @@ class TestingAutomationProvider : public AutomationProvider, |
void WindowSimulateMouseMove(const IPC::Message& message, |
int handle, |
const gfx::Point& location); |
- // The Webkit mouse functions below work on the currently selected |
- // tab. |
- void WebkitMouseClick(Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* message); |
- void WebkitMouseMove(Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* message); |
- void WebkitMouseDrag(Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* message); |
void WindowSimulateKeyPress(const IPC::Message& message, |
int handle, |
int key, |
@@ -799,14 +788,19 @@ class TestingAutomationProvider : public AutomationProvider, |
IPC::Message* reply_message); |
// Gets the browser and tab index of the given tab. Uses the JSON interface. |
+ // Either "tab_id" or "tab_handle" must be specified, but not both. "tab_id" |
+ // refers to the ID from the |NavigationController|, while "tab_handle" is |
+ // the handle number assigned by the automation system. |
// Example: |
- // input: { "tab_handle": 3 } |
- // output: { "browser_index": 1, "tab_index": 5 } |
+ // input: { "tab_id": 1, // optional |
+ // "tab_handle": 3 // optional |
+ // } |
+ // output: { "windex": 1, "tab_index": 5 } |
void GetIndicesFromTab(DictionaryValue* args, IPC::Message* reply_message); |
// Navigates to the given URL. Uses the JSON interface. |
// Example: |
- // input: { "browser_index": 1, |
+ // input: { "windex": 1, |
// "tab_index": 3, |
// "url": "http://www.google.com", |
// "navigation_count": 1 // number of navigations to wait for |
@@ -814,6 +808,165 @@ class TestingAutomationProvider : public AutomationProvider, |
// output: { "result": AUTOMATION_MSG_NAVIGATION_SUCCESS } |
void NavigateToURL(DictionaryValue* args, IPC::Message* reply_message); |
+ // Executes javascript in the specified frame. Uses the JSON interface. |
+ // Waits for a result from the |DOMAutomationController|. The javascript |
+ // must send a string. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "frame_xpath": "//frames[1]", |
+ // "javascript": |
+ // "window.domAutomationController.send(window.name)", |
+ // } |
+ // output: { "result": "My Window Name" } |
+ // This and some following methods have a suffix of JSON to distingush them |
+ // from already existing methods which perform the same function, but use |
+ // custom IPC messages instead of the JSON IPC message. These functions will |
+ // eventually be replaced with the JSON ones and the JSON suffix will be |
+ // dropped. |
+ // TODO(kkania): Replace the non-JSON counterparts and drop the JSON suffix. |
+ void ExecuteJavascriptJSON( |
+ DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Goes forward in the specified tab. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: { "did_go_forward": true, // optional |
+ // "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional |
+ // } |
+ void GoForward(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Goes back in the specified tab. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: { "did_go_back": true, // optional |
+ // "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional |
+ // } |
+ void GoBack(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Reload the specified tab. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: { "result": AUTOMATION_MSG_NAVIGATION_SUCCESS // optional } |
+ void ReloadJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Get the current url of the specified tab. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: { "url": "http://www.google.com" } |
+ void GetTabURLJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Get the current url of the specified tab. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: { "title": "Google" } |
+ void GetTabTitleJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Gets the cookies for the given URL. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1, "url": "http://www.google.com" } |
+ // output: { "cookies": "PREF=12012" } |
+ void GetCookiesJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Deletes the cookie with the given name for the URL. Uses the JSON |
+ // interface. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "url": "http://www.google.com", |
+ // "name": "my_cookie" |
+ // } |
+ // output: none |
+ void DeleteCookieJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Sets a cookie for the given URL. Uses the JSON interface. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "url": "http://www.google.com", |
+ // "cookie": "PREF=21321" |
+ // } |
+ // output: none |
+ void SetCookieJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Gets the ID for every open tab. This ID is unique per session. |
+ // Example: |
+ // input: none |
+ // output: { "ids": [4124, 213, 1] } |
+ void GetTabIds(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Checks if the given tab ID refers to an open tab. |
+ // Example: |
+ // input: { "id": 41 } |
+ // output: { "is_valid": false } |
+ void IsTabIdValid(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Closes the specified tab. |
+ // Example: |
+ // input: { "windex": 1, "tab_index": 1 } |
+ // output: none |
+ void CloseTabJSON(DictionaryValue* args, IPC::Message* reply_message); |
+ |
+ // Sends the WebKit events for a mouse click at a given coordinate. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "button": automation::kLeftButton, |
+ // "x": 100, |
+ // "y": 100 |
+ // } |
+ // output: none |
+ void WebkitMouseClick(DictionaryValue* args, |
+ IPC::Message* message); |
+ |
+ // Sends the WebKit event for a mouse move to a given coordinate. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "x": 100, |
+ // "y": 100 |
+ // } |
+ // output: none |
+ void WebkitMouseMove(DictionaryValue* args, |
+ IPC::Message* message); |
+ |
+ // Sends the WebKit events for a mouse drag between two coordinates. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "start_x": 100, |
+ // "start_y": 100, |
+ // "end_x": 100, |
+ // "end_y": 100 |
+ // } |
+ // output: none |
+ void WebkitMouseDrag(DictionaryValue* args, |
+ IPC::Message* message); |
+ |
+ // Sends the WebKit key event with the specified properties. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // "type": automation::kRawKeyDownType, |
+ // "nativeKeyCode": ui::VKEY_X, |
+ // "windowsKeyCode": ui::VKEY_X, |
+ // "unmodifiedText": "x", |
+ // "text": "X", |
+ // "modifiers": automation::kShiftKeyMask, |
+ // "isSystemKey": false |
+ // } |
+ // output: none |
+ void SendWebkitKeyEvent(DictionaryValue* args, |
+ IPC::Message* message); |
+ |
+ // Activates the given tab. |
+ // Example: |
+ // input: { "windex": 1, |
+ // "tab_index": 1, |
+ // } |
+ // output: none |
+ void ActivateTabJSON(DictionaryValue* args, IPC::Message* message); |
+ |
#if defined(OS_CHROMEOS) |
void LoginAsGuest(DictionaryValue* args, IPC::Message* reply_message); |