summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-27 20:17:49 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-27 20:17:49 +0000
commitb561aab834523a34c6ebe23f3dccd1fd3c093169 (patch)
tree47a603f7afb8b25e384b1d06631ee4fbdcea0b8c /content
parentc6e8c5742418db363bf29a362a1113983f16f723 (diff)
downloadchromium_src-b561aab834523a34c6ebe23f3dccd1fd3c093169.zip
chromium_src-b561aab834523a34c6ebe23f3dccd1fd3c093169.tar.gz
chromium_src-b561aab834523a34c6ebe23f3dccd1fd3c093169.tar.bz2
Converted policy.PolicyTest.ClearSiteDataOnExit pyauto test to a browser_test.
BUG=143637 Review URL: https://chromiumcodereview.appspot.com/10873082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153529 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/public/test/browser_test_utils.cc38
-rw-r--r--content/public/test/browser_test_utils.h8
2 files changed, 43 insertions, 3 deletions
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index aedf32c..ed0379d 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -166,8 +166,26 @@ void GetCookiesOnIOThread(const GURL& url,
context_getter->GetURLRequestContext()->cookie_store();
cookie_store->GetCookiesWithOptionsAsync(
url, net::CookieOptions(),
- base::Bind(&GetCookiesCallback,
- base::Unretained(cookies), base::Unretained(event)));
+ base::Bind(&GetCookiesCallback, cookies, event));
+}
+
+void SetCookieCallback(bool* result,
+ base::WaitableEvent* event,
+ bool success) {
+ *result = success;
+ event->Signal();
+}
+
+void SetCookieOnIOThread(const GURL& url,
+ const std::string& value,
+ net::URLRequestContextGetter* context_getter,
+ base::WaitableEvent* event,
+ bool* result) {
+ net::CookieStore* cookie_store =
+ context_getter->GetURLRequestContext()->cookie_store();
+ cookie_store->SetCookieWithOptionsAsync(
+ url, value, net::CookieOptions(),
+ base::Bind(&SetCookieCallback, result, event));
}
} // namespace
@@ -319,6 +337,22 @@ std::string GetCookies(BrowserContext* browser_context, const GURL& url) {
return cookies;
}
+bool SetCookie(BrowserContext* browser_context,
+ const GURL& url,
+ const std::string& value) {
+ bool result = false;
+ base::WaitableEvent event(true, false);
+ net::URLRequestContextGetter* context_getter =
+ browser_context->GetRequestContext();
+
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(&SetCookieOnIOThread, url, value,
+ make_scoped_refptr(context_getter), &event, &result));
+ event.Wait();
+ return result;
+}
+
TitleWatcher::TitleWatcher(WebContents* web_contents,
const string16& expected_title)
: web_contents_(web_contents),
diff --git a/content/public/test/browser_test_utils.h b/content/public/test/browser_test_utils.h
index 3f9af8e..83ea128 100644
--- a/content/public/test/browser_test_utils.h
+++ b/content/public/test/browser_test_utils.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_PUBLIC_TEST_BROWSER_TEST_UTILS_H_
#define CONTENT_PUBLIC_TEST_BROWSER_TEST_UTILS_H_
+#include <string>
#include <vector>
#include "base/callback_forward.h"
@@ -101,9 +102,14 @@ bool ExecuteJavaScriptAndExtractString(
const std::wstring& script,
std::string* result) WARN_UNUSED_RESULT;
-// Returns the cookies for the given url. Runs a nested message loop.
+// Returns the cookies for the given url.
std::string GetCookies(BrowserContext* browser_context, const GURL& url);
+// Sets a cookie for the given url. Returns true on success.
+bool SetCookie(BrowserContext* browser_context,
+ const GURL& url,
+ const std::string& value);
+
// Watches title changes on a tab, blocking until an expected title is set.
class TitleWatcher : public NotificationObserver {
public: