Index: chrome/test/webdriver/session.cc |
diff --git a/chrome/test/webdriver/session.cc b/chrome/test/webdriver/session.cc |
index 00de26c11d6d06f4c5a75e12d916118c96cdbba3..ab378033608b9882c2224c8676159e085ddc464c 100644 |
--- a/chrome/test/webdriver/session.cc |
+++ b/chrome/test/webdriver/session.cc |
@@ -22,6 +22,7 @@ |
#include "chrome/common/chrome_switches.h" |
#include "chrome/test/test_launcher_utils.h" |
#include "chrome/test/webdriver/utility_functions.h" |
+#include "googleurl/src/gurl.h" |
#include "third_party/webdriver/atoms.h" |
namespace webdriver { |
@@ -174,6 +175,16 @@ bool Session::GetURL(std::string* url) { |
return success; |
} |
+bool Session::GetURL(GURL* gurl) { |
+ bool success = false; |
+ RunSessionTask(NewRunnableMethod( |
+ automation_.get(), |
+ &Automation::GetGURL, |
+ gurl, |
+ &success)); |
+ return success; |
+} |
+ |
bool Session::GetTabTitle(std::string* tab_title) { |
bool success = false; |
RunSessionTask(NewRunnableMethod( |
@@ -184,6 +195,53 @@ bool Session::GetTabTitle(std::string* tab_title) { |
return success; |
} |
+bool Session::GetCookies(const GURL& url, std::string* cookies) { |
+ bool success = false; |
+ RunSessionTask(NewRunnableMethod( |
+ automation_.get(), |
+ &Automation::GetCookies, |
+ url, |
+ cookies, |
+ &success)); |
+ return success; |
+} |
+ |
+bool Session::GetCookieByName(const GURL& url, |
+ const std::string& cookie_name, |
+ std::string* cookie) { |
+ bool success = false; |
+ RunSessionTask(NewRunnableMethod( |
+ automation_.get(), |
+ &Automation::GetCookieByName, |
+ url, |
+ cookie_name, |
+ cookie, |
+ &success)); |
+ return success; |
+} |
+ |
+bool Session::DeleteCookie(const GURL& url, const std::string& cookie_name) { |
+ bool success = false; |
+ RunSessionTask(NewRunnableMethod( |
+ automation_.get(), |
+ &Automation::DeleteCookie, |
+ url, |
+ cookie_name, |
+ &success)); |
+ return success; |
+} |
+ |
+bool Session::SetCookie(const GURL& url, const std::string& cookie) { |
+ bool success = false; |
+ RunSessionTask(NewRunnableMethod( |
+ automation_.get(), |
+ &Automation::SetCookie, |
+ url, |
+ cookie, |
+ &success)); |
+ return success; |
+} |
+ |
void Session::RunSessionTask(Task* task) { |
base::WaitableEvent done_event(false, false); |
thread_.message_loop_proxy()->PostTask(FROM_HERE, NewRunnableMethod( |