Index: components/offline_pages/background/cleanup_task.cc |
diff --git a/components/offline_pages/background/cleanup_task.cc b/components/offline_pages/background/cleanup_task.cc |
deleted file mode 100644 |
index 478185a0d1760f5b6f591eceb3ddffc84d01077c..0000000000000000000000000000000000000000 |
--- a/components/offline_pages/background/cleanup_task.cc |
+++ /dev/null |
@@ -1,109 +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/cleanup_task.h" |
- |
-#include "base/bind.h" |
-#include "base/logging.h" |
-#include "components/offline_pages/background/offliner_policy.h" |
-#include "components/offline_pages/background/offliner_policy_utils.h" |
-#include "components/offline_pages/background/request_coordinator_event_logger.h" |
-#include "components/offline_pages/background/request_notifier.h" |
-#include "components/offline_pages/background/request_queue_store.h" |
-#include "components/offline_pages/background/save_page_request.h" |
- |
-namespace offline_pages { |
- |
-CleanupTask::CleanupTask(RequestQueueStore* store, |
- OfflinerPolicy* policy, |
- RequestNotifier* notifier, |
- RequestCoordinatorEventLogger* event_logger) |
- : store_(store), |
- policy_(policy), |
- notifier_(notifier), |
- event_logger_(event_logger), |
- weak_ptr_factory_(this) {} |
- |
-CleanupTask::~CleanupTask() {} |
- |
-void CleanupTask::Run() { |
- GetRequests(); |
-} |
- |
-void CleanupTask::GetRequests() { |
- // Get all the requests from the queue, we will classify them in the callback. |
- store_->GetRequests( |
- base::Bind(&CleanupTask::Prune, weak_ptr_factory_.GetWeakPtr())); |
-} |
- |
-void CleanupTask::Prune( |
- bool success, |
- std::vector<std::unique_ptr<SavePageRequest>> requests) { |
- // If there is nothing to do, return right away. |
- if (requests.empty()) { |
- TaskComplete(); |
- return; |
- } |
- |
- // Get the expired requests to be removed from the queue. |
- std::vector<int64_t> expired_request_ids; |
- GetExpiredRequestIds(std::move(requests), &expired_request_ids); |
- |
- // Continue processing by handling expired requests, if any. |
- if (expired_request_ids.size() == 0) { |
- TaskComplete(); |
- return; |
- } |
- |
- // TODO(petewil): Add UMA saying why we remove them |
- // TODO(petewil): Round trip the reason for deleting through the RQ |
- store_->RemoveRequests(expired_request_ids, |
- base::Bind(&CleanupTask::OnRequestsExpired, |
- weak_ptr_factory_.GetWeakPtr())); |
-} |
- |
-void CleanupTask::OnRequestsExpired( |
- std::unique_ptr<UpdateRequestsResult> result) { |
- RequestNotifier::BackgroundSavePageResult save_page_result( |
- RequestNotifier::BackgroundSavePageResult::EXPIRED); |
- for (const auto& request : result->updated_items) { |
- event_logger_->RecordDroppedSavePageRequest( |
- request.client_id().name_space, save_page_result, request.request_id()); |
- notifier_->NotifyCompleted(request, save_page_result); |
- } |
- |
- // The task is now done, return control to the task queue. |
- TaskComplete(); |
-} |
- |
-void CleanupTask::GetExpiredRequestIds( |
- std::vector<std::unique_ptr<SavePageRequest>> requests, |
- std::vector<int64_t>* expired_request_ids) { |
- for (auto& request : requests) { |
- // Check for requests past their expiration time or with too many tries. If |
- // it is not still valid, push the request and the reason onto the deletion |
- // list. |
- OfflinerPolicyUtils::RequestExpirationStatus status = |
- OfflinerPolicyUtils::CheckRequestExpirationStatus(request.get(), |
- policy_); |
- |
- // TODO(petewil): The strategy of checking the state below relies on a |
- // reconciliation task, so at startup we convert any OFFLINING requests to |
- // AVAILABLE. Otherwise, requests in the OFFLINING state when chromium dies |
- // will never be cleaned up. |
- |
- // If we are not working on this request in an offliner, and it is not |
- // valid, put it on a list for removal. We make the exception for current |
- // requests because the request might expire after being chosen and before |
- // we call cleanup, and we shouldn't delete the request while offlining it. |
- if (status != OfflinerPolicyUtils::RequestExpirationStatus::VALID && |
- request->request_state() != SavePageRequest::RequestState::OFFLINING) { |
- // TODO(petewil): Push both request and reason, will need to change type |
- // of list to pairs. |
- expired_request_ids->push_back(request->request_id()); |
- } |
- } |
-} |
- |
-} // namespace offline_pages |