Commit 1aae4f38 authored by Nidhi Jaju's avatar Nidhi Jaju Committed by Commit Bot

Remove indirection in GetUserKeysAndData

The order of |user_data| and |status| is different in
ServiceWorkerStorage::GetUserKeysAndDataInDBCallback so
this change is made to remove this indirection, allowing
for the helper function in control_impl.cc to be removed.

Bug: 1055677
Change-Id: Iae8b92b2574c0767887bc401325276f9db7419be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2211563
Commit-Queue: Nidhi Jaju <nidhijaju@google.com>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarKenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#770995}
parent bf097d43
......@@ -33,8 +33,8 @@ void GetDeveloperIdsTask::Start() {
}
void GetDeveloperIdsTask::DidGetUniqueIds(
const base::flat_map<std::string, std::string>& data_map,
blink::ServiceWorkerStatusCode status) {
blink::ServiceWorkerStatusCode status,
const base::flat_map<std::string, std::string>& data_map) {
switch (ToDatabaseStatus(status)) {
case DatabaseStatus::kNotFound:
FinishWithError(blink::mojom::BackgroundFetchError::NONE);
......
......@@ -34,8 +34,9 @@ class GetDeveloperIdsTask : public DatabaseTask {
void Start() override;
private:
void DidGetUniqueIds(const base::flat_map<std::string, std::string>& data_map,
blink::ServiceWorkerStatusCode status);
void DidGetUniqueIds(
blink::ServiceWorkerStatusCode status,
const base::flat_map<std::string, std::string>& data_map);
void FinishWithError(blink::mojom::BackgroundFetchError error) override;
......
......@@ -1195,11 +1195,11 @@ void ServiceWorkerContextWrapper::GetRegistrationUserKeysAndDataByKeyPrefix(
base::BindOnce(
[](GetUserKeysAndDataCallback callback,
scoped_refptr<base::TaskRunner> callback_runner,
const base::flat_map<std::string, std::string>& data_map,
blink::ServiceWorkerStatusCode status) {
blink::ServiceWorkerStatusCode status,
const base::flat_map<std::string, std::string>& data_map) {
callback_runner->PostTask(
FROM_HERE,
base::BindOnce(std::move(callback), data_map, status));
base::BindOnce(std::move(callback), status, data_map));
},
std::move(callback), base::ThreadTaskRunnerHandle::Get())));
}
......@@ -1211,8 +1211,8 @@ void ServiceWorkerContextWrapper::
GetUserKeysAndDataCallback callback) {
DCHECK_CURRENTLY_ON(GetCoreThreadId());
if (!context_core_) {
std::move(callback).Run(base::flat_map<std::string, std::string>(),
blink::ServiceWorkerStatusCode::kErrorAbort);
std::move(callback).Run(blink::ServiceWorkerStatusCode::kErrorAbort,
base::flat_map<std::string, std::string>());
return;
}
context_core_->registry()->GetUserKeysAndDataByKeyPrefix(
......
......@@ -565,8 +565,8 @@ void ServiceWorkerRegistry::GetUserKeysAndDataByKeyPrefix(
key_prefix.empty()) {
RunSoon(FROM_HERE,
base::BindOnce(std::move(callback),
base::flat_map<std::string, std::string>(),
blink::ServiceWorkerStatusCode::kErrorFailed));
blink::ServiceWorkerStatusCode::kErrorFailed,
base::flat_map<std::string, std::string>()));
return;
}
......@@ -1242,14 +1242,14 @@ void ServiceWorkerRegistry::DidGetUserData(
void ServiceWorkerRegistry::DidGetUserKeysAndData(
GetUserKeysAndDataCallback callback,
const base::flat_map<std::string, std::string>& data_map,
storage::mojom::ServiceWorkerDatabaseStatus status) {
storage::mojom::ServiceWorkerDatabaseStatus status,
const base::flat_map<std::string, std::string>& data_map) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
if (status != storage::mojom::ServiceWorkerDatabaseStatus::kOk &&
status != storage::mojom::ServiceWorkerDatabaseStatus::kErrorNotFound) {
ScheduleDeleteAndStartOver();
}
std::move(callback).Run(data_map, DatabaseStatusToStatusCode(status));
std::move(callback).Run(DatabaseStatusToStatusCode(status), data_map);
}
void ServiceWorkerRegistry::DidStoreUserData(
......
......@@ -56,8 +56,8 @@ class CONTENT_EXPORT ServiceWorkerRegistry {
base::OnceCallback<void(const std::vector<std::string>& data,
blink::ServiceWorkerStatusCode status)>;
using GetUserKeysAndDataCallback = base::OnceCallback<void(
const base::flat_map<std::string, std::string>& data_map,
blink::ServiceWorkerStatusCode status)>;
blink::ServiceWorkerStatusCode status,
const base::flat_map<std::string, std::string>& data_map)>;
using GetUserDataForAllRegistrationsCallback = base::OnceCallback<void(
const std::vector<std::pair<int64_t, std::string>>& user_data,
blink::ServiceWorkerStatusCode status)>;
......@@ -315,8 +315,8 @@ class CONTENT_EXPORT ServiceWorkerRegistry {
const std::vector<std::string>& data);
void DidGetUserKeysAndData(
GetUserKeysAndDataCallback callback,
const base::flat_map<std::string, std::string>& data_map,
storage::mojom::ServiceWorkerDatabaseStatus status);
storage::mojom::ServiceWorkerDatabaseStatus status,
const base::flat_map<std::string, std::string>& data_map);
void DidStoreUserData(StatusCallback callback,
storage::mojom::ServiceWorkerDatabaseStatus status);
void DidClearUserData(StatusCallback callback,
......
......@@ -644,8 +644,8 @@ void ServiceWorkerStorage::GetUserKeysAndDataByKeyPrefix(
case STORAGE_STATE_DISABLED:
RunSoon(FROM_HERE,
base::BindOnce(std::move(callback),
base::flat_map<std::string, std::string>(),
ServiceWorkerDatabase::Status::kErrorDisabled));
ServiceWorkerDatabase::Status::kErrorDisabled,
base::flat_map<std::string, std::string>()));
return;
case STORAGE_STATE_INITIALIZING: // Fall-through.
case STORAGE_STATE_UNINITIALIZED:
......@@ -1523,7 +1523,7 @@ void ServiceWorkerStorage::GetUserKeysAndDataByKeyPrefixInDB(
database->ReadUserKeysAndDataByKeyPrefix(registration_id, key_prefix,
&data_map);
original_task_runner->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), data_map, status));
FROM_HERE, base::BindOnce(std::move(callback), status, data_map));
}
void ServiceWorkerStorage::GetUserDataForAllRegistrationsInDB(
......
......@@ -100,9 +100,8 @@ class CONTENT_EXPORT ServiceWorkerStorage {
base::OnceCallback<void(ServiceWorkerDatabase::Status status)>;
using GetUserDataInDBCallback =
storage::mojom::ServiceWorkerStorageControl::GetUserDataCallback;
using GetUserKeysAndDataInDBCallback = base::OnceCallback<void(
const base::flat_map<std::string, std::string>& data_map,
ServiceWorkerDatabase::Status)>;
using GetUserKeysAndDataInDBCallback = storage::mojom::
ServiceWorkerStorageControl::GetUserKeysAndDataByKeyPrefixCallback;
using GetUserDataForAllRegistrationsInDBCallback = base::OnceCallback<void(
const std::vector<std::pair<int64_t, std::string>>& user_data,
ServiceWorkerDatabase::Status)>;
......
......@@ -68,17 +68,6 @@ void DidGetRegistrationsForOrigin(
std::move(callback).Run(status, std::move(registrations));
}
void DidGetKeysAndUserData(
ServiceWorkerStorageControlImpl::GetUserKeysAndDataByKeyPrefixCallback
callback,
const base::flat_map<std::string, std::string>& user_data,
storage::mojom::ServiceWorkerDatabaseStatus status) {
// TODO(bashi): Change ServiceWorkerStorage::GetUserKeysAndDataInDBCallback to
// remove this indirection (the order of |user_data| and |status| is
// different).
std::move(callback).Run(status, user_data);
}
void DidGetUserDataForAllRegistrations(
ServiceWorkerStorageControlImpl::GetUserDataForAllRegistrationsCallback
callback,
......@@ -273,9 +262,8 @@ void ServiceWorkerStorageControlImpl::GetUserKeysAndDataByKeyPrefix(
int64_t registration_id,
const std::string& key_prefix,
GetUserKeysAndDataByKeyPrefixCallback callback) {
storage_->GetUserKeysAndDataByKeyPrefix(
registration_id, key_prefix,
base::BindOnce(&DidGetKeysAndUserData, std::move(callback)));
storage_->GetUserKeysAndDataByKeyPrefix(registration_id, key_prefix,
std::move(callback));
}
void ServiceWorkerStorageControlImpl::ClearUserDataByKeyPrefixes(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment