Index: content/public/browser/cookie_store_factory.h |
diff --git a/content/public/browser/cookie_store_factory.h b/content/public/browser/cookie_store_factory.h |
index c7a9c6eb4172ee576529f5b756dd7efc638893df..2b6e8793c8243b9cb86780df54b6adb97500334c 100644 |
--- a/content/public/browser/cookie_store_factory.h |
+++ b/content/public/browser/cookie_store_factory.h |
@@ -5,24 +5,48 @@ |
#ifndef CONTENT_PUBLIC_BROWSER_COOKIE_STORE_FACTORY_H_ |
#define CONTENT_PUBLIC_BROWSER_COOKIE_STORE_FACTORY_H_ |
+#include "base/files/file_path.h" |
+#include "base/memory/ref_counted.h" |
#include "content/common/content_export.h" |
-#include "net/cookies/cookie_monster.h" |
+#include "webkit/browser/quota/special_storage_policy.h" |
namespace base { |
class FilePath; |
} |
-namespace quota { |
-class SpecialStoragePolicy; |
+namespace net { |
+class CookieMonsterDelegate; |
+class CookieStore; |
} |
namespace content { |
-CONTENT_EXPORT net::CookieStore* CreatePersistentCookieStore( |
- const base::FilePath& path, |
- bool restore_old_session_cookies, |
- quota::SpecialStoragePolicy* storage_policy, |
- net::CookieMonster::Delegate* cookie_monster_delegate); |
+struct CONTENT_EXPORT CookieStoreConfig { |
+ // Specifies how session cookies are persisted in the backing data store. |
+ enum SessionCookieMode { |
+ EPHEMERAL_SESSION_COOKIES, |
+ PERSISTANT_SESSION_COOKIES, |
+ RESTORED_SESSION_COOKIES |
+ }; |
+ |
+ // If |path| is empty, then this specifies an in-memory cookie store. |
+ // With in-memory cookie stores, |session_cookie_mode| must be |
+ // EPHEMERAL_SESSION_COOKIES. |
+ CookieStoreConfig(); |
+ CookieStoreConfig(const base::FilePath& path, |
+ SessionCookieMode session_cookie_mode, |
+ quota::SpecialStoragePolicy* storage_policy, |
+ net::CookieMonsterDelegate* cookie_delegate); |
+ ~CookieStoreConfig(); |
+ |
+ base::FilePath path; |
+ SessionCookieMode session_cookie_mode; |
+ scoped_refptr<quota::SpecialStoragePolicy> storage_policy; |
+ scoped_refptr<net::CookieMonsterDelegate> cookie_delegate; |
+}; |
+ |
+CONTENT_EXPORT net::CookieStore* CreateCookieStore( |
+ const CookieStoreConfig& config); |
} // namespace content |