Index: content/browser/service_worker/service_worker_context_wrapper.cc |
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc |
index db0b4e9fffe6c94a3dcb2da3194f3e4629a666a8..3e4c2ff255c1e2217921c9fc22b0e497ef68b422 100644 |
--- a/content/browser/service_worker/service_worker_context_wrapper.cc |
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc |
@@ -22,6 +22,7 @@ |
#include "content/browser/service_worker/service_worker_quota_client.h" |
#include "content/browser/service_worker/service_worker_request_handler.h" |
#include "content/browser/storage_partition_impl.h" |
+#include "content/common/service_worker/service_worker_status_code.h" |
#include "content/public/browser/browser_context.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/service_worker_context.h" |
@@ -218,6 +219,51 @@ void ServiceWorkerContextWrapper::UnregisterServiceWorker( |
base::Bind(&FinishUnregistrationOnIO, continuation)); |
} |
+static void CallGetUserDataCallback( |
+ const ServiceWorkerContext::GetUserDataCallback& callback, |
+ const std::string& data, |
+ ServiceWorkerStatusCode service_worker_status) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ bool success = service_worker_status == SERVICE_WORKER_OK; |
+ bool not_found = service_worker_status == SERVICE_WORKER_ERROR_NOT_FOUND; |
+ callback.Run(data, success, not_found); |
+} |
+ |
+static void CallResultCallback( |
+ const ServiceWorkerContext::ResultCallback& callback, |
+ ServiceWorkerStatusCode service_worker_status) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ bool success = service_worker_status == SERVICE_WORKER_OK; |
+ callback.Run(success); |
+} |
+ |
+void ServiceWorkerContextWrapper::GetUserData( |
+ int64 registration_id, const std::string& key, |
+ const GetUserDataCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ context()->storage()->GetUserData(registration_id, key, |
+ base::Bind(&CallGetUserDataCallback, |
+ callback)); |
+} |
+ |
+void ServiceWorkerContextWrapper::StoreUserData( |
+ int64 registration_id, const GURL& origin, const std::string& key, |
+ const std::string& data, const ResultCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ context()->storage()->StoreUserData(registration_id, origin, key, data, |
+ base::Bind(&CallResultCallback, |
+ callback)); |
+} |
+ |
+void ServiceWorkerContextWrapper::ClearUserData( |
+ int64 registration_id, const std::string& key, |
+ const ResultCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ context()->storage()->ClearUserData(registration_id, key, |
+ base::Bind(&CallResultCallback, |
+ callback)); |
+} |
+ |
static void DidFindRegistrationForDocument( |
const net::CompletionCallback& callback, |
ServiceWorkerStatusCode status, |