Index: content/browser/service_worker/service_worker_storage.h |
diff --git a/content/browser/service_worker/service_worker_storage.h b/content/browser/service_worker/service_worker_storage.h |
index 1ec4ed1236bd18eef265bf616bce97b668291f29..6f78281dd4d9c42b8ae6ecaead098d224cceee18 100644 |
--- a/content/browser/service_worker/service_worker_storage.h |
+++ b/content/browser/service_worker/service_worker_storage.h |
@@ -11,6 +11,7 @@ |
#include <map> |
#include <set> |
#include <string> |
+#include <utility> |
#include <vector> |
#include "base/bind.h" |
@@ -68,9 +69,9 @@ class CONTENT_EXPORT ServiceWorkerStorage |
ServiceWorkerStatusCode status, |
const std::vector<ServiceWorkerRegistrationInfo>& registrations)> |
GetRegistrationsInfosCallback; |
- typedef base::Callback< |
- void(const std::string& data, ServiceWorkerStatusCode status)> |
- GetUserDataCallback; |
+ using GetUserDataCallback = |
+ base::Callback<void(const std::vector<std::string>& data, |
+ ServiceWorkerStatusCode status)>; |
typedef base::Callback<void( |
const std::vector<std::pair<int64_t, std::string>>& user_data, |
ServiceWorkerStatusCode status)> GetUserDataForAllRegistrationsCallback; |
@@ -167,21 +168,24 @@ class CONTENT_EXPORT ServiceWorkerStorage |
void DoomUncommittedResources(const std::set<int64_t>& resource_ids); |
// Provide a storage mechanism to read/write arbitrary data associated with |
- // a registration. Each registration has its own key namespace. Stored data |
- // is deleted when the associated registraton is deleted. |
+ // a registration. Each registration has its own key namespace. |
+ // GetUserData responds OK only if all keys are found; otherwise NOT_FOUND, |
+ // and the callback's data will be empty. |
void GetUserData(int64_t registration_id, |
- const std::string& key, |
+ const std::vector<std::string>& keys, |
const GetUserDataCallback& callback); |
- void StoreUserData(int64_t registration_id, |
- const GURL& origin, |
- const std::string& key, |
- const std::string& data, |
- const StatusCallback& callback); |
+ // Stored data is deleted when the associated registraton is deleted. |
+ void StoreUserData( |
+ int64_t registration_id, |
+ const GURL& origin, |
+ const std::vector<std::pair<std::string, std::string>>& key_value_pairs, |
+ const StatusCallback& callback); |
+ // Responds OK if all are successfully deleted or not found in the database. |
void ClearUserData(int64_t registration_id, |
- const std::string& key, |
+ const std::vector<std::string>& keys, |
const StatusCallback& callback); |
- // Returns all registrations that have user data with a particular key, as |
- // well as that user data. |
+ // Responds with all registrations that have user data with a particular key, |
+ // as well as that user data. |
void GetUserDataForAllRegistrations( |
const std::string& key, |
const GetUserDataForAllRegistrationsCallback& callback); |
@@ -311,9 +315,9 @@ class CONTENT_EXPORT ServiceWorkerStorage |
const ServiceWorkerDatabase::RegistrationData& data, |
const ResourceList& resources, |
ServiceWorkerDatabase::Status status)> FindInDBCallback; |
- typedef base::Callback<void( |
- const std::string& data, |
- ServiceWorkerDatabase::Status)> GetUserDataInDBCallback; |
+ typedef base::Callback<void(const std::vector<std::string>& data, |
+ ServiceWorkerDatabase::Status)> |
+ GetUserDataInDBCallback; |
typedef base::Callback<void( |
const std::vector<std::pair<int64_t, std::string>>& user_data, |
ServiceWorkerDatabase::Status)> |
@@ -386,10 +390,9 @@ class CONTENT_EXPORT ServiceWorkerStorage |
void DidStoreUserData( |
const StatusCallback& callback, |
ServiceWorkerDatabase::Status status); |
- void DidGetUserData( |
- const GetUserDataCallback& callback, |
- const std::string& data, |
- ServiceWorkerDatabase::Status status); |
+ void DidGetUserData(const GetUserDataCallback& callback, |
+ const std::vector<std::string>& data, |
+ ServiceWorkerDatabase::Status status); |
void DidDeleteUserData( |
const StatusCallback& callback, |
ServiceWorkerDatabase::Status status); |
@@ -479,7 +482,7 @@ class CONTENT_EXPORT ServiceWorkerStorage |
ServiceWorkerDatabase* database, |
scoped_refptr<base::SequencedTaskRunner> original_task_runner, |
int64_t registration_id, |
- const std::string& key, |
+ const std::vector<std::string>& keys, |
const GetUserDataInDBCallback& callback); |
static void GetUserDataForAllRegistrationsInDB( |
ServiceWorkerDatabase* database, |