1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_PUBLIC_BROWSER_COOKIE_STORE_FACTORY_H_
6#define CONTENT_PUBLIC_BROWSER_COOKIE_STORE_FACTORY_H_
7
8#include "content/common/content_export.h"
9#include "net/cookies/cookie_monster.h"
10
11namespace base {
12class FilePath;
13}
14
15namespace quota {
16class SpecialStoragePolicy;
17}
18
19namespace content {
20class CookieCryptoDelegate;
21
22// All blocking database accesses will be performed on |background_task_runner|.
23// Callbacks for data load events will be performed on |client_task_runner|.
24CONTENT_EXPORT net::CookieStore* CreatePersistentCookieStore(
25    const base::FilePath& path,
26    bool restore_old_session_cookies,
27    quota::SpecialStoragePolicy* storage_policy,
28    net::CookieMonster::Delegate* cookie_monster_delegate,
29    const scoped_refptr<base::SequencedTaskRunner>& client_task_runner,
30    const scoped_refptr<base::SequencedTaskRunner>& background_task_runner,
31    scoped_ptr<CookieCryptoDelegate> crypto_delegate);
32
33// Uses the default client_task_runner and background_task_runner.
34CONTENT_EXPORT net::CookieStore* CreatePersistentCookieStore(
35    const base::FilePath& path,
36    bool restore_old_session_cookies,
37    quota::SpecialStoragePolicy* storage_policy,
38    net::CookieMonster::Delegate* cookie_monster_delegate,
39    scoped_ptr<CookieCryptoDelegate> crypto_delegate);
40
41}  // namespace content
42
43#endif  // CONTENT_PUBLIC_BROWSER_COOKIE_STORE_FACTORY_H_
44