| Index: chrome/test/webdriver/session.cc
|
| diff --git a/chrome/test/webdriver/session.cc b/chrome/test/webdriver/session.cc
|
| index c9febbb8d0f10d9581099f086105701ac948df81..fb7a5c818ee2cc570227e2831501e200665cf349 100644
|
| --- a/chrome/test/webdriver/session.cc
|
| +++ b/chrome/test/webdriver/session.cc
|
| @@ -188,6 +188,20 @@ Error* Session::SendKeys(const WebElementId& element, const string16& keys) {
|
| return error;
|
| }
|
|
|
| +Error* Session::DragAndDropFilePaths(
|
| + const gfx::Point& location,
|
| + const std::vector<FilePath::StringType>& paths) {
|
| + Error* error = NULL;
|
| + RunSessionTask(NewRunnableMethod(
|
| + automation_.get(),
|
| + &Automation::DragAndDropFilePaths,
|
| + current_target_.window_id,
|
| + location,
|
| + paths,
|
| + &error));
|
| + return error;
|
| +}
|
| +
|
| Error* Session::NavigateToURL(const std::string& url) {
|
| Error* error = NULL;
|
| RunSessionTask(NewRunnableMethod(
|
| @@ -917,6 +931,45 @@ Error* Session::WaitForAllTabsToStopLoading() {
|
| return error;
|
| }
|
|
|
| +Error* Session::GetAttribute(const WebElementId& element,
|
| + const std::string& key, Value** value) {
|
| + std::string script = base::StringPrintf(
|
| + "return (%s).apply(null, arguments);", atoms::GET_ATTRIBUTE);
|
| +
|
| + ListValue args;
|
| + args.Append(element.ToValue());
|
| + args.Append(Value::CreateStringValue(key));
|
| +
|
| + Error* error = ExecuteScript(script, &args, value);
|
| + if (error) {
|
| + return error;
|
| + }
|
| +
|
| + return NULL;
|
| +}
|
| +
|
| +Error* Session::GetClickableLocation(const WebElementId& element,
|
| + gfx::Point* location) {
|
| + Error* error = CheckElementPreconditionsForClicking(element);
|
| + if (error) {
|
| + return error;
|
| + }
|
| +
|
| + error = GetElementLocationInView(element, location);
|
| + if (error) {
|
| + return error;
|
| + }
|
| +
|
| + gfx::Size size;
|
| + error = GetElementSize(current_target(), element, &size);
|
| + if (error) {
|
| + return error;
|
| + }
|
| +
|
| + location->Offset(size.width() / 2, size.height() / 2);
|
| + return NULL;
|
| +}
|
| +
|
| const std::string& Session::id() const {
|
| return id_;
|
| }
|
|
|