| Index: chrome/test/webdriver/automation.h
|
| diff --git a/chrome/test/webdriver/automation.h b/chrome/test/webdriver/automation.h
|
| index 1d97bc24fd36cedd917297eb5b02f398b5c0bf73..34a1ccaa91386ef1db60a12baa59f2b447154120 100644
|
| --- a/chrome/test/webdriver/automation.h
|
| +++ b/chrome/test/webdriver/automation.h
|
| @@ -5,7 +5,9 @@
|
| #ifndef CHROME_TEST_WEBDRIVER_AUTOMATION_H_
|
| #define CHROME_TEST_WEBDRIVER_AUTOMATION_H_
|
|
|
| +#include <map>
|
| #include <string>
|
| +#include <vector>
|
|
|
| #include "base/task.h"
|
| #include "base/ref_counted.h"
|
| @@ -15,6 +17,7 @@
|
| #include "ui/base/keycodes/keyboard_codes.h"
|
|
|
| class GURL;
|
| +class TabProxy;
|
|
|
| namespace webdriver {
|
|
|
| @@ -57,33 +60,53 @@ class Automation : private UITestBase {
|
|
|
| // 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(const std::string& frame_xpath,
|
| + void ExecuteScript(int tab_id,
|
| + const std::string& frame_xpath,
|
| const std::string& script,
|
| std::string* result,
|
| bool* success);
|
|
|
| // Sends a key event to the current browser. Waits until the key has
|
| // been processed by the web page.
|
| - void SendWebKeyEvent(const WebKeyEvent& key_event, bool* success);
|
| -
|
| - void NavigateToURL(const std::string& url, bool* success);
|
| - void GoForward(bool* success);
|
| - void GoBack(bool* success);
|
| - void Reload(bool* success);
|
| - void GetURL(std::string* url, bool* success);
|
| - void GetGURL(GURL* gurl, bool* success);
|
| - void GetTabTitle(std::string* tab_title, bool* success);
|
| - void GetCookies(const GURL& gurl, std::string* cookies, bool* success);
|
| - void GetCookieByName(const GURL& gurl, const std::string& cookie_name,
|
| - std::string* cookie, bool* success);
|
| - void DeleteCookie(const GURL& gurl, const std::string& cookie_name,
|
| + void SendWebKeyEvent(int tab_id, const WebKeyEvent& key_event, bool* success);
|
| +
|
| + void NavigateToURL(int tab_id, const std::string& url, bool* success);
|
| + void GoForward(int tab_id, bool* success);
|
| + void GoBack(int tab_id, bool* success);
|
| + void Reload(int tab_id, bool* success);
|
| + void GetURL(int tab_id, std::string* url, bool* success);
|
| + void GetGURL(int tab_id, GURL* gurl, bool* success);
|
| + void GetTabTitle(int tab_id, std::string* tab_title, bool* success);
|
| + void GetCookies(
|
| + int tab_id, const GURL& gurl, std::string* cookies, bool* success);
|
| + void GetCookieByName(int tab_id,
|
| + const GURL& gurl,
|
| + const std::string& cookie_name,
|
| + std::string* cookie,
|
| + bool* success);
|
| + void DeleteCookie(int tab_id,
|
| + const GURL& gurl,
|
| + const std::string& cookie_name,
|
| bool* success);
|
| - void SetCookie(const GURL& gurl, const std::string& cookie, bool* success);
|
| + void SetCookie(
|
| + int tab_id, const GURL& gurl, const std::string& cookie, bool* success);
|
| +
|
| + // 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, bool* success);
|
| +
|
| + // Check if the given tab exists currently.
|
| + void DoesTabExist(int tab_id, bool* does_exist);
|
| +
|
| + void CloseTab(int tab_id, bool* success);
|
|
|
| private:
|
| - scoped_refptr<BrowserProxy> browser_;
|
| - scoped_refptr<TabProxy> tab_;
|
| + typedef std::map<int, scoped_refptr<TabProxy> > TabIdMap;
|
| + TabProxy* GetTabById(int tab_id);
|
|
|
| + // Map from tab ID to |TabProxy|. The tab ID is simply the |AutomationHandle|
|
| + // for the proxy.
|
| + TabIdMap tab_id_map_;
|
| ScopedTempDir profile_dir_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Automation);
|
|
|