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

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

Issue 2256373002: Adds request queue removal capability to OfflinePageBridge. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@query-queue
Patch Set: Add a comment. Created 4 years, 4 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_coordinator.h" 5 #include "components/offline_pages/background/request_coordinator.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 } 106 }
107 107
108 void RequestCoordinator::GetQueuedRequestsCallback( 108 void RequestCoordinator::GetQueuedRequestsCallback(
109 const GetRequestsCallback& callback, 109 const GetRequestsCallback& callback,
110 RequestQueue::GetRequestsResult result, 110 RequestQueue::GetRequestsResult result,
111 const std::vector<SavePageRequest>& requests) { 111 const std::vector<SavePageRequest>& requests) {
112 callback.Run(requests); 112 callback.Run(requests);
113 } 113 }
114 114
115 void RequestCoordinator::RemoveRequests( 115 void RequestCoordinator::RemoveRequests(
116 const std::vector<int64_t>& request_ids) { 116 const std::vector<int64_t>& request_ids,
117 queue_->RemoveRequests(request_ids, 117 const RequestsRemovedCallback& callback) {
118 base::Bind(&RequestCoordinator::RemoveRequestsCallback, 118 queue_->RemoveRequests(
119 weak_ptr_factory_.GetWeakPtr())); 119 request_ids,
120 base::Bind(&RequestCoordinator::ExplicitlyRemoveRequestsCallback,
121 weak_ptr_factory_.GetWeakPtr(), callback));
120 } 122 }
121 123
122 void RequestCoordinator::PauseRequests( 124 void RequestCoordinator::PauseRequests(
123 const std::vector<int64_t>& request_ids) { 125 const std::vector<int64_t>& request_ids) {
124 queue_->ChangeRequestsState( 126 queue_->ChangeRequestsState(
125 request_ids, SavePageRequest::RequestState::PAUSED, 127 request_ids, SavePageRequest::RequestState::PAUSED,
126 base::Bind(&RequestCoordinator::UpdateMultipleRequestsCallback, 128 base::Bind(&RequestCoordinator::UpdateMultipleRequestsCallback,
127 weak_ptr_factory_.GetWeakPtr())); 129 weak_ptr_factory_.GetWeakPtr()));
128 } 130 }
129 131
(...skipping 27 matching lines...) Expand all
157 } 159 }
158 160
159 // Called in response to updating multiple requests in the request queue. 161 // Called in response to updating multiple requests in the request queue.
160 void RequestCoordinator::UpdateMultipleRequestsCallback( 162 void RequestCoordinator::UpdateMultipleRequestsCallback(
161 const RequestQueue::UpdateMultipleRequestResults& results, 163 const RequestQueue::UpdateMultipleRequestResults& results,
162 const std::vector<SavePageRequest>& requests) { 164 const std::vector<SavePageRequest>& requests) {
163 for (SavePageRequest request : requests) 165 for (SavePageRequest request : requests)
164 NotifyChanged(request); 166 NotifyChanged(request);
165 } 167 }
166 168
169 void RequestCoordinator::ExplicitlyRemoveRequestsCallback(
dougarnett 2016/08/19 19:35:59 arrgh, 3 callbacks to name and not be confused by.
dewittj 2016/08/19 20:21:17 Any suggestions for now?
dougarnett 2016/08/19 20:32:10 Wonder about: RemoveRequestsCallback => HandleRem
170 const RequestsRemovedCallback& callback,
171 const RequestQueue::UpdateMultipleRequestResults& results,
172 const std::vector<SavePageRequest>& requests) {
173 RemoveRequestsCallback(results, requests);
174 callback.Run(requests);
175 }
176
167 void RequestCoordinator::RemoveRequestsCallback( 177 void RequestCoordinator::RemoveRequestsCallback(
168 const RequestQueue::UpdateMultipleRequestResults& results, 178 const RequestQueue::UpdateMultipleRequestResults& results,
169 const std::vector<SavePageRequest>& requests) { 179 const std::vector<SavePageRequest>& requests) {
170 for (SavePageRequest request : requests) 180 for (SavePageRequest request : requests)
171 NotifyCompleted(request, SavePageStatus::REMOVED); 181 NotifyCompleted(request, SavePageStatus::REMOVED);
172 } 182 }
173 183
174 void RequestCoordinator::StopProcessing() { 184 void RequestCoordinator::StopProcessing() {
175 is_canceled_ = true; 185 is_canceled_ = true;
176 if (offliner_ && is_busy_) { 186 if (offliner_ && is_busy_) {
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 FOR_EACH_OBSERVER(Observer, observers_, OnChanged(request)); 415 FOR_EACH_OBSERVER(Observer, observers_, OnChanged(request));
406 } 416 }
407 417
408 void RequestCoordinator::GetOffliner() { 418 void RequestCoordinator::GetOffliner() {
409 if (!offliner_) { 419 if (!offliner_) {
410 offliner_ = factory_->GetOffliner(policy_.get()); 420 offliner_ = factory_->GetOffliner(policy_.get());
411 } 421 }
412 } 422 }
413 423
414 } // namespace offline_pages 424 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698