Index: chrome/test/webdriver/webdriver_automation.h |
diff --git a/chrome/test/webdriver/webdriver_automation.h b/chrome/test/webdriver/webdriver_automation.h |
deleted file mode 100644 |
index 6848ae2cd65337f3567d09a64b0ae23306e8e955..0000000000000000000000000000000000000000 |
--- a/chrome/test/webdriver/webdriver_automation.h |
+++ /dev/null |
@@ -1,278 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-#ifndef CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ |
-#define CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ |
- |
-#include <map> |
-#include <string> |
-#include <vector> |
- |
-#include "base/command_line.h" |
-#include "base/files/file_path.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "chrome/common/automation_constants.h" |
-#include "chrome/test/webdriver/webdriver_logging.h" |
-#include "ui/base/keycodes/keyboard_codes.h" |
- |
-class AutomationId; |
-class AutomationProxy; |
-class ProxyLauncher; |
-struct WebKeyEvent; |
-struct WebMouseEvent; |
-class WebViewId; |
-struct WebViewInfo; |
-class WebViewLocator; |
- |
-namespace base { |
-class DictionaryValue; |
-class ListValue; |
-class Value; |
-} |
- |
-namespace webdriver { |
- |
-class Error; |
-class FramePath; |
-class Point; |
-class Rect; |
- |
-// Creates and controls the Chrome instance. |
-// This class should be created and accessed on a single thread. |
-// Note: All member functions are void because they are invoked |
-// by posting a task. |
-class Automation { |
- public: |
- struct BrowserOptions { |
- BrowserOptions(); |
- ~BrowserOptions(); |
- |
- // The command line to use for launching the browser. If no program is |
- // specified, the default browser executable will be used. |
- CommandLine command; |
- |
- // The user data directory to be copied and used. If empty, a temporary |
- // directory will be used. |
- base::FilePath user_data_dir; |
- |
- // The channel ID of an already running browser to connect to. If empty, |
- // the browser will be launched with an anonymous channel. |
- std::string channel_id; |
- |
- // True if the Chrome process should only be terminated if quit is called. |
- // If false, Chrome will also be terminated if this process is killed or |
- // shutdown. |
- bool detach_process; |
- |
- // True if the browser should ignore certificate related errors. |
- bool ignore_certificate_errors; |
- |
- // Set of switches to be excluded from default list when starting Chrome. |
- std::set<std::string> exclude_switches; |
- }; |
- |
- explicit Automation(const Logger& logger); |
- virtual ~Automation(); |
- |
- // Start the system's default Chrome binary. |
- void Init(const BrowserOptions& options, int* build_no, Error** error); |
- |
- // Terminates this session and disconnects its automation proxy. After |
- // invoking this method, the Automation can safely be deleted. |
- void Terminate(); |
- |
- // 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 WebViewId& view_id, |
- const FramePath& frame_path, |
- const std::string& script, |
- std::string* result, |
- Error** error); |
- |
- // Sends a webkit key event to the current browser. Waits until the key has |
- // been processed by the web page. |
- void SendWebKeyEvent(const WebViewId& view_id, |
- const WebKeyEvent& key_event, |
- Error** error); |
- |
- // Sends a web mouse event to the given view. Waits until the event has |
- // been processed by the view. |
- void SendWebMouseEvent(const WebViewId& view_id, |
- const WebMouseEvent& event, |
- Error** error); |
- |
- // Drag and drop the file paths to the given location. |
- void DragAndDropFilePaths( |
- const WebViewId& view_id, |
- const Point& location, |
- const std::vector<base::FilePath::StringType>& paths, |
- Error** error); |
- |
- // 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( |
- const WebViewId& view_id, const base::FilePath& path, Error** error); |
- |
-#if !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) |
- // Dumps a heap profile of the process of the tab. |
- void HeapProfilerDump( |
- const WebViewId& view_id, const std::string& reason, Error** error); |
-#endif // !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) |
- |
- 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, |
- scoped_ptr<base::ListValue>* cookies, |
- Error** error); |
- void DeleteCookie(const std::string& url, |
- const std::string& cookie_name, |
- Error** error); |
- void SetCookie(const std::string& url, |
- base::DictionaryValue* cookie_dict, |
- Error** error); |
- |
- // TODO(kkania): All of these mouse commands are deprecated and should be |
- // removed when chrome build 1002 is no longer supported. |
- // Use SendWebMouseEvent instead. |
- void MouseMoveDeprecated(const WebViewId& view_id, |
- const Point& p, |
- Error** error); |
- void MouseClickDeprecated(const WebViewId& view_id, |
- const Point& p, |
- automation::MouseButton button, |
- Error** error); |
- void MouseDragDeprecated(const WebViewId& view_id, |
- const Point& start, |
- const Point& end, |
- Error** error); |
- void MouseButtonDownDeprecated(const WebViewId& view_id, |
- const Point& p, |
- Error** error); |
- void MouseButtonUpDeprecated(const WebViewId& view_id, |
- const Point& p, |
- Error** error); |
- void MouseDoubleClickDeprecated(const WebViewId& view_id, |
- const Point& p, |
- Error** error); |
- |
- // Get info for all views currently open. |
- void GetViews(std::vector<WebViewInfo>* views, Error** error); |
- |
- // Check if the given view exists currently. |
- void DoesViewExist(const WebViewId& view_id, bool* does_exist, Error** error); |
- |
- // Closes the given view. |
- void CloseView(const WebViewId& view_id, Error** error); |
- |
- // Sets the bounds for the given view. The position should be in screen |
- // coordinates, while the size should be the desired size of the view. |
- void SetViewBounds(const WebViewId& view_id, |
- const Rect& bounds, |
- Error** error); |
- |
- // Maximizes the given view. |
- void MaximizeView(const WebViewId& view_id, Error** error); |
- |
- // Gets the active JavaScript modal dialog's message. |
- void GetAppModalDialogMessage(std::string* message, Error** error); |
- |
- // Accepts or dismisses the active JavaScript modal dialog. |
- void AcceptOrDismissAppModalDialog(bool accept, Error** error); |
- |
- // Accepts an active prompt JavaScript modal dialog, using the given |
- // prompt text as the result of the prompt. |
- void AcceptPromptAppModalDialog(const std::string& prompt_text, |
- Error** error); |
- |
- // Gets the version of the runing browser. |
- void GetBrowserVersion(std::string* version); |
- |
- // Gets the ChromeDriver automation version supported by the automation |
- // server. |
- void GetChromeDriverAutomationVersion(int* version, Error** error); |
- |
- // Waits for all views to stop loading. |
- void WaitForAllViewsToStopLoading(Error** error); |
- |
- // Install a packed or unpacked extension. If the path ends with '.crx', |
- // the extension is assumed to be packed. |
- void InstallExtension(const base::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); |
- |
- // Set a local state preference, which is not associated with any profile. |
- // Ownership of |value| is taken by this function. |
- void SetLocalStatePreference(const std::string& pref, |
- base::Value* value, |
- Error** error); |
- |
- // Set a user preference, which is associated with the current profile. |
- // Ownership of |value| is taken by this fucntion. |
- void SetPreference(const std::string& pref, |
- base::Value* value, |
- Error** error); |
- |
- // Gets the current geolocation. |
- void GetGeolocation(scoped_ptr<base::DictionaryValue>* geolocation, |
- Error** error); |
- |
- // Overrides the current geolocation. |
- void OverrideGeolocation(const base::DictionaryValue* geolocation, |
- Error** error); |
- |
- private: |
- AutomationProxy* automation() const; |
- Error* ConvertViewIdToLocator(const WebViewId& view_id, |
- WebViewLocator* view_locator); |
- Error* DetermineBuildNumber(); |
- Error* CheckVersion(int min_required_build_no, |
- const std::string& error_msg); |
- Error* CheckAlertsSupported(); |
- Error* CheckAdvancedInteractionsSupported(); |
- Error* CheckNewExtensionInterfaceSupported(); |
- Error* CheckGeolocationSupported(); |
- Error* CheckMaximizeSupported(); |
- Error* IsNewMouseApiSupported(bool* supports_new_api); |
- |
- const Logger& logger_; |
- scoped_ptr<ProxyLauncher> launcher_; |
- int build_no_; |
- scoped_ptr<base::DictionaryValue> geolocation_; |
- |
- DISALLOW_COPY_AND_ASSIGN(Automation); |
-}; |
- |
-} // namespace webdriver |
- |
-#endif // CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ |