| 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() {
|
|
|