diff options
Diffstat (limited to 'chromium/net/cookies/cookie_store_test_helpers.h')
-rw-r--r-- | chromium/net/cookies/cookie_store_test_helpers.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/chromium/net/cookies/cookie_store_test_helpers.h b/chromium/net/cookies/cookie_store_test_helpers.h new file mode 100644 index 00000000000..86b572afdd9 --- /dev/null +++ b/chromium/net/cookies/cookie_store_test_helpers.h @@ -0,0 +1,89 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_COOKIES_COOKIE_STORE_TEST_HELPERS_H_ +#define NET_COOKIES_COOKIE_STORE_TEST_HELPERS_H_ + +#include "net/cookies/cookie_monster.h" + +#include <string> +#include <vector> + +#include "base/callback_forward.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace net { + +class DelayedCookieMonster : public CookieStore { + public: + DelayedCookieMonster(); + + // Call the asynchronous CookieMonster function, expect it to immediately + // invoke the internal callback. + // Post a delayed task to invoke the original callback with the results. + + virtual void SetCookieWithOptionsAsync( + const GURL& url, + const std::string& cookie_line, + const CookieOptions& options, + const CookieMonster::SetCookiesCallback& callback) OVERRIDE; + + virtual void GetCookiesWithOptionsAsync( + const GURL& url, + const CookieOptions& options, + const CookieMonster::GetCookiesCallback& callback) OVERRIDE; + + virtual bool SetCookieWithOptions(const GURL& url, + const std::string& cookie_line, + const CookieOptions& options); + + virtual std::string GetCookiesWithOptions(const GURL& url, + const CookieOptions& options); + + virtual void DeleteCookie(const GURL& url, + const std::string& cookie_name); + + virtual void DeleteCookieAsync(const GURL& url, + const std::string& cookie_name, + const base::Closure& callback) OVERRIDE; + + virtual void DeleteAllCreatedBetweenAsync( + const base::Time& delete_begin, + const base::Time& delete_end, + const DeleteCallback& callback) OVERRIDE; + + virtual void DeleteSessionCookiesAsync(const DeleteCallback&) OVERRIDE; + + virtual CookieMonster* GetCookieMonster() OVERRIDE; + + private: + + // Be called immediately from CookieMonster. + + void SetCookiesInternalCallback(bool result); + + void GetCookiesWithOptionsInternalCallback(const std::string& cookie); + + // Invoke the original callbacks. + + void InvokeSetCookiesCallback( + const CookieMonster::SetCookiesCallback& callback); + + void InvokeGetCookieStringCallback( + const CookieMonster::GetCookiesCallback& callback); + + friend class base::RefCountedThreadSafe<DelayedCookieMonster>; + virtual ~DelayedCookieMonster(); + + scoped_refptr<CookieMonster> cookie_monster_; + + bool did_run_; + bool result_; + std::string cookie_; + std::string cookie_line_; +}; + +} // namespace net + +#endif // NET_COOKIES_COOKIE_STORE_TEST_HELPERS_H_ |