| Index: content/browser/service_worker/service_worker_cache_storage.h
|
| diff --git a/content/browser/service_worker/service_worker_cache_storage.h b/content/browser/service_worker/service_worker_cache_storage.h
|
| deleted file mode 100644
|
| index 6a65902b3939134faf770a4e2dc9e379fd34a9dd..0000000000000000000000000000000000000000
|
| --- a/content/browser/service_worker/service_worker_cache_storage.h
|
| +++ /dev/null
|
| @@ -1,235 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CACHE_STORAGE_H_
|
| -#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CACHE_STORAGE_H_
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "content/browser/service_worker/service_worker_cache.h"
|
| -
|
| -namespace base {
|
| -class SequencedTaskRunner;
|
| -}
|
| -
|
| -namespace net {
|
| -class URLRequestContext;
|
| -}
|
| -
|
| -namespace storage {
|
| -class BlobStorageContext;
|
| -}
|
| -
|
| -namespace content {
|
| -class ServiceWorkerCacheScheduler;
|
| -
|
| -// TODO(jkarlin): Constrain the total bytes used per origin.
|
| -
|
| -// ServiceWorkerCacheStorage holds the set of caches for a given origin. It is
|
| -// owned by the ServiceWorkerCacheStorageManager. This class expects to be run
|
| -// on the IO thread. The asynchronous methods are executed serially.
|
| -class CONTENT_EXPORT ServiceWorkerCacheStorage {
|
| - public:
|
| - enum CacheStorageError {
|
| - CACHE_STORAGE_ERROR_NO_ERROR,
|
| - CACHE_STORAGE_ERROR_NOT_IMPLEMENTED,
|
| - CACHE_STORAGE_ERROR_NOT_FOUND,
|
| - CACHE_STORAGE_ERROR_EXISTS,
|
| - CACHE_STORAGE_ERROR_STORAGE,
|
| - CACHE_STORAGE_ERROR_CLOSING
|
| - };
|
| - typedef std::vector<std::string> StringVector;
|
| - typedef base::Callback<void(bool, CacheStorageError)> BoolAndErrorCallback;
|
| - typedef base::Callback<void(const scoped_refptr<ServiceWorkerCache>&,
|
| - CacheStorageError)> CacheAndErrorCallback;
|
| - typedef base::Callback<void(const StringVector&, CacheStorageError)>
|
| - StringsAndErrorCallback;
|
| -
|
| - static const char kIndexFileName[];
|
| -
|
| - ServiceWorkerCacheStorage(
|
| - const base::FilePath& origin_path,
|
| - bool memory_only,
|
| - base::SequencedTaskRunner* cache_task_runner,
|
| - net::URLRequestContext* request_context,
|
| - const scoped_refptr<storage::QuotaManagerProxy>& quota_manager_proxy,
|
| - base::WeakPtr<storage::BlobStorageContext> blob_context,
|
| - const GURL& origin);
|
| -
|
| - // Any unfinished asynchronous operations may not complete or call their
|
| - // callbacks.
|
| - virtual ~ServiceWorkerCacheStorage();
|
| -
|
| - // Get the cache for the given key. If the cache is not found it is
|
| - // created.
|
| - void OpenCache(const std::string& cache_name,
|
| - const CacheAndErrorCallback& callback);
|
| -
|
| - // Calls the callback with whether or not the cache exists.
|
| - void HasCache(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback);
|
| -
|
| - // Deletes the cache if it exists. If it doesn't exist,
|
| - // CACHE_STORAGE_ERROR_NOT_FOUND is returned.
|
| - void DeleteCache(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback);
|
| -
|
| - // Calls the callback with a vector of cache names (keys) available.
|
| - void EnumerateCaches(const StringsAndErrorCallback& callback);
|
| -
|
| - // Calls match on the cache with the given |cache_name|.
|
| - void MatchCache(const std::string& cache_name,
|
| - scoped_ptr<ServiceWorkerFetchRequest> request,
|
| - const ServiceWorkerCache::ResponseCallback& callback);
|
| -
|
| - // Calls match on all of the caches in parallel, calling |callback| with the
|
| - // first response found. Note that if multiple caches have the same
|
| - // request/response then it is not defined which cache's response will be
|
| - // returned. If no response is found then |callback| is called with
|
| - // ServiceWorkerCache::ErrorTypeNotFound.
|
| - void MatchAllCaches(scoped_ptr<ServiceWorkerFetchRequest> request,
|
| - const ServiceWorkerCache::ResponseCallback& callback);
|
| -
|
| - // Calls close on each cache and runs the callback after all of them have
|
| - // closed.
|
| - void CloseAllCaches(const base::Closure& callback);
|
| -
|
| - // The size of all of the origin's contents in memory. Returns 0 if the cache
|
| - // backend is not a memory backend. Runs synchronously.
|
| - int64 MemoryBackedSize() const;
|
| -
|
| - // The functions below are for tests to verify that the operations run
|
| - // serially.
|
| - void StartAsyncOperationForTesting();
|
| - void CompleteAsyncOperationForTesting();
|
| -
|
| - private:
|
| - class MemoryLoader;
|
| - class SimpleCacheLoader;
|
| - class CacheLoader;
|
| -
|
| - typedef std::map<std::string, base::WeakPtr<ServiceWorkerCache> > CacheMap;
|
| -
|
| - // Return a ServiceWorkerCache for the given name if the name is known. If the
|
| - // ServiceWorkerCache has been deleted, creates a new one.
|
| - scoped_refptr<ServiceWorkerCache> GetLoadedCache(
|
| - const std::string& cache_name);
|
| -
|
| - // Initializer and its callback are below.
|
| - void LazyInit();
|
| - void LazyInitImpl();
|
| - void LazyInitDidLoadIndex(
|
| - scoped_ptr<std::vector<std::string> > indexed_cache_names);
|
| -
|
| - // The Open and CreateCache callbacks are below.
|
| - void OpenCacheImpl(const std::string& cache_name,
|
| - const CacheAndErrorCallback& callback);
|
| - void CreateCacheDidCreateCache(
|
| - const std::string& cache_name,
|
| - const CacheAndErrorCallback& callback,
|
| - const scoped_refptr<ServiceWorkerCache>& cache);
|
| - void CreateCacheDidWriteIndex(const CacheAndErrorCallback& callback,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - bool success);
|
| -
|
| - // The HasCache callbacks are below.
|
| - void HasCacheImpl(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback);
|
| -
|
| - // The DeleteCache callbacks are below.
|
| - void DeleteCacheImpl(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback);
|
| -
|
| - void DeleteCacheDidClose(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback,
|
| - const StringVector& ordered_cache_names,
|
| - const scoped_refptr<ServiceWorkerCache>& cache);
|
| - void DeleteCacheDidWriteIndex(const std::string& cache_name,
|
| - const BoolAndErrorCallback& callback,
|
| - bool success);
|
| - void DeleteCacheDidCleanUp(const BoolAndErrorCallback& callback,
|
| - bool success);
|
| -
|
| - // The EnumerateCache callbacks are below.
|
| - void EnumerateCachesImpl(const StringsAndErrorCallback& callback);
|
| -
|
| - // The MatchCache callbacks are below.
|
| - void MatchCacheImpl(const std::string& cache_name,
|
| - scoped_ptr<ServiceWorkerFetchRequest> request,
|
| - const ServiceWorkerCache::ResponseCallback& callback);
|
| - void MatchCacheDidMatch(const scoped_refptr<ServiceWorkerCache>& cache,
|
| - const ServiceWorkerCache::ResponseCallback& callback,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> handle);
|
| -
|
| - // The MatchAllCaches callbacks are below.
|
| - void MatchAllCachesImpl(scoped_ptr<ServiceWorkerFetchRequest> request,
|
| - const ServiceWorkerCache::ResponseCallback& callback);
|
| - void MatchAllCachesDidMatch(scoped_refptr<ServiceWorkerCache> cache,
|
| - const base::Closure& barrier_closure,
|
| - ServiceWorkerCache::ResponseCallback* callback,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> handle);
|
| - void MatchAllCachesDidMatchAll(
|
| - scoped_ptr<ServiceWorkerCache::ResponseCallback> callback);
|
| -
|
| - // The CloseAllCaches callbacks are below.
|
| - void CloseAllCachesImpl(const base::Closure& callback);
|
| -
|
| - void PendingClosure(const base::Closure& callback);
|
| - void PendingBoolAndErrorCallback(const BoolAndErrorCallback& callback,
|
| - bool found,
|
| - CacheStorageError error);
|
| - void PendingCacheAndErrorCallback(
|
| - const CacheAndErrorCallback& callback,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - CacheStorageError error);
|
| - void PendingStringsAndErrorCallback(const StringsAndErrorCallback& callback,
|
| - const StringVector& strings,
|
| - CacheStorageError error);
|
| - void PendingResponseCallback(
|
| - const ServiceWorkerCache::ResponseCallback& callback,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> blob_data_handle);
|
| -
|
| - // Whether or not we've loaded the list of cache names into memory.
|
| - bool initialized_;
|
| - bool initializing_;
|
| -
|
| - // The pending operation scheduler.
|
| - scoped_ptr<ServiceWorkerCacheScheduler> scheduler_;
|
| -
|
| - // The map of cache names to ServiceWorkerCache objects.
|
| - CacheMap cache_map_;
|
| -
|
| - // The names of caches in the order that they were created.
|
| - StringVector ordered_cache_names_;
|
| -
|
| - // The file path for this CacheStorage.
|
| - base::FilePath origin_path_;
|
| -
|
| - // The TaskRunner to run file IO on.
|
| - scoped_refptr<base::SequencedTaskRunner> cache_task_runner_;
|
| -
|
| - // Whether or not to store data in disk or memory.
|
| - bool memory_only_;
|
| -
|
| - // Performs backend specific operations (memory vs disk).
|
| - scoped_ptr<CacheLoader> cache_loader_;
|
| -
|
| - base::WeakPtrFactory<ServiceWorkerCacheStorage> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ServiceWorkerCacheStorage);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CACHE_STORAGE_H_
|
|
|