| Index: components/offline_pages/background/request_queue.cc
|
| diff --git a/components/offline_pages/background/request_queue.cc b/components/offline_pages/background/request_queue.cc
|
| index 80898030c541959cdcdc07ee4a64b00fac2f85b6..5bb6812f504b48d83efdd965f466e21f5aa5667c 100644
|
| --- a/components/offline_pages/background/request_queue.cc
|
| +++ b/components/offline_pages/background/request_queue.cc
|
| @@ -50,6 +50,22 @@ void AddRequestDone(const RequestQueue::AddRequestCallback& callback,
|
| callback.Run(result, request);
|
| }
|
|
|
| +RequestQueue::UpdateRequestResult ToUpdateRequestResult(
|
| + ItemActionStatus status) {
|
| + switch (status) {
|
| + case ItemActionStatus::SUCCESS:
|
| + return RequestQueue::UpdateRequestResult::SUCCESS;
|
| + case ItemActionStatus::STORE_ERROR:
|
| + return RequestQueue::UpdateRequestResult::STORE_FAILURE;
|
| + case ItemActionStatus::NOT_FOUND:
|
| + return RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST;
|
| + case ItemActionStatus::ALREADY_EXISTS:
|
| + default:
|
| + NOTREACHED();
|
| + return RequestQueue::UpdateRequestResult::STORE_FAILURE;
|
| + }
|
| +}
|
| +
|
| // Completes the update request call.
|
| // TODO(fgorski): For specific cases, check that appropriate items were updated.
|
| void UpdateRequestsDone(const RequestQueue::UpdateRequestCallback& callback,
|
| @@ -75,8 +91,18 @@ void UpdateRequestsDone(const RequestQueue::UpdateRequestCallback& callback,
|
| // Handles updating multiple requests at the same time.
|
| void UpdateMultipleRequestsDone(
|
| const RequestQueue::UpdateMultipleRequestsCallback& callback,
|
| - const RequestQueue::UpdateMultipleRequestResults& results,
|
| - std::vector<std::unique_ptr<SavePageRequest>> requests) {
|
| + std::unique_ptr<UpdateRequestsResult> result) {
|
| + RequestQueue::UpdateMultipleRequestResults results;
|
| + std::vector<std::unique_ptr<SavePageRequest>> requests;
|
| + for (const auto& item_status : result->item_statuses) {
|
| + results.push_back(std::make_pair(
|
| + item_status.first, ToUpdateRequestResult(item_status.second)));
|
| + }
|
| + for (const auto& item : result->updated_items) {
|
| + std::unique_ptr<SavePageRequest> request(new SavePageRequest(item));
|
| + requests.push_back(std::move(request));
|
| + }
|
| +
|
| callback.Run(results, std::move(requests));
|
| }
|
|
|
|
|