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 eacb00221009df4eeca1e514f9c06029f819cf5d..77d889ec3f045afd0afc273bfa91820242516c54 100644 |
--- a/components/offline_pages/background/request_coordinator.cc |
+++ b/components/offline_pages/background/request_coordinator.cc |
@@ -113,8 +113,8 @@ void RequestCoordinator::GetAllRequests(const GetRequestsCallback& callback) { |
void RequestCoordinator::GetQueuedRequestsCallback( |
const GetRequestsCallback& callback, |
RequestQueue::GetRequestsResult result, |
- const std::vector<SavePageRequest>& requests) { |
- callback.Run(requests); |
+ std::vector<std::unique_ptr<SavePageRequest>> requests) { |
+ callback.Run(std::move(requests)); |
} |
void RequestCoordinator::StopPrerendering() { |
@@ -227,18 +227,18 @@ void RequestCoordinator::UpdateRequestCallback( |
// Called in response to updating multiple requests in the request queue. |
void RequestCoordinator::UpdateMultipleRequestsCallback( |
const RequestQueue::UpdateMultipleRequestResults& results, |
- const std::vector<SavePageRequest>& requests) { |
+ std::vector<std::unique_ptr<SavePageRequest>> requests) { |
bool available_user_request = false; |
- for (SavePageRequest request : requests) { |
- NotifyChanged(request); |
- if (!available_user_request && request.user_requested() && |
- request.request_state() == SavePageRequest::RequestState::AVAILABLE) { |
+ for (const auto& request : requests) { |
+ NotifyChanged(*(request)); |
+ if (!available_user_request && request->user_requested() && |
+ request->request_state() == SavePageRequest::RequestState::AVAILABLE) { |
// TODO(dougarnett): Consider avoiding prospect of N^2 in case |
// size of bulk requests can get large (perhaps with easier to consume |
// callback interface). |
for (std::pair<int64_t, RequestQueue::UpdateRequestResult> pair : |
results) { |
- if (pair.first == request.request_id() && |
+ if (pair.first == request->request_id() && |
pair.second == RequestQueue::UpdateRequestResult::SUCCESS) { |
// We have a successfully updated, available, user request. |
available_user_request = true; |
@@ -255,17 +255,18 @@ void RequestCoordinator::HandleRemovedRequestsAndCallback( |
const RemoveRequestsCallback& callback, |
SavePageStatus status, |
const RequestQueue::UpdateMultipleRequestResults& results, |
- const std::vector<SavePageRequest>& requests) { |
+ std::vector<std::unique_ptr<SavePageRequest>> requests) { |
callback.Run(results); |
- HandleRemovedRequests(status, results, requests); |
+ HandleRemovedRequests(status, results, std::move(requests)); |
} |
void RequestCoordinator::HandleRemovedRequests( |
SavePageStatus status, |
const RequestQueue::UpdateMultipleRequestResults& results, |
- const std::vector<SavePageRequest>& requests) { |
- for (SavePageRequest request : requests) |
- NotifyCompleted(request, status); |
+ std::vector<std::unique_ptr<SavePageRequest>> requests) { |
+ std::vector<std::unique_ptr<SavePageRequest>>::iterator request; |
+ for (request = requests.begin(); request != requests.end(); ++request) |
+ NotifyCompleted(*(request->get()), status); |
} |
void RequestCoordinator::StopProcessing() { |