Index: content/browser/service_worker/service_worker_cache_storage.cc |
diff --git a/content/browser/service_worker/service_worker_cache_storage.cc b/content/browser/service_worker/service_worker_cache_storage.cc |
index bc33d8cddff802376a4fa00bafaf7b67bf7d29e3..2d012fd9ba73db900869c2bec5f36beff02c6d52 100644 |
--- a/content/browser/service_worker/service_worker_cache_storage.cc |
+++ b/content/browser/service_worker/service_worker_cache_storage.cc |
@@ -11,6 +11,7 @@ |
#include "base/sha1.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
+#include "content/browser/fileapi/chrome_blob_storage_context.h" |
#include "content/browser/service_worker/service_worker_cache.h" |
#include "content/browser/service_worker/service_worker_cache.pb.h" |
#include "content/public/browser/browser_thread.h" |
@@ -27,8 +28,12 @@ class ServiceWorkerCacheStorage::CacheLoader { |
typedef base::Callback<void(scoped_ptr<std::vector<std::string> >)> |
StringsCallback; |
- explicit CacheLoader(base::SequencedTaskRunner* cache_task_runner) |
- : cache_task_runner_(cache_task_runner) {} |
+ explicit CacheLoader(base::SequencedTaskRunner* cache_task_runner, |
+ net::URLRequestContext* request_context, |
+ ChromeBlobStorageContext* blob_context) |
+ : cache_task_runner_(cache_task_runner), |
+ request_context_(request_context), |
+ blob_context_(blob_context) {} |
virtual ~CacheLoader() {}; |
@@ -56,13 +61,17 @@ class ServiceWorkerCacheStorage::CacheLoader { |
protected: |
virtual void LoadCacheImpl(const std::string&) {} |
scoped_refptr<base::SequencedTaskRunner> cache_task_runner_; |
+ net::URLRequestContext* request_context_; |
+ ChromeBlobStorageContext* blob_context_; |
}; |
class ServiceWorkerCacheStorage::MemoryLoader |
: public ServiceWorkerCacheStorage::CacheLoader { |
public: |
- explicit MemoryLoader(base::SequencedTaskRunner* cache_task_runner) |
- : CacheLoader(cache_task_runner) {} |
+ explicit MemoryLoader(base::SequencedTaskRunner* cache_task_runner, |
+ net::URLRequestContext* request_context, |
+ ChromeBlobStorageContext* blob_context) |
+ : CacheLoader(cache_task_runner, request_context, blob_context) {} |
virtual void LoadCache(const std::string& cache_name, |
const CacheCallback& callback) OVERRIDE { |
NOTREACHED(); |
@@ -70,8 +79,8 @@ class ServiceWorkerCacheStorage::MemoryLoader |
virtual void CreateCache(const std::string& cache_name, |
const CacheCallback& callback) OVERRIDE { |
- ServiceWorkerCache* cache = |
- ServiceWorkerCache::CreateMemoryCache(cache_name); |
+ ServiceWorkerCache* cache = ServiceWorkerCache::CreateMemoryCache( |
+ cache_name, request_context_, blob_context_); |
callback.Run(cache); |
} |
@@ -95,8 +104,11 @@ class ServiceWorkerCacheStorage::SimpleCacheLoader |
: public ServiceWorkerCacheStorage::CacheLoader { |
public: |
SimpleCacheLoader(const base::FilePath& origin_path, |
- base::SequencedTaskRunner* cache_task_runner) |
- : CacheLoader(cache_task_runner), origin_path_(origin_path) {} |
+ base::SequencedTaskRunner* cache_task_runner, |
+ net::URLRequestContext* request_context, |
+ ChromeBlobStorageContext* blob_context) |
+ : CacheLoader(cache_task_runner, request_context, blob_context), |
+ origin_path_(origin_path) {} |
virtual void LoadCache(const std::string& cache_name, |
const CacheCallback& callback) OVERRIDE { |
@@ -140,7 +152,10 @@ class ServiceWorkerCacheStorage::SimpleCacheLoader |
return; |
} |
ServiceWorkerCache* cache = ServiceWorkerCache::CreatePersistentCache( |
- CreatePersistentCachePath(origin_path_, cache_name), cache_name); |
+ CreatePersistentCachePath(origin_path_, cache_name), |
+ cache_name, |
+ request_context_, |
+ blob_context_); |
callback.Run(cache); |
} |
@@ -331,15 +346,18 @@ class ServiceWorkerCacheStorage::SimpleCacheLoader |
ServiceWorkerCacheStorage::ServiceWorkerCacheStorage( |
const base::FilePath& path, |
bool memory_only, |
- base::SequencedTaskRunner* cache_task_runner) |
+ base::SequencedTaskRunner* cache_task_runner, |
+ net::URLRequestContext* request_context, |
+ ChromeBlobStorageContext* blob_context) |
: initialized_(false), |
origin_path_(path), |
cache_task_runner_(cache_task_runner) { |
if (memory_only) |
- cache_loader_.reset(new MemoryLoader(cache_task_runner_)); |
- else |
cache_loader_.reset( |
- new SimpleCacheLoader(origin_path_, cache_task_runner_)); |
+ new MemoryLoader(cache_task_runner_, request_context, blob_context)); |
+ else |
+ cache_loader_.reset(new SimpleCacheLoader( |
+ origin_path_, cache_task_runner_, request_context, blob_context)); |
} |
ServiceWorkerCacheStorage::~ServiceWorkerCacheStorage() { |