Chromium Code Reviews| 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 88ebb6092d655506a1fd9a701bb813f1639ce229..e449b891296ee97550ed3828001e214a73f90269 100644 |
| --- a/components/offline_pages/background/request_coordinator.cc |
| +++ b/components/offline_pages/background/request_coordinator.cc |
| @@ -113,10 +113,12 @@ void RequestCoordinator::GetQueuedRequestsCallback( |
| } |
| void RequestCoordinator::RemoveRequests( |
| - const std::vector<int64_t>& request_ids) { |
| - queue_->RemoveRequests(request_ids, |
| - base::Bind(&RequestCoordinator::RemoveRequestsCallback, |
| - weak_ptr_factory_.GetWeakPtr())); |
| + const std::vector<int64_t>& request_ids, |
| + const RemoveRequestsCallback& callback) { |
| + queue_->RemoveRequests( |
| + request_ids, |
| + base::Bind(&RequestCoordinator::HandleRemovedRequestsAndCallback, |
| + weak_ptr_factory_.GetWeakPtr(), callback)); |
| } |
| void RequestCoordinator::PauseRequests( |
| @@ -164,7 +166,15 @@ void RequestCoordinator::UpdateMultipleRequestsCallback( |
| NotifyChanged(request); |
| } |
| -void RequestCoordinator::RemoveRequestsCallback( |
| +void RequestCoordinator::HandleRemovedRequestsAndCallback( |
| + const RemoveRequestsCallback& callback, |
| + const RequestQueue::UpdateMultipleRequestResults& results, |
| + const std::vector<SavePageRequest>& requests) { |
| + HandleRemovedRequests(results, requests); |
|
fgorski
2016/08/19 21:51:19
3 things that I am not comfortable here:
1. result
dewittj
2016/08/19 21:56:37
I agree this is concerning; I don't think it's a t
dewittj
2016/08/20 03:22:35
I solved this for my API; However the request coor
|
| + callback.Run(requests); |
| +} |
| + |
| +void RequestCoordinator::HandleRemovedRequests( |
| const RequestQueue::UpdateMultipleRequestResults& results, |
| const std::vector<SavePageRequest>& requests) { |
| for (SavePageRequest request : requests) |
| @@ -323,7 +333,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 >= |
| @@ -335,7 +345,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 { |