| Index: content/browser/service_worker/service_worker_cache_listener.cc
|
| diff --git a/content/browser/service_worker/service_worker_cache_listener.cc b/content/browser/service_worker/service_worker_cache_listener.cc
|
| deleted file mode 100644
|
| index a4e3cf9a91e0c4cec213e59404bd1ceb76c145f2..0000000000000000000000000000000000000000
|
| --- a/content/browser/service_worker/service_worker_cache_listener.cc
|
| +++ /dev/null
|
| @@ -1,516 +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.
|
| -
|
| -#include "content/browser/service_worker/service_worker_cache_listener.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "base/trace_event/trace_event.h"
|
| -#include "content/browser/service_worker/cache_storage_context_impl.h"
|
| -#include "content/browser/service_worker/service_worker_cache.h"
|
| -#include "content/browser/service_worker/service_worker_cache_storage_manager.h"
|
| -#include "content/common/service_worker/cache_storage_messages.h"
|
| -#include "storage/browser/blob/blob_data_handle.h"
|
| -#include "third_party/WebKit/public/platform/WebServiceWorkerCacheError.h"
|
| -
|
| -namespace content {
|
| -
|
| -using blink::WebServiceWorkerCacheError;
|
| -
|
| -namespace {
|
| -
|
| -WebServiceWorkerCacheError ToWebServiceWorkerCacheError(
|
| - ServiceWorkerCacheStorage::CacheStorageError err) {
|
| - switch (err) {
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR:
|
| - NOTREACHED();
|
| - return blink::WebServiceWorkerCacheErrorNotImplemented;
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NOT_IMPLEMENTED:
|
| - return blink::WebServiceWorkerCacheErrorNotImplemented;
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NOT_FOUND:
|
| - return blink::WebServiceWorkerCacheErrorNotFound;
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_EXISTS:
|
| - return blink::WebServiceWorkerCacheErrorExists;
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_STORAGE:
|
| - // TODO(jkarlin): Change this to CACHE_STORAGE_ERROR_STORAGE once that's
|
| - // added.
|
| - return blink::WebServiceWorkerCacheErrorNotFound;
|
| - case ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_CLOSING:
|
| - // TODO(jkarlin): Update this to CACHE_STORAGE_ERROR_CLOSING once that's
|
| - // added.
|
| - return blink::WebServiceWorkerCacheErrorNotFound;
|
| - }
|
| - NOTREACHED();
|
| - return blink::WebServiceWorkerCacheErrorNotImplemented;
|
| -}
|
| -
|
| -// TODO(jkarlin): ServiceWorkerCache and ServiceWorkerCacheStorage should share
|
| -// an error enum type.
|
| -WebServiceWorkerCacheError CacheErrorToWebServiceWorkerCacheError(
|
| - ServiceWorkerCache::ErrorType err) {
|
| - switch (err) {
|
| - case ServiceWorkerCache::ERROR_TYPE_OK:
|
| - NOTREACHED();
|
| - return blink::WebServiceWorkerCacheErrorNotImplemented;
|
| - case ServiceWorkerCache::ERROR_TYPE_EXISTS:
|
| - return blink::WebServiceWorkerCacheErrorExists;
|
| - case ServiceWorkerCache::ERROR_TYPE_STORAGE:
|
| - // TODO(jkarlin): Change this to CACHE_STORAGE_ERROR_STORAGE once that's
|
| - // added.
|
| - return blink::WebServiceWorkerCacheErrorNotFound;
|
| - case ServiceWorkerCache::ERROR_TYPE_NOT_FOUND:
|
| - return blink::WebServiceWorkerCacheErrorNotFound;
|
| - }
|
| - NOTREACHED();
|
| - return blink::WebServiceWorkerCacheErrorNotImplemented;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -ServiceWorkerCacheListener::ServiceWorkerCacheListener(
|
| - CacheStorageDispatcherHost* dispatcher,
|
| - CacheStorageContextImpl* context)
|
| - : dispatcher_(dispatcher), context_(context), weak_factory_(this) {
|
| -}
|
| -
|
| -ServiceWorkerCacheListener::~ServiceWorkerCacheListener() {
|
| -}
|
| -
|
| -bool ServiceWorkerCacheListener::OnMessageReceived(
|
| - const IPC::Message& message) {
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(ServiceWorkerCacheListener, message)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageHas,
|
| - OnCacheStorageHas)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageOpen,
|
| - OnCacheStorageOpen)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageDelete,
|
| - OnCacheStorageDelete)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageKeys,
|
| - OnCacheStorageKeys)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageMatch,
|
| - OnCacheStorageMatch)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheMatch,
|
| - OnCacheMatch)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheMatchAll,
|
| - OnCacheMatchAll)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheKeys,
|
| - OnCacheKeys)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheBatch,
|
| - OnCacheBatch)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheClosed,
|
| - OnCacheClosed)
|
| - IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_BlobDataHandled, OnBlobDataHandled)
|
| - IPC_MESSAGE_UNHANDLED(handled = false)
|
| - IPC_END_MESSAGE_MAP()
|
| -
|
| - return handled;
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageHas(
|
| - int thread_id,
|
| - int request_id,
|
| - const GURL& origin,
|
| - const base::string16& cache_name) {
|
| - TRACE_EVENT0("ServiceWorker",
|
| - "ServiceWorkerCacheListener::OnCacheStorageHas");
|
| - context_->cache_manager()->HasCache(
|
| - origin, base::UTF16ToUTF8(cache_name),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageHasCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageOpen(
|
| - int thread_id,
|
| - int request_id,
|
| - const GURL& origin,
|
| - const base::string16& cache_name) {
|
| - TRACE_EVENT0("ServiceWorker",
|
| - "ServiceWorkerCacheListener::OnCacheStorageOpen");
|
| - context_->cache_manager()->OpenCache(
|
| - origin, base::UTF16ToUTF8(cache_name),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageOpenCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageDelete(
|
| - int thread_id,
|
| - int request_id,
|
| - const GURL& origin,
|
| - const base::string16& cache_name) {
|
| - TRACE_EVENT0("ServiceWorker",
|
| - "ServiceWorkerCacheListener::OnCacheStorageDelete");
|
| - context_->cache_manager()->DeleteCache(
|
| - origin, base::UTF16ToUTF8(cache_name),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageDeleteCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageKeys(int thread_id,
|
| - int request_id,
|
| - const GURL& origin) {
|
| - TRACE_EVENT0("ServiceWorker",
|
| - "ServiceWorkerCacheListener::OnCacheStorageKeys");
|
| - context_->cache_manager()->EnumerateCaches(
|
| - origin,
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageKeysCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageMatch(
|
| - int thread_id,
|
| - int request_id,
|
| - const GURL& origin,
|
| - const ServiceWorkerFetchRequest& request,
|
| - const ServiceWorkerCacheQueryParams& match_params) {
|
| - TRACE_EVENT0("ServiceWorker",
|
| - "ServiceWorkerCacheListener::OnCacheStorageMatch");
|
| -
|
| - scoped_ptr<ServiceWorkerFetchRequest> scoped_request(
|
| - new ServiceWorkerFetchRequest(request.url, request.method,
|
| - request.headers, request.referrer,
|
| - request.is_reload));
|
| -
|
| - if (match_params.cache_name.empty()) {
|
| - context_->cache_manager()->MatchAllCaches(
|
| - origin, scoped_request.Pass(),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageMatchCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| - return;
|
| - }
|
| - context_->cache_manager()->MatchCache(
|
| - origin, base::UTF16ToUTF8(match_params.cache_name), scoped_request.Pass(),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheStorageMatchCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheMatch(
|
| - int thread_id,
|
| - int request_id,
|
| - int cache_id,
|
| - const ServiceWorkerFetchRequest& request,
|
| - const ServiceWorkerCacheQueryParams& match_params) {
|
| - IDToCacheMap::iterator it = id_to_cache_map_.find(cache_id);
|
| - if (it == id_to_cache_map_.end()) {
|
| - Send(new ServiceWorkerMsg_CacheMatchError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotFound));
|
| - return;
|
| - }
|
| -
|
| - scoped_refptr<ServiceWorkerCache> cache = it->second;
|
| - scoped_ptr<ServiceWorkerFetchRequest> scoped_request(
|
| - new ServiceWorkerFetchRequest(request.url,
|
| - request.method,
|
| - request.headers,
|
| - request.referrer,
|
| - request.is_reload));
|
| - cache->Match(
|
| - scoped_request.Pass(),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheMatchCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id, cache));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheMatchAll(
|
| - int thread_id,
|
| - int request_id,
|
| - int cache_id,
|
| - const ServiceWorkerFetchRequest& request,
|
| - const ServiceWorkerCacheQueryParams& match_params) {
|
| - // TODO(gavinp,jkarlin): Implement this method.
|
| - Send(new ServiceWorkerMsg_CacheMatchAllError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotImplemented));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheKeys(
|
| - int thread_id,
|
| - int request_id,
|
| - int cache_id,
|
| - const ServiceWorkerFetchRequest& request,
|
| - const ServiceWorkerCacheQueryParams& match_params) {
|
| - IDToCacheMap::iterator it = id_to_cache_map_.find(cache_id);
|
| - if (it == id_to_cache_map_.end()) {
|
| - Send(new ServiceWorkerMsg_CacheKeysError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotFound));
|
| - return;
|
| - }
|
| -
|
| - scoped_refptr<ServiceWorkerCache> cache = it->second;
|
| -
|
| - cache->Keys(base::Bind(&ServiceWorkerCacheListener::OnCacheKeysCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id,
|
| - cache));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheBatch(
|
| - int thread_id,
|
| - int request_id,
|
| - int cache_id,
|
| - const std::vector<ServiceWorkerBatchOperation>& operations) {
|
| - if (operations.size() != 1u) {
|
| - Send(new ServiceWorkerMsg_CacheBatchError(
|
| - thread_id, request_id,
|
| - blink::WebServiceWorkerCacheErrorNotImplemented));
|
| - return;
|
| - }
|
| -
|
| - IDToCacheMap::iterator it = id_to_cache_map_.find(cache_id);
|
| - if (it == id_to_cache_map_.end()) {
|
| - Send(new ServiceWorkerMsg_CacheBatchError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotFound));
|
| - return;
|
| - }
|
| -
|
| - const ServiceWorkerBatchOperation& operation = operations[0];
|
| -
|
| - scoped_refptr<ServiceWorkerCache> cache = it->second;
|
| - scoped_ptr<ServiceWorkerFetchRequest> scoped_request(
|
| - new ServiceWorkerFetchRequest(operation.request.url,
|
| - operation.request.method,
|
| - operation.request.headers,
|
| - operation.request.referrer,
|
| - operation.request.is_reload));
|
| -
|
| - if (operation.operation_type == SERVICE_WORKER_CACHE_OPERATION_TYPE_DELETE) {
|
| - cache->Delete(
|
| - scoped_request.Pass(),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCacheDeleteCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id, cache));
|
| - return;
|
| - }
|
| -
|
| - if (operation.operation_type == SERVICE_WORKER_CACHE_OPERATION_TYPE_PUT) {
|
| - // We don't support streaming for cache.
|
| - DCHECK(operation.response.stream_url.is_empty());
|
| - scoped_ptr<ServiceWorkerResponse> scoped_response(
|
| - new ServiceWorkerResponse(operation.response.url,
|
| - operation.response.status_code,
|
| - operation.response.status_text,
|
| - operation.response.response_type,
|
| - operation.response.headers,
|
| - operation.response.blob_uuid,
|
| - operation.response.blob_size,
|
| - operation.response.stream_url));
|
| - cache->Put(
|
| - scoped_request.Pass(), scoped_response.Pass(),
|
| - base::Bind(&ServiceWorkerCacheListener::OnCachePutCallback,
|
| - weak_factory_.GetWeakPtr(), thread_id, request_id, cache));
|
| -
|
| - return;
|
| - }
|
| -
|
| - Send(new ServiceWorkerMsg_CacheBatchError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotImplemented));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheClosed(int cache_id) {
|
| - DropCacheReference(cache_id);
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnBlobDataHandled(const std::string& uuid) {
|
| - DropBlobDataHandle(uuid);
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::Send(IPC::Message* message) {
|
| - dispatcher_->Send(message);
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageHasCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - bool has_cache,
|
| - ServiceWorkerCacheStorage::CacheStorageError error) {
|
| - if (error != ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR) {
|
| - Send(new ServiceWorkerMsg_CacheStorageHasError(
|
| - thread_id, request_id, ToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| - if (!has_cache) {
|
| - Send(new ServiceWorkerMsg_CacheStorageHasError(
|
| - thread_id, request_id, blink::WebServiceWorkerCacheErrorNotFound));
|
| - return;
|
| - }
|
| - Send(new ServiceWorkerMsg_CacheStorageHasSuccess(thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageOpenCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - ServiceWorkerCacheStorage::CacheStorageError error) {
|
| - if (error != ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR) {
|
| - Send(new ServiceWorkerMsg_CacheStorageOpenError(
|
| - thread_id, request_id, ToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| - CacheID cache_id = StoreCacheReference(cache);
|
| - Send(new ServiceWorkerMsg_CacheStorageOpenSuccess(thread_id, request_id,
|
| - cache_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageDeleteCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - bool deleted,
|
| - ServiceWorkerCacheStorage::CacheStorageError error) {
|
| - if (!deleted ||
|
| - error != ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR) {
|
| - Send(new ServiceWorkerMsg_CacheStorageDeleteError(
|
| - thread_id, request_id, ToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| - Send(new ServiceWorkerMsg_CacheStorageDeleteSuccess(thread_id, request_id));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageKeysCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const std::vector<std::string>& strings,
|
| - ServiceWorkerCacheStorage::CacheStorageError error) {
|
| - if (error != ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR) {
|
| - Send(new ServiceWorkerMsg_CacheStorageKeysError(
|
| - thread_id, request_id, ToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - std::vector<base::string16> string16s;
|
| - for (size_t i = 0, max = strings.size(); i < max; ++i) {
|
| - string16s.push_back(base::UTF8ToUTF16(strings[i]));
|
| - }
|
| - Send(new ServiceWorkerMsg_CacheStorageKeysSuccess(thread_id, request_id,
|
| - string16s));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheStorageMatchCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
|
| - if (error != ServiceWorkerCache::ERROR_TYPE_OK) {
|
| - Send(new ServiceWorkerMsg_CacheStorageMatchError(
|
| - thread_id, request_id, CacheErrorToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - if (blob_data_handle)
|
| - StoreBlobDataHandle(blob_data_handle.Pass());
|
| -
|
| - Send(new ServiceWorkerMsg_CacheStorageMatchSuccess(thread_id, request_id,
|
| - *response));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheMatchCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
|
| - if (error != ServiceWorkerCache::ERROR_TYPE_OK) {
|
| - Send(new ServiceWorkerMsg_CacheMatchError(
|
| - thread_id, request_id, CacheErrorToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - if (blob_data_handle)
|
| - StoreBlobDataHandle(blob_data_handle.Pass());
|
| -
|
| - Send(
|
| - new ServiceWorkerMsg_CacheMatchSuccess(thread_id, request_id, *response));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheKeysCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerCache::Requests> requests) {
|
| - if (error != ServiceWorkerCache::ERROR_TYPE_OK) {
|
| - Send(new ServiceWorkerMsg_CacheKeysError(
|
| - thread_id, request_id, CacheErrorToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - ServiceWorkerCache::Requests out;
|
| -
|
| - for (ServiceWorkerCache::Requests::const_iterator it = requests->begin();
|
| - it != requests->end();
|
| - ++it) {
|
| - ServiceWorkerFetchRequest request(
|
| - it->url, it->method, it->headers, it->referrer, it->is_reload);
|
| - out.push_back(request);
|
| - }
|
| -
|
| - Send(new ServiceWorkerMsg_CacheKeysSuccess(thread_id, request_id, out));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCacheDeleteCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - ServiceWorkerCache::ErrorType error) {
|
| - if (error != ServiceWorkerCache::ERROR_TYPE_OK) {
|
| - Send(new ServiceWorkerMsg_CacheBatchError(
|
| - thread_id, request_id, CacheErrorToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - Send(new ServiceWorkerMsg_CacheBatchSuccess(
|
| - thread_id, request_id, std::vector<ServiceWorkerResponse>()));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::OnCachePutCallback(
|
| - int thread_id,
|
| - int request_id,
|
| - const scoped_refptr<ServiceWorkerCache>& cache,
|
| - ServiceWorkerCache::ErrorType error,
|
| - scoped_ptr<ServiceWorkerResponse> response,
|
| - scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
|
| - if (error != ServiceWorkerCache::ERROR_TYPE_OK) {
|
| - Send(new ServiceWorkerMsg_CacheBatchError(
|
| - thread_id, request_id, CacheErrorToWebServiceWorkerCacheError(error)));
|
| - return;
|
| - }
|
| -
|
| - if (blob_data_handle)
|
| - StoreBlobDataHandle(blob_data_handle.Pass());
|
| -
|
| - std::vector<ServiceWorkerResponse> responses;
|
| - responses.push_back(*response);
|
| - Send(
|
| - new ServiceWorkerMsg_CacheBatchSuccess(thread_id, request_id, responses));
|
| -}
|
| -
|
| -ServiceWorkerCacheListener::CacheID
|
| -ServiceWorkerCacheListener::StoreCacheReference(
|
| - const scoped_refptr<ServiceWorkerCache>& cache) {
|
| - int cache_id = next_cache_id_++;
|
| - id_to_cache_map_[cache_id] = cache;
|
| - return cache_id;
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::DropCacheReference(CacheID cache_id) {
|
| - id_to_cache_map_.erase(cache_id);
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::StoreBlobDataHandle(
|
| - scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
|
| - DCHECK(blob_data_handle);
|
| - std::pair<UUIDToBlobDataHandleList::iterator, bool> rv =
|
| - blob_handle_store_.insert(std::make_pair(
|
| - blob_data_handle->uuid(), std::list<storage::BlobDataHandle>()));
|
| - rv.first->second.push_front(storage::BlobDataHandle(*blob_data_handle));
|
| -}
|
| -
|
| -void ServiceWorkerCacheListener::DropBlobDataHandle(std::string uuid) {
|
| - UUIDToBlobDataHandleList::iterator it = blob_handle_store_.find(uuid);
|
| - if (it == blob_handle_store_.end())
|
| - return;
|
| - DCHECK(!it->second.empty());
|
| - it->second.pop_front();
|
| - if (it->second.empty())
|
| - blob_handle_store_.erase(it);
|
| -}
|
| -
|
| -} // namespace content
|
|
|