| OLD | NEW |
| 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 <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 } | 207 } |
| 208 | 208 |
| 209 // Callback for Add requests. | 209 // Callback for Add requests. |
| 210 void AddRequestDone(RequestQueue::AddRequestResult result, | 210 void AddRequestDone(RequestQueue::AddRequestResult result, |
| 211 const SavePageRequest& request); | 211 const SavePageRequest& request); |
| 212 | 212 |
| 213 // Callback for getting requests. | 213 // Callback for getting requests. |
| 214 void GetRequestsDone(RequestQueue::GetRequestsResult result, | 214 void GetRequestsDone(RequestQueue::GetRequestsResult result, |
| 215 const std::vector<SavePageRequest>& requests); | 215 const std::vector<SavePageRequest>& requests); |
| 216 | 216 |
| 217 // Callback for removing requests. |
| 218 void RemoveRequestsDone(const std::vector<SavePageRequest>& requests); |
| 219 |
| 217 // Callback for getting request statuses. | 220 // Callback for getting request statuses. |
| 218 void GetQueuedRequestsDone(const std::vector<SavePageRequest>& requests); | 221 void GetQueuedRequestsDone(const std::vector<SavePageRequest>& requests); |
| 219 | 222 |
| 220 void SendOfflinerDoneCallback(const SavePageRequest& request, | 223 void SendOfflinerDoneCallback(const SavePageRequest& request, |
| 221 Offliner::RequestStatus status); | 224 Offliner::RequestStatus status); |
| 222 | 225 |
| 223 RequestQueue::GetRequestsResult last_get_requests_result() const { | 226 RequestQueue::GetRequestsResult last_get_requests_result() const { |
| 224 return last_get_requests_result_; | 227 return last_get_requests_result_; |
| 225 } | 228 } |
| 226 | 229 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 task_runner_->RunUntilIdle(); | 300 task_runner_->RunUntilIdle(); |
| 298 } | 301 } |
| 299 | 302 |
| 300 void RequestCoordinatorTest::GetRequestsDone( | 303 void RequestCoordinatorTest::GetRequestsDone( |
| 301 RequestQueue::GetRequestsResult result, | 304 RequestQueue::GetRequestsResult result, |
| 302 const std::vector<SavePageRequest>& requests) { | 305 const std::vector<SavePageRequest>& requests) { |
| 303 last_get_requests_result_ = result; | 306 last_get_requests_result_ = result; |
| 304 last_requests_ = requests; | 307 last_requests_ = requests; |
| 305 } | 308 } |
| 306 | 309 |
| 310 void RequestCoordinatorTest::RemoveRequestsDone( |
| 311 const std::vector<SavePageRequest>& requests) { |
| 312 last_requests_ = requests; |
| 313 waiter_.Signal(); |
| 314 } |
| 315 |
| 307 void RequestCoordinatorTest::GetQueuedRequestsDone( | 316 void RequestCoordinatorTest::GetQueuedRequestsDone( |
| 308 const std::vector<SavePageRequest>& requests) { | 317 const std::vector<SavePageRequest>& requests) { |
| 309 last_requests_ = requests; | 318 last_requests_ = requests; |
| 310 waiter_.Signal(); | 319 waiter_.Signal(); |
| 311 } | 320 } |
| 312 | 321 |
| 313 void RequestCoordinatorTest::AddRequestDone( | 322 void RequestCoordinatorTest::AddRequestDone( |
| 314 RequestQueue::AddRequestResult result, | 323 RequestQueue::AddRequestResult result, |
| 315 const SavePageRequest& request) {} | 324 const SavePageRequest& request) {} |
| 316 | 325 |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 748 observer().Clear(); | 757 observer().Clear(); |
| 749 | 758 |
| 750 // Resume the request. | 759 // Resume the request. |
| 751 coordinator()->ResumeRequests(request_ids); | 760 coordinator()->ResumeRequests(request_ids); |
| 752 PumpLoop(); | 761 PumpLoop(); |
| 753 | 762 |
| 754 EXPECT_TRUE(observer().changed_called()); | 763 EXPECT_TRUE(observer().changed_called()); |
| 755 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, observer().state()); | 764 EXPECT_EQ(SavePageRequest::RequestState::AVAILABLE, observer().state()); |
| 756 } | 765 } |
| 757 | 766 |
| 758 TEST_F(RequestCoordinatorTest, ObserverdRemoveRequest) { | 767 TEST_F(RequestCoordinatorTest, RemoveRequest) { |
| 759 // Add a request to the queue. | 768 // Add a request to the queue. |
| 760 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, | 769 offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, |
| 761 base::Time::Now(), kUserRequested); | 770 base::Time::Now(), kUserRequested); |
| 762 coordinator()->queue()->AddRequest( | 771 coordinator()->queue()->AddRequest( |
| 763 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone, | 772 request1, base::Bind(&RequestCoordinatorTest::AddRequestDone, |
| 764 base::Unretained(this))); | 773 base::Unretained(this))); |
| 765 PumpLoop(); | 774 PumpLoop(); |
| 766 | 775 |
| 767 // Remove the request. | 776 // Remove the request. |
| 768 std::vector<int64_t> request_ids; | 777 std::vector<int64_t> request_ids; |
| 769 request_ids.push_back(kRequestId1); | 778 request_ids.push_back(kRequestId1); |
| 770 coordinator()->RemoveRequests(request_ids); | 779 coordinator()->RemoveRequests( |
| 780 request_ids, base::Bind(&RequestCoordinatorTest::RemoveRequestsDone, |
| 781 base::Unretained(this))); |
| 782 |
| 783 PumpLoop(); |
| 784 WaitForCallback(); |
| 771 PumpLoop(); | 785 PumpLoop(); |
| 772 | 786 |
| 773 EXPECT_TRUE(observer().completed_called()); | 787 EXPECT_TRUE(observer().completed_called()); |
| 774 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, | 788 EXPECT_EQ(RequestCoordinator::SavePageStatus::REMOVED, |
| 775 observer().last_status()); | 789 observer().last_status()); |
| 790 EXPECT_EQ(1UL, last_requests().size()); |
| 791 EXPECT_EQ(kRequestId1, last_requests().at(0).request_id()); |
| 776 } | 792 } |
| 777 | 793 |
| 778 } // namespace offline_pages | 794 } // namespace offline_pages |
| OLD | NEW |