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

Unified Diff: components/offline_pages/background/request_picker.h

Issue 2262423002: Use a vector of smart pointers for callback return type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge Created 4 years, 3 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_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_;

Powered by Google App Engine
This is Rietveld 408576698