Index: components/offline_pages/background/request_picker.h |
diff --git a/components/offline_pages/background/request_picker.h b/components/offline_pages/background/request_picker.h |
index 04469f78576b3c011decee98e8b40188deb74152..ff1c4e878b61280ff0de28e860510bfc0ab36f34 100644 |
--- a/components/offline_pages/background/request_picker.h |
+++ b/components/offline_pages/background/request_picker.h |
@@ -37,13 +37,14 @@ class RequestPicker { |
private: |
// Callback for the GetRequest results to be delivered. |
- void GetRequestResultCallback(RequestQueue::GetRequestsResult result, |
- const std::vector<SavePageRequest>& results); |
+ void GetRequestResultCallback( |
+ RequestQueue::GetRequestsResult result, |
+ std::vector<std::unique_ptr<SavePageRequest>> results); |
// Filter out requests that don't meet the current conditions. For instance, |
// if this is a predictive request, and we are not on WiFi, it should be |
// ignored this round. |
- bool RequestConditionsSatisfied(const SavePageRequest& request); |
+ bool RequestConditionsSatisfied(const SavePageRequest* request); |
// Using policies, decide if the new request is preferable to the best we have |
// so far. |
@@ -67,15 +68,17 @@ class RequestPicker { |
int CompareCreationTime(const SavePageRequest* left, |
const SavePageRequest* right); |
- // Split all requests into expired ones and still valid ones. |
- void SplitRequests(const std::vector<SavePageRequest>& requests, |
- std::vector<SavePageRequest>& valid_requests, |
- std::vector<SavePageRequest>& expired_requests); |
+ // Split all requests into expired ones and still valid ones. Takes ownership |
+ // of the requests, and moves them into either valid or expired requests. |
+ void SplitRequests( |
+ std::vector<std::unique_ptr<SavePageRequest>> requests, |
+ std::vector<std::unique_ptr<SavePageRequest>>* valid_requests, |
+ std::vector<std::unique_ptr<SavePageRequest>>* expired_requests); |
// Callback used after requests get expired. |
void OnRequestExpired( |
const RequestQueue::UpdateMultipleRequestResults& results, |
- const std::vector<SavePageRequest>& requests); |
+ const std::vector<std::unique_ptr<SavePageRequest>> requests); |
// Unowned pointer to the request queue. |
RequestQueue* queue_; |