| Index: chrome/test/webdriver/webdriver_automation.h
|
| diff --git a/chrome/test/webdriver/webdriver_automation.h b/chrome/test/webdriver/webdriver_automation.h
|
| index 03300e9631fe11a302179909d1f42928b0d017fa..afc680039b9982e1558deabb4051504efcbd83a5 100644
|
| --- a/chrome/test/webdriver/webdriver_automation.h
|
| +++ b/chrome/test/webdriver/webdriver_automation.h
|
| @@ -17,9 +17,13 @@
|
| #include "chrome/common/automation_constants.h"
|
| #include "ui/base/keycodes/keyboard_codes.h"
|
|
|
| +class AutomationId;
|
| class AutomationProxy;
|
| class ProxyLauncher;
|
| struct WebKeyEvent;
|
| +class WebViewId;
|
| +struct WebViewInfo;
|
| +class WebViewLocator;
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -72,7 +76,7 @@ class Automation {
|
|
|
| // Executes the given |script| in the specified frame of the current
|
| // tab. |result| will be set to the JSON result. Returns true on success.
|
| - void ExecuteScript(int tab_id,
|
| + void ExecuteScript(const WebViewId& view_id,
|
| const FramePath& frame_path,
|
| const std::string& script,
|
| std::string* result,
|
| @@ -80,19 +84,19 @@ class Automation {
|
|
|
| // Sends a webkit key event to the current browser. Waits until the key has
|
| // been processed by the web page.
|
| - void SendWebKeyEvent(int tab_id,
|
| + void SendWebKeyEvent(const WebViewId& view_id,
|
| const WebKeyEvent& key_event,
|
| Error** error);
|
|
|
| // Sends an OS level key event to the current browser. Waits until the key
|
| // has been processed by the browser.
|
| - void SendNativeKeyEvent(int tab_id,
|
| + void SendNativeKeyEvent(const WebViewId& view_id,
|
| ui::KeyboardCode key_code,
|
| int modifiers,
|
| Error** error);
|
|
|
| // Drag and drop the file paths to the given location.
|
| - void DragAndDropFilePaths(int tab_id,
|
| + void DragAndDropFilePaths(const WebViewId& view_id,
|
| const Point& location,
|
| const std::vector<FilePath::StringType>& paths,
|
| Error** error);
|
| @@ -100,13 +104,16 @@ class Automation {
|
| // Captures a snapshot of the tab to the specified path. The PNG will
|
| // contain the entire page, including what is not in the current view
|
| // on the screen.
|
| - void CaptureEntirePageAsPNG(int tab_id, const FilePath& path, Error** error);
|
| + void CaptureEntirePageAsPNG(
|
| + const WebViewId& view_id, const FilePath& path, Error** error);
|
|
|
| - void NavigateToURL(int tab_id, const std::string& url, Error** error);
|
| - void NavigateToURLAsync(int tab_id, const std::string& url, Error** error);
|
| - void GoForward(int tab_id, Error** error);
|
| - void GoBack(int tab_id, Error** error);
|
| - void Reload(int tab_id, Error** error);
|
| + void NavigateToURL(
|
| + const WebViewId& view_id, const std::string& url, Error** error);
|
| + void NavigateToURLAsync(
|
| + const WebViewId& view_id, const std::string& url, Error** error);
|
| + void GoForward(const WebViewId& view_id, Error** error);
|
| + void GoBack(const WebViewId& view_id, Error** error);
|
| + void Reload(const WebViewId& view_id, Error** error);
|
|
|
| void GetCookies(const std::string& url,
|
| base::ListValue** cookies,
|
| @@ -118,27 +125,33 @@ class Automation {
|
| base::DictionaryValue* cookie_dict,
|
| Error** error);
|
|
|
| - void MouseMove(int tab_id, const Point& p, Error** error);
|
| - void MouseClick(int tab_id,
|
| + void MouseMove(const WebViewId& view_id, const Point& p, Error** error);
|
| + void MouseClick(const WebViewId& view_id,
|
| const Point& p,
|
| automation::MouseButton button,
|
| Error** error);
|
| - void MouseDrag(int tab_id,
|
| + void MouseDrag(const WebViewId& view_id,
|
| const Point& start,
|
| const Point& end,
|
| Error** error);
|
| - void MouseButtonDown(int tab_id, const Point& p, Error** error);
|
| - void MouseButtonUp(int tab_id, const Point& p, Error** error);
|
| - void MouseDoubleClick(int tab_id, const Point& p, Error** error);
|
| + void MouseButtonDown(const WebViewId& view_id,
|
| + const Point& p,
|
| + Error** error);
|
| + void MouseButtonUp(const WebViewId& view_id,
|
| + const Point& p,
|
| + Error** error);
|
| + void MouseDoubleClick(const WebViewId& view_id,
|
| + const Point& p,
|
| + Error** error);
|
|
|
| - // Get persistent IDs for all the tabs currently open. These IDs can be used
|
| - // to identify the tab as long as the tab exists.
|
| - void GetTabIds(std::vector<int>* tab_ids, Error** error);
|
| + // Get info for all views currently open.
|
| + void GetViews(std::vector<WebViewInfo>* views, Error** error);
|
|
|
| - // Check if the given tab exists currently.
|
| - void DoesTabExist(int tab_id, bool* does_exist, Error** error);
|
| + // Check if the given view exists currently.
|
| + void DoesViewExist(const WebViewId& view_id, bool* does_exist, Error** error);
|
|
|
| - void CloseTab(int tab_id, Error** error);
|
| + // Closes the given view.
|
| + void CloseView(const WebViewId& view_id, Error** error);
|
|
|
| // Gets the active JavaScript modal dialog's message.
|
| void GetAppModalDialogMessage(std::string* message, Error** error);
|
| @@ -158,24 +171,45 @@ class Automation {
|
| // server.
|
| void GetChromeDriverAutomationVersion(int* version, Error** error);
|
|
|
| - // Waits for all tabs to stop loading.
|
| - void WaitForAllTabsToStopLoading(Error** error);
|
| + // Waits for all views to stop loading.
|
| + void WaitForAllViewsToStopLoading(Error** error);
|
|
|
| // Install packed extension.
|
| void InstallExtensionDeprecated(const FilePath& path, Error** error);
|
|
|
| - // Gets all installed extension IDs.
|
| - void GetInstalledExtensions(std::vector<std::string>* extension_ids,
|
| - Error** error);
|
| -
|
| // Install a packed or unpacked extension. If the path ends with '.crx',
|
| // the extension is assumed to be packed.
|
| void InstallExtension(const FilePath& path, std::string* extension_id,
|
| Error** error);
|
|
|
| + // Gets a list of dictionary information about all installed extensions.
|
| + void GetExtensionsInfo(base::ListValue* extensions_list, Error** error);
|
| +
|
| + // Gets a list of dictionary information about all installed extensions.
|
| + void IsPageActionVisible(const WebViewId& tab_id,
|
| + const std::string& extension_id,
|
| + bool* is_visible,
|
| + Error** error);
|
| +
|
| + // Sets whether the extension is enabled or not.
|
| + void SetExtensionState(const std::string& extension_id,
|
| + bool enable,
|
| + Error** error);
|
| +
|
| + // Clicks the extension action button. If |browser_action| is false, the
|
| + // page action will be clicked.
|
| + void ClickExtensionButton(const std::string& extension_id,
|
| + bool browser_action,
|
| + Error** error);
|
| +
|
| + // Uninstalls the given extension.
|
| + void UninstallExtension(const std::string& extension_id, Error** error);
|
| +
|
| +
|
| private:
|
| AutomationProxy* automation() const;
|
| - Error* GetIndicesForTab(int tab_id, int* browser_index, int* tab_index);
|
| + Error* ConvertViewIdToLocator(const WebViewId& view_id,
|
| + WebViewLocator* view_locator);
|
| Error* CompareVersion(int client_build_no,
|
| int client_patch_no,
|
| bool* is_newer_or_equal);
|
|
|