diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-27 20:17:49 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-27 20:17:49 +0000 |
commit | b561aab834523a34c6ebe23f3dccd1fd3c093169 (patch) | |
tree | 47a603f7afb8b25e384b1d06631ee4fbdcea0b8c /content | |
parent | c6e8c5742418db363bf29a362a1113983f16f723 (diff) | |
download | chromium_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.cc | 38 | ||||
-rw-r--r-- | content/public/test/browser_test_utils.h | 8 |
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: |