| Index: net/disk_cache/cache_creator.cc
|
| diff --git a/net/disk_cache/cache_creator.cc b/net/disk_cache/cache_creator.cc
|
| index 718fc0dcf827eb0234e1caef4fd80b7ff1fff22c..c9add38bd3311c1645bd5ad06c5f8678453150ee 100644
|
| --- a/net/disk_cache/cache_creator.cc
|
| +++ b/net/disk_cache/cache_creator.cc
|
| @@ -11,7 +11,43 @@
|
| #include "net/disk_cache/mem_backend_impl.h"
|
| #include "net/disk_cache/simple/simple_backend_impl.h"
|
|
|
| -namespace disk_cache {
|
| +namespace {
|
| +
|
| +// Builds an instance of the backend depending on platform, type, experiments
|
| +// etc. Takes care of the retry state. This object will self-destroy when
|
| +// finished.
|
| +class CacheCreator {
|
| + public:
|
| + CacheCreator(const base::FilePath& path, bool force, int max_bytes,
|
| + net::CacheType type, uint32 flags,
|
| + base::MessageLoopProxy* thread, net::NetLog* net_log,
|
| + disk_cache::Backend** backend,
|
| + const net::CompletionCallback& callback);
|
| +
|
| + // Creates the backend.
|
| + int Run();
|
| +
|
| + private:
|
| + ~CacheCreator();
|
| +
|
| + void DoCallback(int result);
|
| +
|
| + void OnIOComplete(int result);
|
| +
|
| + const base::FilePath& path_;
|
| + bool force_;
|
| + bool retry_;
|
| + int max_bytes_;
|
| + net::CacheType type_;
|
| + uint32 flags_;
|
| + scoped_refptr<base::MessageLoopProxy> thread_;
|
| + disk_cache::Backend** backend_;
|
| + net::CompletionCallback callback_;
|
| + disk_cache::Backend* created_cache_;
|
| + net::NetLog* net_log_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(CacheCreator);
|
| +};
|
|
|
| CacheCreator::CacheCreator(
|
| const base::FilePath& path, bool force, int max_bytes,
|
| @@ -96,6 +132,10 @@ void CacheCreator::OnIOComplete(int result) {
|
| DCHECK_EQ(net::ERR_IO_PENDING, rv);
|
| }
|
|
|
| +} // namespace
|
| +
|
| +namespace disk_cache {
|
| +
|
| int CreateCacheBackend(net::CacheType type, const base::FilePath& path,
|
| int max_bytes,
|
| bool force, base::MessageLoopProxy* thread,
|
|
|