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

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

Issue 2256373002: Adds request queue removal capability to OfflinePageBridge. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@query-queue
Patch Set: Rebase. Created 4 years, 4 months 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/request_coordinator.cc
diff --git a/components/offline_pages/background/request_coordinator.cc b/components/offline_pages/background/request_coordinator.cc
index 768a4c36b0bfff444a778cee892a1724de316512..de008ff6031cdb1420e0cb9cc29344b7556f1335 100644
--- a/components/offline_pages/background/request_coordinator.cc
+++ b/components/offline_pages/background/request_coordinator.cc
@@ -152,11 +152,13 @@ bool RequestCoordinator::CancelActiveRequestIfItMatches(
}
void RequestCoordinator::RemoveRequests(
- const std::vector<int64_t>& request_ids) {
+ const std::vector<int64_t>& request_ids,
+ const RemoveRequestsCallback& callback) {
bool canceled = CancelActiveRequestIfItMatches(request_ids);
- queue_->RemoveRequests(request_ids,
- base::Bind(&RequestCoordinator::RemoveRequestsCallback,
- weak_ptr_factory_.GetWeakPtr()));
+ queue_->RemoveRequests(
+ request_ids,
+ base::Bind(&RequestCoordinator::HandleRemovedRequestsAndCallback,
+ weak_ptr_factory_.GetWeakPtr(), callback));
if (canceled)
TryNextRequest();
}
@@ -210,7 +212,15 @@ void RequestCoordinator::UpdateMultipleRequestsCallback(
NotifyChanged(request);
}
-void RequestCoordinator::RemoveRequestsCallback(
+void RequestCoordinator::HandleRemovedRequestsAndCallback(
+ const RemoveRequestsCallback& callback,
+ const RequestQueue::UpdateMultipleRequestResults& results,
+ const std::vector<SavePageRequest>& requests) {
+ callback.Run(results);
+ HandleRemovedRequests(results, requests);
+}
+
+void RequestCoordinator::HandleRemovedRequests(
const RequestQueue::UpdateMultipleRequestResults& results,
const std::vector<SavePageRequest>& requests) {
for (SavePageRequest request : requests)
@@ -356,7 +366,7 @@ void RequestCoordinator::OfflinerDoneCallback(const SavePageRequest& request,
std::vector<int64_t> remove_requests;
remove_requests.push_back(request.request_id());
queue_->RemoveRequests(
- remove_requests, base::Bind(&RequestCoordinator::RemoveRequestsCallback,
+ remove_requests, base::Bind(&RequestCoordinator::HandleRemovedRequests,
weak_ptr_factory_.GetWeakPtr()));
NotifyCompleted(request, SavePageStatus::SUCCESS);
} else if (request.completed_attempt_count() + 1 >=
@@ -368,7 +378,7 @@ void RequestCoordinator::OfflinerDoneCallback(const SavePageRequest& request,
std::vector<int64_t> remove_requests;
remove_requests.push_back(request.request_id());
queue_->RemoveRequests(
- remove_requests, base::Bind(&RequestCoordinator::RemoveRequestsCallback,
+ remove_requests, base::Bind(&RequestCoordinator::HandleRemovedRequests,
weak_ptr_factory_.GetWeakPtr()));
NotifyCompleted(request, SavePageStatus::RETRY_COUNT_EXCEEDED);
} else {

Powered by Google App Engine
This is Rietveld 408576698