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 0c092519cd722da3b6c7076ae94d4cbc750753a7..db7262236633fd80ad3489a9217ff3a4a778b386 100644 |
--- a/content/browser/service_worker/service_worker_context_wrapper.cc |
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc |
@@ -147,11 +147,6 @@ void ServiceWorkerContextWrapper::DeleteAndStartOver() { |
base::Bind(&ServiceWorkerContextWrapper::DidDeleteAndStartOver, this)); |
} |
-ServiceWorkerContextCore* ServiceWorkerContextWrapper::context() { |
- DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- return context_core_.get(); |
-} |
- |
StoragePartitionImpl* ServiceWorkerContextWrapper::storage_partition() const { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
return storage_partition_; |
@@ -432,6 +427,125 @@ void ServiceWorkerContextWrapper::CheckHasServiceWorker( |
this, other_url, callback)); |
} |
+ServiceWorkerRegistration* ServiceWorkerContextWrapper::GetLiveRegistration( |
+ int64_t registration_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) |
+ return nullptr; |
+ return context_core_->GetLiveRegistration(registration_id); |
+} |
+ |
+ServiceWorkerVersion* ServiceWorkerContextWrapper::GetLiveVersion( |
+ int64_t version_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) |
+ return nullptr; |
+ return context_core_->GetLiveVersion(version_id); |
+} |
+ |
+std::vector<ServiceWorkerRegistrationInfo> |
+ServiceWorkerContextWrapper::GetAllLiveRegistrationInfo() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) |
+ return std::vector<ServiceWorkerRegistrationInfo>(); |
+ return context_core_->GetAllLiveRegistrationInfo(); |
+} |
+ |
+std::vector<ServiceWorkerVersionInfo> |
+ServiceWorkerContextWrapper::GetAllLiveVersionInfo() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) |
+ return std::vector<ServiceWorkerVersionInfo>(); |
+ return context_core_->GetAllLiveVersionInfo(); |
+} |
+ |
+void ServiceWorkerContextWrapper::FindRegistrationForDocument( |
+ const GURL& document_url, |
+ const FindRegistrationCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ // FindRegistrationForDocument() can run the callback synchronously. |
+ callback.Run(SERVICE_WORKER_ERROR_ABORT, nullptr); |
+ return; |
+ } |
+ context_core_->storage()->FindRegistrationForDocument(document_url, callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::FindRegistrationForId( |
+ int64_t registration_id, |
+ const GURL& origin, |
+ const FindRegistrationCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ // FindRegistrationForId() can run the callback synchronously. |
+ callback.Run(SERVICE_WORKER_ERROR_ABORT, nullptr); |
+ return; |
+ } |
+ context_core_->storage()->FindRegistrationForId(registration_id, origin, |
+ callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::GetAllRegistrations( |
+ const GetRegistrationsInfosCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ RunSoon(base::Bind(callback, std::vector<ServiceWorkerRegistrationInfo>())); |
+ return; |
+ } |
+ context_core_->storage()->GetAllRegistrations(callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::GetRegistrationUserData( |
+ int64_t registration_id, |
+ const std::string& key, |
+ const GetUserDataCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ RunSoon(base::Bind(callback, std::string(), SERVICE_WORKER_ERROR_ABORT)); |
+ return; |
+ } |
+ context_core_->storage()->GetUserData(registration_id, key, callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::StoreRegistrationUserData( |
+ int64_t registration_id, |
+ const GURL& origin, |
+ const std::string& key, |
+ const std::string& data, |
+ const StatusCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ RunSoon(base::Bind(callback, SERVICE_WORKER_ERROR_ABORT)); |
+ return; |
+ } |
+ context_core_->storage()->StoreUserData(registration_id, origin, key, data, |
+ callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::ClearRegistrationUserData( |
+ int64_t registration_id, |
+ const std::string& key, |
+ const StatusCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ RunSoon(base::Bind(callback, SERVICE_WORKER_ERROR_ABORT)); |
+ return; |
+ } |
+ context_core_->storage()->ClearUserData(registration_id, key, callback); |
+} |
+ |
+void ServiceWorkerContextWrapper::GetUserDataForAllRegistrations( |
+ const std::string& key, |
+ const GetUserDataForAllRegistrationsCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ if (!context_core_) { |
+ RunSoon(base::Bind(callback, std::vector<std::pair<int64_t, std::string>>(), |
+ SERVICE_WORKER_ERROR_ABORT)); |
+ return; |
+ } |
+ context_core_->storage()->GetUserDataForAllRegistrations(key, callback); |
+} |
+ |
void ServiceWorkerContextWrapper::AddObserver( |
ServiceWorkerContextObserver* observer) { |
observer_list_->AddObserver(observer); |
@@ -497,4 +611,9 @@ void ServiceWorkerContextWrapper::DidDeleteAndStartOver( |
&ServiceWorkerContextObserver::OnStorageWiped); |
} |
+ServiceWorkerContextCore* ServiceWorkerContextWrapper::context() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ return context_core_.get(); |
+} |
+ |
} // namespace content |