Index: components/offline_pages/background/change_requests_state_task.cc |
diff --git a/components/offline_pages/background/change_requests_state_task.cc b/components/offline_pages/background/change_requests_state_task.cc |
deleted file mode 100644 |
index f78665aa82d8eee4047309e2e14d414d9598abe3..0000000000000000000000000000000000000000 |
--- a/components/offline_pages/background/change_requests_state_task.cc |
+++ /dev/null |
@@ -1,90 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/offline_pages/background/change_requests_state_task.h" |
- |
-#include "base/bind.h" |
- |
-namespace offline_pages { |
- |
-ChangeRequestsStateTask::ChangeRequestsStateTask( |
- RequestQueueStore* store, |
- const std::vector<int64_t>& request_ids, |
- const SavePageRequest::RequestState new_state, |
- const RequestQueueStore::UpdateCallback& callback) |
- : store_(store), |
- request_ids_(request_ids.begin(), request_ids.end()), |
- new_state_(new_state), |
- callback_(callback), |
- weak_ptr_factory_(this) {} |
- |
-ChangeRequestsStateTask::~ChangeRequestsStateTask() {} |
- |
-void ChangeRequestsStateTask::Run() { |
- ReadRequests(); |
-} |
- |
-void ChangeRequestsStateTask::ReadRequests() { |
- if (request_ids_.empty()) { |
- CompleteEarly(ItemActionStatus::NOT_FOUND); |
- return; |
- } |
- |
- store_->GetRequests(base::Bind(&ChangeRequestsStateTask::SelectItemsToUpdate, |
- weak_ptr_factory_.GetWeakPtr())); |
-} |
- |
-void ChangeRequestsStateTask::SelectItemsToUpdate( |
- bool success, |
- std::vector<std::unique_ptr<SavePageRequest>> requests) { |
- if (!success) { |
- CompleteEarly(ItemActionStatus::STORE_ERROR); |
- return; |
- } |
- |
- std::vector<SavePageRequest> items_to_update; |
- for (const auto& request : requests) { |
- // If this request is in our list, update it. |
- if (request_ids_.count(request->request_id()) > 0) { |
- request->set_request_state(new_state_); |
- items_to_update.push_back(*request); |
- // Items that are missing before the update will be marked as not found |
- // before the callback. |
- request_ids_.erase(request->request_id()); |
- } |
- } |
- |
- if (items_to_update.empty()) { |
- CompleteEarly(ItemActionStatus::NOT_FOUND); |
- return; |
- } |
- |
- store_->UpdateRequests(items_to_update, |
- base::Bind(&ChangeRequestsStateTask::UpdateCompleted, |
- weak_ptr_factory_.GetWeakPtr())); |
-} |
- |
-void ChangeRequestsStateTask::UpdateCompleted( |
- std::unique_ptr<UpdateRequestsResult> update_result) { |
- CompleteWithStatus(std::move(update_result), ItemActionStatus::NOT_FOUND); |
-} |
- |
-void ChangeRequestsStateTask::CompleteEarly(ItemActionStatus status) { |
- // TODO(fgorski): store_->state() once implemented |
- std::unique_ptr<UpdateRequestsResult> result( |
- new UpdateRequestsResult(StoreState::LOADED)); |
- CompleteWithStatus(std::move(result), status); |
-} |
- |
-void ChangeRequestsStateTask::CompleteWithStatus( |
- std::unique_ptr<UpdateRequestsResult> result, |
- ItemActionStatus status) { |
- // Mark items as not found, if they are still in the request IDs set. |
- for (int64_t request_id : request_ids_) |
- result->item_statuses.push_back(std::make_pair(request_id, status)); |
- callback_.Run(std::move(result)); |
- TaskComplete(); |
-} |
- |
-} // namespace offline_pages |