| 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() {
|
|
|