Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: components/offline_pages/background/change_requests_state_task.cc

Issue 2489443002: Move all components/offline_pages/ files into component/offline_pages/core (Closed)
Patch Set: update Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698