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

Side by Side Diff: components/offline_pages/background/request_queue.cc

Issue 2356433004: [Offline pages] Extracting AddRequest method in RequestQueueStore (Closed)
Patch Set: Addressing feedback plus attempt at fixing compilation issue" Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/offline_pages/background/request_queue.h" 5 #include "components/offline_pages/background/request_queue.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "components/offline_pages/background/request_queue_store.h" 10 #include "components/offline_pages/background/request_queue_store.h"
(...skipping 12 matching lines...) Expand all
23 // TODO(fgorski): Filter out expired requests based on policy. 23 // TODO(fgorski): Filter out expired requests based on policy.
24 // This may trigger the purging if necessary. 24 // This may trigger the purging if necessary.
25 // Also this may be turned into a method on the request queue or add a policy 25 // Also this may be turned into a method on the request queue or add a policy
26 // parameter in the process. 26 // parameter in the process.
27 callback.Run(result, std::move(requests)); 27 callback.Run(result, std::move(requests));
28 } 28 }
29 29
30 // Completes the add request call. 30 // Completes the add request call.
31 void AddRequestDone(const RequestQueue::AddRequestCallback& callback, 31 void AddRequestDone(const RequestQueue::AddRequestCallback& callback,
32 const SavePageRequest& request, 32 const SavePageRequest& request,
33 RequestQueueStore::UpdateStatus status) { 33 ItemActionStatus status) {
34 RequestQueue::AddRequestResult result = 34 RequestQueue::AddRequestResult result;
35 (status == RequestQueueStore::UpdateStatus::UPDATED) 35 switch (status) {
36 ? RequestQueue::AddRequestResult::SUCCESS 36 case ItemActionStatus::SUCCESS:
37 : RequestQueue::AddRequestResult::STORE_FAILURE; 37 result = RequestQueue::AddRequestResult::SUCCESS;
38 break;
39 case ItemActionStatus::ALREADY_EXISTS:
40 result = RequestQueue::AddRequestResult::ALREADY_EXISTS;
41 break;
42 case ItemActionStatus::STORE_ERROR:
43 result = RequestQueue::AddRequestResult::STORE_FAILURE;
44 break;
45 case ItemActionStatus::NOT_FOUND:
46 default:
47 NOTREACHED();
48 return;
49 }
38 callback.Run(result, request); 50 callback.Run(result, request);
39 } 51 }
40 52
41 // Completes the update request call. 53 // Completes the update request call.
42 // TODO(petewil): Move callers to the UpdateMultipleRequestDone callback 54 // TODO(petewil): Move callers to the UpdateMultipleRequestDone callback
43 void UpdateRequestDone(const RequestQueue::UpdateRequestCallback& callback, 55 void UpdateRequestDone(const RequestQueue::UpdateRequestCallback& callback,
44 RequestQueueStore::UpdateStatus status) { 56 RequestQueueStore::UpdateStatus status) {
45 RequestQueue::UpdateRequestResult result = 57 RequestQueue::UpdateRequestResult result =
46 (status == RequestQueueStore::UpdateStatus::UPDATED) 58 (status == RequestQueueStore::UpdateStatus::UPDATED)
47 ? RequestQueue::UpdateRequestResult::SUCCESS 59 ? RequestQueue::UpdateRequestResult::SUCCESS
(...skipping 25 matching lines...) Expand all
73 RequestQueue::~RequestQueue() {} 85 RequestQueue::~RequestQueue() {}
74 86
75 void RequestQueue::GetRequests(const GetRequestsCallback& callback) { 87 void RequestQueue::GetRequests(const GetRequestsCallback& callback) {
76 store_->GetRequests(base::Bind(&GetRequestsDone, callback)); 88 store_->GetRequests(base::Bind(&GetRequestsDone, callback));
77 } 89 }
78 90
79 void RequestQueue::AddRequest(const SavePageRequest& request, 91 void RequestQueue::AddRequest(const SavePageRequest& request,
80 const AddRequestCallback& callback) { 92 const AddRequestCallback& callback) {
81 // TODO(fgorski): check that request makes sense. 93 // TODO(fgorski): check that request makes sense.
82 // TODO(fgorski): check that request does not violate policy. 94 // TODO(fgorski): check that request does not violate policy.
83 store_->AddOrUpdateRequest(request, 95 store_->AddRequest(request, base::Bind(&AddRequestDone, callback, request));
84 base::Bind(&AddRequestDone, callback, request));
85 } 96 }
86 97
87 void RequestQueue::UpdateRequest(const SavePageRequest& update_request, 98 void RequestQueue::UpdateRequest(const SavePageRequest& update_request,
88 const UpdateRequestCallback& update_callback) { 99 const UpdateRequestCallback& update_callback) {
89 // We have to pass the update_callback *through* the get callback. We do this 100 // We have to pass the update_callback *through* the get callback. We do this
90 // by currying the update_callback as a parameter to be used when calling 101 // by currying the update_callback as a parameter to be used when calling
91 // GetForUpdateDone. The actual request queue store get operation will not 102 // GetForUpdateDone. The actual request queue store get operation will not
92 // see this bound parameter, but just pass it along. GetForUpdateDone then 103 // see this bound parameter, but just pass it along. GetForUpdateDone then
93 // passes it into the AddOrUpdateRequest method, where it ends up calling back 104 // passes it into the AddOrUpdateRequest method, where it ends up calling back
94 // to the request queue client. 105 // to the request queue client.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 const std::vector<int64_t>& request_ids, 154 const std::vector<int64_t>& request_ids,
144 const SavePageRequest::RequestState new_state, 155 const SavePageRequest::RequestState new_state,
145 const UpdateMultipleRequestsCallback& callback) { 156 const UpdateMultipleRequestsCallback& callback) {
146 store_->ChangeRequestsState(request_ids, new_state, 157 store_->ChangeRequestsState(request_ids, new_state,
147 base::Bind(UpdateMultipleRequestsDone, callback)); 158 base::Bind(UpdateMultipleRequestsDone, callback));
148 } 159 }
149 160
150 void RequestQueue::PurgeRequests(const PurgeRequestsCallback& callback) {} 161 void RequestQueue::PurgeRequests(const PurgeRequestsCallback& callback) {}
151 162
152 } // namespace offline_pages 163 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698