Chromium Code Reviews| Index: components/offline_pages/background/request_queue.cc |
| diff --git a/components/offline_pages/background/request_queue.cc b/components/offline_pages/background/request_queue.cc |
| index 8e2103e84ba200162b4b81a79dd3ee231bba4fb8..8b4c76936bad4b87f17fda5b832e2bafbf7061de 100644 |
| --- a/components/offline_pages/background/request_queue.cc |
| +++ b/components/offline_pages/background/request_queue.cc |
| @@ -13,6 +13,8 @@ |
| #include "components/offline_pages/background/mark_attempt_aborted_task.h" |
| #include "components/offline_pages/background/mark_attempt_completed_task.h" |
| #include "components/offline_pages/background/mark_attempt_started_task.h" |
| +#include "components/offline_pages/background/pick_request_task.h" |
| +#include "components/offline_pages/background/pick_request_task_builder.h" |
| #include "components/offline_pages/background/remove_requests_task.h" |
| #include "components/offline_pages/background/request_queue_store.h" |
| #include "components/offline_pages/background/save_page_request.h" |
| @@ -24,9 +26,9 @@ namespace { |
| void GetRequestsDone(const RequestQueue::GetRequestsCallback& callback, |
| bool success, |
| std::vector<std::unique_ptr<SavePageRequest>> requests) { |
| - RequestQueue::GetRequestsResult result = |
| - success ? RequestQueue::GetRequestsResult::SUCCESS |
| - : RequestQueue::GetRequestsResult::STORE_FAILURE; |
| + QueueResults::GetRequestsResult result = |
| + success ? QueueResults::GetRequestsResult::SUCCESS |
| + : QueueResults::GetRequestsResult::STORE_FAILURE; |
| // TODO(fgorski): Filter out expired requests based on policy. |
| // This may trigger the purging if necessary. |
| // Also this may be turned into a method on the request queue or add a policy |
| @@ -38,16 +40,16 @@ void GetRequestsDone(const RequestQueue::GetRequestsCallback& callback, |
| void AddRequestDone(const RequestQueue::AddRequestCallback& callback, |
| const SavePageRequest& request, |
| ItemActionStatus status) { |
| - RequestQueue::AddRequestResult result; |
| + QueueResults::AddRequestResult result; |
| switch (status) { |
| case ItemActionStatus::SUCCESS: |
| - result = RequestQueue::AddRequestResult::SUCCESS; |
| + result = QueueResults::AddRequestResult::SUCCESS; |
| break; |
| case ItemActionStatus::ALREADY_EXISTS: |
| - result = RequestQueue::AddRequestResult::ALREADY_EXISTS; |
| + result = QueueResults::AddRequestResult::ALREADY_EXISTS; |
| break; |
| case ItemActionStatus::STORE_ERROR: |
| - result = RequestQueue::AddRequestResult::STORE_FAILURE; |
| + result = QueueResults::AddRequestResult::STORE_FAILURE; |
| break; |
| case ItemActionStatus::NOT_FOUND: |
| default: |
| @@ -114,4 +116,19 @@ void RequestQueue::MarkAttemptCompleted(int64_t request_id, |
| void RequestQueue::PurgeRequests(const PurgeRequestsCallback& callback) {} |
| +void RequestQueue::PickNextRequest( |
| + PickRequestTask::RequestPickedCallback picked_callback, |
| + PickRequestTask::RequestNotPickedCallback not_picked_callback, |
| + DeviceConditions* conditions, |
| + std::set<int64_t>& disabled_requests) { |
| + // Using the PickerContext, create a picker task |
|
fgorski
2016/11/03 22:00:29
nit: period at the end.
Pete Williamson
2016/11/04 18:53:37
Done.
|
| + std::unique_ptr<Task> task(picker_builder_->CreatePickerTask( |
| + this, picked_callback, not_picked_callback, conditions, |
| + disabled_requests)); |
| + |
| + // Queue up the picking task, it will call one of the callbacks when it |
| + // completes. |
| + task_queue_.AddTask(std::move(task)); |
| +} |
| + |
| } // namespace offline_pages |