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

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

Issue 664433003: [ServiceWorkerCacheStorage] Add support for new Open method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Dispatch the response Created 6 years, 2 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_listener.cc
diff --git a/content/browser/service_worker/service_worker_cache_listener.cc b/content/browser/service_worker/service_worker_cache_listener.cc
index c5791fd3eebecb21d22f7fcd1645c197a7d92896..76c608420ab07e36ad2b4eae1bab3777915dd735 100644
--- a/content/browser/service_worker/service_worker_cache_listener.cc
+++ b/content/browser/service_worker/service_worker_cache_listener.cc
@@ -93,6 +93,8 @@ bool ServiceWorkerCacheListener::OnMessageReceived(
OnCacheStorageHas)
IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageCreate,
OnCacheStorageCreate)
+ IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageOpen,
+ OnCacheStorageOpen)
IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageDelete,
OnCacheStorageDelete)
IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_CacheStorageKeys,
@@ -153,6 +155,19 @@ void ServiceWorkerCacheListener::OnCacheStorageCreate(
request_id));
}
+void ServiceWorkerCacheListener::OnCacheStorageOpen(
+ int request_id,
+ const base::string16& cache_name) {
+ TRACE_EVENT0("ServiceWorker",
+ "ServiceWorkerCacheListener::OnCacheStorageOpen");
+ context_->cache_manager()->OpenCache(
+ version_->scope().GetOrigin(),
+ base::UTF16ToUTF8(cache_name),
+ base::Bind(&ServiceWorkerCacheListener::OnCacheStorageOpenCallback,
+ weak_factory_.GetWeakPtr(),
+ request_id));
+}
+
void ServiceWorkerCacheListener::OnCacheStorageDelete(
int request_id,
const base::string16& cache_name) {
@@ -344,6 +359,19 @@ void ServiceWorkerCacheListener::OnCacheStorageCreateCallback(
Send(ServiceWorkerMsg_CacheStorageCreateSuccess(request_id, cache_id));
}
+void ServiceWorkerCacheListener::OnCacheStorageOpenCallback(
+ int request_id,
+ const scoped_refptr<ServiceWorkerCache>& cache,
+ ServiceWorkerCacheStorage::CacheStorageError error) {
+ if (error != ServiceWorkerCacheStorage::CACHE_STORAGE_ERROR_NO_ERROR) {
+ Send(ServiceWorkerMsg_CacheStorageOpenError(
+ request_id, ToWebServiceWorkerCacheError(error)));
+ return;
+ }
+ CacheID cache_id = StoreCacheReference(cache);
+ Send(ServiceWorkerMsg_CacheStorageOpenSuccess(request_id, cache_id));
+}
+
void ServiceWorkerCacheListener::OnCacheStorageDeleteCallback(
int request_id,
bool deleted,

Powered by Google App Engine
This is Rietveld 408576698