| Index: chrome/test/webdriver/session.h
|
| diff --git a/chrome/test/webdriver/session.h b/chrome/test/webdriver/session.h
|
| index b1018f27989af38291ec92e2f698ce6bf68f0712..1cc625fa096d01e2a3e313d9b15c2a5e3710c74e 100644
|
| --- a/chrome/test/webdriver/session.h
|
| +++ b/chrome/test/webdriver/session.h
|
| @@ -17,7 +17,7 @@
|
| #include "chrome/test/webdriver/automation.h"
|
| #include "chrome/test/webdriver/frame_path.h"
|
| #include "chrome/test/webdriver/web_element_id.h"
|
| -#include "ui/gfx/point.h"
|
| +#include "chrome/test/webdriver/webdriver_basic_types.h"
|
|
|
| class CommandLine;
|
| class FilePath;
|
| @@ -29,14 +29,10 @@ class Value;
|
| class WaitableEvent;
|
| }
|
|
|
| -namespace gfx {
|
| -class Rect;
|
| -class Size;
|
| -}
|
| -
|
| namespace webdriver {
|
|
|
| class Error;
|
| +class ValueParser;
|
|
|
| // A window ID and frame path combination that uniquely identifies a specific
|
| // frame within a session.
|
| @@ -103,6 +99,16 @@ class Session {
|
| const base::ListValue* const args,
|
| base::Value** value);
|
|
|
| + // Executes the given script in the context of the given frame and parses
|
| + // the value with the given parser. The script should be in the form of an
|
| + // anonymous function. |script_name| is only used when creating error
|
| + // messages. This function takes ownership of |args| and |parser|.
|
| + Error* ExecuteScriptAndParse(const FrameId& frame_id,
|
| + const std::string& anonymous_func_script,
|
| + const std::string& script_name,
|
| + const base::ListValue* args,
|
| + const ValueParser* parser);
|
| +
|
| // Executes given |script| in the context of the given frame.
|
| // The |script| should be in the form of a function body
|
| // (e.g. "return arguments[0]"), where |args| is the list of arguments to
|
| @@ -118,14 +124,14 @@ class Session {
|
| Error* SendKeys(const WebElementId& element, const string16& keys);
|
|
|
| // Sets the file paths to the file upload control under the given location.
|
| - Error* DragAndDropFilePaths(const gfx::Point& location,
|
| + Error* DragAndDropFilePaths(const Point& location,
|
| const std::vector<FilePath::StringType>& paths);
|
|
|
| // Clicks the mouse at the given location using the given button.
|
| - Error* MouseMoveAndClick(const gfx::Point& location,
|
| + Error* MouseMoveAndClick(const Point& location,
|
| automation::MouseButton button);
|
| - Error* MouseMove(const gfx::Point& location);
|
| - Error* MouseDrag(const gfx::Point& start, const gfx::Point& end);
|
| + Error* MouseMove(const Point& location);
|
| + Error* MouseDrag(const Point& start, const Point& end);
|
| Error* MouseClick(automation::MouseButton button);
|
| Error* MouseButtonDown();
|
| Error* MouseButtonUp();
|
| @@ -214,7 +220,7 @@ class Session {
|
| // the client's viewport.
|
| Error* GetElementLocationInView(
|
| const WebElementId& element,
|
| - gfx::Point* location);
|
| + Point* location);
|
|
|
| // Scroll the element's region into view and get its location relative to
|
| // the client's viewport. If |center| is true, the element will be centered
|
| @@ -223,22 +229,22 @@ class Session {
|
| // of the given region.
|
| Error* GetElementRegionInView(
|
| const WebElementId& element,
|
| - const gfx::Rect& region,
|
| + const Rect& region,
|
| bool center,
|
| bool verify_clickable_at_middle,
|
| - gfx::Point* location);
|
| + Point* location);
|
|
|
| // Gets the size of the element from the given window and frame, even if
|
| // its display is none.
|
| Error* GetElementSize(const FrameId& frame_id,
|
| const WebElementId& element,
|
| - gfx::Size* size);
|
| + Size* size);
|
|
|
| // Gets the size of the element's first client rect. If the element has
|
| // no client rects, this will return an error.
|
| Error* GetElementFirstClientRect(const FrameId& frame_id,
|
| const WebElementId& element,
|
| - gfx::Rect* rect);
|
| + Rect* rect);
|
|
|
| // Gets the element's effective style for the given property.
|
| Error* GetElementEffectiveStyle(
|
| @@ -289,7 +295,7 @@ class Session {
|
| // location of the element. If the element is not clickable, or if the
|
| // location cannot be determined, an error will be returned.
|
| Error* GetClickableLocation(const WebElementId& element,
|
| - gfx::Point* location);
|
| + Point* location);
|
|
|
| // Gets the attribute of the given element. If there are no errors, the
|
| // function sets |value| and the caller takes ownership.
|
| @@ -312,7 +318,7 @@ class Session {
|
| void set_implicit_wait(int timeout_ms);
|
| int implicit_wait() const;
|
|
|
| - const gfx::Point& get_mouse_position() const;
|
| + const Point& get_mouse_position() const;
|
|
|
| const Options& options() const;
|
|
|
| @@ -334,9 +340,9 @@ class Session {
|
| // Executes the given |script| in the context of the given frame.
|
| // Waits for script to finish and parses the response.
|
| // The caller is responsible for the script result |value|.
|
| - Error* ExecuteScriptAndParseResponse(const FrameId& frame_id,
|
| - const std::string& script,
|
| - base::Value** value);
|
| + Error* ExecuteScriptAndParseValue(const FrameId& frame_id,
|
| + const std::string& script,
|
| + base::Value** value);
|
|
|
| void SendKeysOnSessionThread(const string16& keys, Error** error);
|
| Error* SwitchToFrameWithJavaScriptLocatedFrame(
|
| @@ -348,18 +354,24 @@ class Session {
|
| const std::string& query,
|
| bool find_one,
|
| std::vector<WebElementId>* elements);
|
| + Error* ExecuteFindElementScriptAndParse(const FrameId& frame_id,
|
| + const WebElementId& root_element,
|
| + const std::string& locator,
|
| + const std::string& query,
|
| + bool find_one,
|
| + std::vector<WebElementId>* elements);
|
| // Returns an error if the element is not clickable.
|
| Error* VerifyElementIsClickable(
|
| const FrameId& frame_id,
|
| const WebElementId& element,
|
| - const gfx::Point& location);
|
| + const Point& location);
|
| Error* GetElementRegionInViewHelper(
|
| const FrameId& frame_id,
|
| const WebElementId& element,
|
| - const gfx::Rect& region,
|
| + const Rect& region,
|
| bool center,
|
| bool verify_clickable_at_middle,
|
| - gfx::Point* location);
|
| + Point* location);
|
|
|
| const std::string id_;
|
| FrameId current_target_;
|
| @@ -379,7 +391,7 @@ class Session {
|
| std::vector<WebElementId> frame_elements_;
|
|
|
| // Last mouse position. Advanced APIs need this value.
|
| - gfx::Point mouse_position_;
|
| + Point mouse_position_;
|
|
|
| // Chrome does not have an individual method for setting the prompt text
|
| // of an alert. Instead, when the WebDriver client wants to set the text,
|
|
|