Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1396)

Unified Diff: content/browser/service_worker/service_worker_cache_storage.cc

Issue 459003002: Plumbs URLRequestContext and CacheBlobStorageContext down to cache. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cache1
Patch Set: nits Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ffffebf48bb45c76d3f5caf7627647a43309ba4d..8551163f806c54a6fe58242115908ff2d8d4840f 100644
--- a/content/browser/service_worker/service_worker_cache_storage.cc
+++ b/content/browser/service_worker/service_worker_cache_storage.cc
@@ -17,6 +17,7 @@
#include "content/public/browser/browser_thread.h"
#include "net/base/directory_lister.h"
#include "net/base/net_errors.h"
+#include "webkit/browser/blob/blob_storage_context.h"
namespace content {
@@ -30,8 +31,13 @@ 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) {}
+ CacheLoader(
+ base::SequencedTaskRunner* cache_task_runner,
+ net::URLRequestContext* request_context,
+ base::WeakPtr<webkit_blob::BlobStorageContext> blob_context)
+ : cache_task_runner_(cache_task_runner),
+ request_context_(request_context),
+ blob_context_(blob_context) {}
// Loads the given cache_name, the cache is NULL if it fails. If the cache
// doesn't exist a new one is created.
@@ -62,13 +68,18 @@ class ServiceWorkerCacheStorage::CacheLoader
virtual void LoadCacheImpl(const std::string&) {}
scoped_refptr<base::SequencedTaskRunner> cache_task_runner_;
+ net::URLRequestContext* request_context_;
+ base::WeakPtr<webkit_blob::BlobStorageContext> blob_context_;
};
class ServiceWorkerCacheStorage::MemoryLoader
: public ServiceWorkerCacheStorage::CacheLoader {
public:
- explicit MemoryLoader(base::SequencedTaskRunner* cache_task_runner)
- : CacheLoader(cache_task_runner) {}
+ MemoryLoader(
+ base::SequencedTaskRunner* cache_task_runner,
+ net::URLRequestContext* request_context,
+ base::WeakPtr<webkit_blob::BlobStorageContext> blob_context)
+ : CacheLoader(cache_task_runner, request_context, blob_context) {}
virtual void LoadCache(const std::string& cache_name,
const CacheCallback& callback) OVERRIDE {
NOTREACHED();
@@ -77,7 +88,8 @@ class ServiceWorkerCacheStorage::MemoryLoader
virtual void CreateCache(const std::string& cache_name,
const CacheCallback& callback) OVERRIDE {
scoped_ptr<ServiceWorkerCache> cache =
- ServiceWorkerCache::CreateMemoryCache(cache_name);
+ ServiceWorkerCache::CreateMemoryCache(
+ cache_name, request_context_, blob_context_);
callback.Run(cache.Pass());
}
@@ -104,8 +116,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,
+ base::WeakPtr<webkit_blob::BlobStorageContext> 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 {
@@ -150,10 +165,13 @@ class ServiceWorkerCacheStorage::SimpleCacheLoader
callback.Run(scoped_ptr<ServiceWorkerCache>());
return;
}
- base::FilePath cache_path =
- CreatePersistentCachePath(origin_path_, cache_name);
- scoped_ptr<ServiceWorkerCache> cache(
- ServiceWorkerCache::CreatePersistentCache(cache_path, cache_name));
+
+ scoped_ptr<ServiceWorkerCache> cache =
+ ServiceWorkerCache::CreatePersistentCache(
+ CreatePersistentCachePath(origin_path_, cache_name),
+ cache_name,
+ request_context_,
+ blob_context_);
callback.Run(cache.Pass());
}
@@ -359,15 +377,19 @@ 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,
+ base::WeakPtr<webkit_blob::BlobStorageContext> blob_context)
: initialized_(false),
origin_path_(path),
cache_task_runner_(cache_task_runner),
weak_factory_(this) {
if (memory_only)
- cache_loader_ = new MemoryLoader(cache_task_runner_);
+ cache_loader_ =
+ new MemoryLoader(cache_task_runner_, request_context, blob_context);
else
- cache_loader_ = new SimpleCacheLoader(origin_path_, cache_task_runner_);
+ cache_loader_ = new SimpleCacheLoader(
+ origin_path_, cache_task_runner_, request_context, blob_context);
}
ServiceWorkerCacheStorage::~ServiceWorkerCacheStorage() {

Powered by Google App Engine
This is Rietveld 408576698