Commit 0c01bcd3 authored by Mark's avatar Mark Committed by Commit Bot

Consolidate clock sources to OfflineClock()

This change further changes direct calls to Time::Now or the default
base::Clock instance to an OfflineClock module for ease of testing
within production files and their related tests in:

components/offline_pages/core/background/

Bug: 906903
Change-Id: Iee19708b9297e3e3b3944c457b163d5555914948
Reviewed-on: https://chromium-review.googlesource.com/c/1352045Reviewed-by: default avatarCarlos Knippschild <carlosk@chromium.org>
Commit-Queue: Mark Lieu <mtlieuu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612293}
parent 1dac18b6
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -86,7 +88,7 @@ void AddRequestTaskTest::InitializeStoreDone(bool success) { ...@@ -86,7 +88,7 @@ void AddRequestTaskTest::InitializeStoreDone(bool success) {
TEST_F(AddRequestTaskTest, AddSingleRequest) { TEST_F(AddRequestTaskTest, AddSingleRequest) {
InitializeStore(&store_); InitializeStore(&store_);
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
AddRequestTask task(&store_, request_1, AddRequestTask task(&store_, request_1,
...@@ -110,7 +112,7 @@ TEST_F(AddRequestTaskTest, AddSingleRequest) { ...@@ -110,7 +112,7 @@ TEST_F(AddRequestTaskTest, AddSingleRequest) {
TEST_F(AddRequestTaskTest, AddMultipleRequests) { TEST_F(AddRequestTaskTest, AddMultipleRequests) {
InitializeStore(&store_); InitializeStore(&store_);
base::Time creation_time_1 = base::Time::Now(); base::Time creation_time_1 = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time_1, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time_1,
true); true);
AddRequestTask task(&store_, request_1, AddRequestTask task(&store_, request_1,
...@@ -122,7 +124,7 @@ TEST_F(AddRequestTaskTest, AddMultipleRequests) { ...@@ -122,7 +124,7 @@ TEST_F(AddRequestTaskTest, AddMultipleRequests) {
EXPECT_EQ(ItemActionStatus::SUCCESS, last_status()); EXPECT_EQ(ItemActionStatus::SUCCESS, last_status());
ClearResults(); ClearResults();
base::Time creation_time_2 = base::Time::Now(); base::Time creation_time_2 = OfflineClock()->Now();
SavePageRequest request_2(kRequestId2, kUrl2, kClientId2, creation_time_2, SavePageRequest request_2(kRequestId2, kUrl2, kClientId2, creation_time_2,
true); true);
AddRequestTask task_2(&store_, request_2, AddRequestTask task_2(&store_, request_2,
...@@ -149,7 +151,7 @@ TEST_F(AddRequestTaskTest, AddMultipleRequests) { ...@@ -149,7 +151,7 @@ TEST_F(AddRequestTaskTest, AddMultipleRequests) {
TEST_F(AddRequestTaskTest, AddDuplicateRequest) { TEST_F(AddRequestTaskTest, AddDuplicateRequest) {
InitializeStore(&store_); InitializeStore(&store_);
base::Time creation_time_1 = base::Time::Now(); base::Time creation_time_1 = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time_1, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time_1,
true); true);
AddRequestTask task(&store_, request_1, AddRequestTask task(&store_, request_1,
...@@ -161,7 +163,7 @@ TEST_F(AddRequestTaskTest, AddDuplicateRequest) { ...@@ -161,7 +163,7 @@ TEST_F(AddRequestTaskTest, AddDuplicateRequest) {
EXPECT_EQ(ItemActionStatus::SUCCESS, last_status()); EXPECT_EQ(ItemActionStatus::SUCCESS, last_status());
ClearResults(); ClearResults();
base::Time creation_time_2 = base::Time::Now(); base::Time creation_time_2 = OfflineClock()->Now();
// This was has the same request ID. // This was has the same request ID.
SavePageRequest request_2(kRequestId1, kUrl2, kClientId2, creation_time_2, SavePageRequest request_2(kRequestId1, kUrl2, kClientId2, creation_time_2,
true); true);
......
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -41,7 +43,7 @@ class ChangeRequestsStateTaskTest : public RequestQueueTaskTestBase { ...@@ -41,7 +43,7 @@ class ChangeRequestsStateTaskTest : public RequestQueueTaskTestBase {
}; };
void ChangeRequestsStateTaskTest::AddItemsToStore() { void ChangeRequestsStateTaskTest::AddItemsToStore() {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
store_.AddRequest(request_1, store_.AddRequest(request_1,
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
#include "components/offline_pages/core/background/request_coordinator.h" #include "components/offline_pages/core/background/request_coordinator.h"
#include "components/offline_pages/core/background/request_coordinator_event_logger.h" #include "components/offline_pages/core/background/request_coordinator_event_logger.h"
...@@ -18,6 +19,7 @@ ...@@ -18,6 +19,7 @@
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -159,7 +161,7 @@ void CleanupTaskTest::MakeFactoryAndTask() { ...@@ -159,7 +161,7 @@ void CleanupTaskTest::MakeFactoryAndTask() {
} }
TEST_F(CleanupTaskTest, CleanupExpiredRequest) { TEST_F(CleanupTaskTest, CleanupExpiredRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
base::Time expired_time = base::Time expired_time =
creation_time - base::TimeDelta::FromSeconds( creation_time - base::TimeDelta::FromSeconds(
policy()->GetRequestExpirationTimeInSeconds() + 10); policy()->GetRequestExpirationTimeInSeconds() + 10);
...@@ -183,7 +185,7 @@ TEST_F(CleanupTaskTest, CleanupExpiredRequest) { ...@@ -183,7 +185,7 @@ TEST_F(CleanupTaskTest, CleanupExpiredRequest) {
} }
TEST_F(CleanupTaskTest, CleanupStartCountExceededRequest) { TEST_F(CleanupTaskTest, CleanupStartCountExceededRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// Request2 will have an exceeded start count. // Request2 will have an exceeded start count.
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
...@@ -205,7 +207,7 @@ TEST_F(CleanupTaskTest, CleanupStartCountExceededRequest) { ...@@ -205,7 +207,7 @@ TEST_F(CleanupTaskTest, CleanupStartCountExceededRequest) {
} }
TEST_F(CleanupTaskTest, CleanupCompletionCountExceededRequest) { TEST_F(CleanupTaskTest, CleanupCompletionCountExceededRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// Request2 will have an exceeded completion count. // Request2 will have an exceeded completion count.
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
...@@ -227,7 +229,7 @@ TEST_F(CleanupTaskTest, CleanupCompletionCountExceededRequest) { ...@@ -227,7 +229,7 @@ TEST_F(CleanupTaskTest, CleanupCompletionCountExceededRequest) {
} }
TEST_F(CleanupTaskTest, IgnoreRequestInProgress) { TEST_F(CleanupTaskTest, IgnoreRequestInProgress) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// Both requests will have an exceeded completion count. // Both requests will have an exceeded completion count.
// The first request will be marked as started. // The first request will be marked as started.
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
......
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -50,13 +52,13 @@ class GetRequestsTaskTest : public RequestQueueTaskTestBase { ...@@ -50,13 +52,13 @@ class GetRequestsTaskTest : public RequestQueueTaskTestBase {
}; };
void GetRequestsTaskTest::AddItemsToStore(RequestQueueStore* store) { void GetRequestsTaskTest::AddItemsToStore(RequestQueueStore* store) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
store->AddRequest(request_1, store->AddRequest(request_1,
base::BindOnce(&GetRequestsTaskTest::AddRequestDone, base::BindOnce(&GetRequestsTaskTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
creation_time = base::Time::Now(); creation_time = OfflineClock()->Now();
SavePageRequest request_2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request_2(kRequestId2, kUrl2, kClientId2, creation_time,
true); true);
store->AddRequest(request_2, store->AddRequest(request_2,
......
...@@ -9,11 +9,13 @@ ...@@ -9,11 +9,13 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/change_requests_state_task.h" #include "components/offline_pages/core/background/change_requests_state_task.h"
#include "components/offline_pages/core/background/mark_attempt_started_task.h" #include "components/offline_pages/core/background/mark_attempt_started_task.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -44,7 +46,7 @@ class MarkAttemptAbortedTaskTest : public RequestQueueTaskTestBase { ...@@ -44,7 +46,7 @@ class MarkAttemptAbortedTaskTest : public RequestQueueTaskTestBase {
}; };
void MarkAttemptAbortedTaskTest::AddItemToStore(RequestQueueStore* store) { void MarkAttemptAbortedTaskTest::AddItemToStore(RequestQueueStore* store) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
store->AddRequest(request_1, store->AddRequest(request_1,
......
...@@ -8,9 +8,11 @@ ...@@ -8,9 +8,11 @@
#include <utility> #include <utility>
#include "base/bind.h" #include "base/bind.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -37,10 +39,10 @@ class MarkAttemptCompletedTaskTest : public RequestQueueTaskTestBase { ...@@ -37,10 +39,10 @@ class MarkAttemptCompletedTaskTest : public RequestQueueTaskTestBase {
}; };
void MarkAttemptCompletedTaskTest::AddStartedItemToStore() { void MarkAttemptCompletedTaskTest::AddStartedItemToStore() {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
request_1.MarkAttemptStarted(base::Time::Now()); request_1.MarkAttemptStarted(OfflineClock()->Now());
store_.AddRequest( store_.AddRequest(
request_1, base::BindOnce(&MarkAttemptCompletedTaskTest::AddRequestDone, request_1, base::BindOnce(&MarkAttemptCompletedTaskTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
......
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
#include <utility> #include <utility>
#include "base/bind.h" #include "base/bind.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_pages/core/offline_clock.h"
namespace offline_pages { namespace offline_pages {
...@@ -28,7 +30,7 @@ void MarkAttemptDeferredTask::UpdateRequestImpl( ...@@ -28,7 +30,7 @@ void MarkAttemptDeferredTask::UpdateRequestImpl(
// It is perfectly fine to reuse the read_result.updated_items collection, as // It is perfectly fine to reuse the read_result.updated_items collection, as
// it is owned by this callback and will be destroyed when out of scope. // it is owned by this callback and will be destroyed when out of scope.
read_result.updated_items[0].MarkAttemptDeferred(base::Time::Now()); read_result.updated_items[0].MarkAttemptDeferred(OfflineClock()->Now());
store()->UpdateRequests( store()->UpdateRequests(
read_result.updated_items, read_result.updated_items,
base::BindOnce(&MarkAttemptDeferredTask::CompleteWithResult, base::BindOnce(&MarkAttemptDeferredTask::CompleteWithResult,
......
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
#include <utility> #include <utility>
#include "base/bind.h" #include "base/bind.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_pages/core/offline_clock.h"
namespace offline_pages { namespace offline_pages {
...@@ -28,7 +30,7 @@ void MarkAttemptStartedTask::UpdateRequestImpl( ...@@ -28,7 +30,7 @@ void MarkAttemptStartedTask::UpdateRequestImpl(
// It is perfectly fine to reuse the read_result.updated_items collection, as // It is perfectly fine to reuse the read_result.updated_items collection, as
// it is owned by this callback and will be destroyed when out of scope. // it is owned by this callback and will be destroyed when out of scope.
read_result.updated_items[0].MarkAttemptStarted(base::Time::Now()); read_result.updated_items[0].MarkAttemptStarted(OfflineClock()->Now());
store()->UpdateRequests( store()->UpdateRequests(
read_result.updated_items, read_result.updated_items,
base::BindOnce(&MarkAttemptStartedTask::CompleteWithResult, base::BindOnce(&MarkAttemptStartedTask::CompleteWithResult,
......
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -38,7 +40,7 @@ class MarkAttemptStartedTaskTest : public RequestQueueTaskTestBase { ...@@ -38,7 +40,7 @@ class MarkAttemptStartedTaskTest : public RequestQueueTaskTestBase {
}; };
void MarkAttemptStartedTaskTest::AddItemToStore() { void MarkAttemptStartedTaskTest::AddItemToStore() {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
store_.AddRequest(request_1, store_.AddRequest(request_1,
...@@ -83,7 +85,7 @@ TEST_F(MarkAttemptStartedTaskTest, MarkAttemptStartedWhenExists) { ...@@ -83,7 +85,7 @@ TEST_F(MarkAttemptStartedTaskTest, MarkAttemptStartedWhenExists) {
base::Unretained(this))); base::Unretained(this)));
// Current time for verification. // Current time for verification.
base::Time before_time = base::Time::Now(); base::Time before_time = OfflineClock()->Now();
task.Run(); task.Run();
PumpLoop(); PumpLoop();
ASSERT_TRUE(last_result()); ASSERT_TRUE(last_result());
...@@ -94,7 +96,7 @@ TEST_F(MarkAttemptStartedTaskTest, MarkAttemptStartedWhenExists) { ...@@ -94,7 +96,7 @@ TEST_F(MarkAttemptStartedTaskTest, MarkAttemptStartedWhenExists) {
EXPECT_EQ(1UL, last_result()->updated_items.size()); EXPECT_EQ(1UL, last_result()->updated_items.size());
EXPECT_LE(before_time, EXPECT_LE(before_time,
last_result()->updated_items.at(0).last_attempt_time()); last_result()->updated_items.at(0).last_attempt_time());
EXPECT_GE(base::Time::Now(), EXPECT_GE(OfflineClock()->Now(),
last_result()->updated_items.at(0).last_attempt_time()); last_result()->updated_items.at(0).last_attempt_time());
EXPECT_EQ(1, last_result()->updated_items.at(0).started_attempt_count()); EXPECT_EQ(1, last_result()->updated_items.at(0).started_attempt_count());
EXPECT_EQ(SavePageRequest::RequestState::OFFLINING, EXPECT_EQ(SavePageRequest::RequestState::OFFLINING,
......
...@@ -4,8 +4,10 @@ ...@@ -4,8 +4,10 @@
#include "components/offline_pages/core/background/offliner_policy_utils.h" #include "components/offline_pages/core/background/offliner_policy_utils.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/offline_clock.h"
namespace offline_pages { namespace offline_pages {
...@@ -17,7 +19,7 @@ OfflinerPolicyUtils::CheckRequestExpirationStatus( ...@@ -17,7 +19,7 @@ OfflinerPolicyUtils::CheckRequestExpirationStatus(
DCHECK(request); DCHECK(request);
DCHECK(policy); DCHECK(policy);
if (base::Time::Now() - request->creation_time() >= if (OfflineClock()->Now() - request->creation_time() >=
base::TimeDelta::FromSeconds( base::TimeDelta::FromSeconds(
policy->GetRequestExpirationTimeInSeconds())) { policy->GetRequestExpirationTimeInSeconds())) {
return RequestExpirationStatus::EXPIRED; return RequestExpirationStatus::EXPIRED;
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_pages/core/background/device_conditions.h" #include "components/offline_pages/core/background/device_conditions.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/client_policy_controller.h" #include "components/offline_pages/core/client_policy_controller.h"
#include "components/offline_pages/core/offline_clock.h"
namespace { namespace {
template <typename T> template <typename T>
...@@ -137,7 +139,8 @@ void PickRequestTask::Choose( ...@@ -137,7 +139,8 @@ void PickRequestTask::Choose(
if (policy_controller_->GetPolicy(request->client_id().name_space) if (policy_controller_->GetPolicy(request->client_id().name_space)
.defer_background_fetch_while_page_is_active) { .defer_background_fetch_while_page_is_active) {
if (!request->last_attempt_time().is_null() && if (!request->last_attempt_time().is_null() &&
base::Time::Now() - request->last_attempt_time() < kDeferInterval) { OfflineClock()->Now() - request->last_attempt_time() <
kDeferInterval) {
defer_available_time = request->last_attempt_time() + kDeferInterval; defer_available_time = request->last_attempt_time() + kDeferInterval;
continue; continue;
} }
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/containers/circular_deque.h" #include "base/containers/circular_deque.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_pages/core/background/device_conditions.h" #include "components/offline_pages/core/background/device_conditions.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/client_policy_controller.h" #include "components/offline_pages/core/client_policy_controller.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -234,7 +236,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) { ...@@ -234,7 +236,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) {
kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds)); kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
...@@ -255,8 +257,8 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) { ...@@ -255,8 +257,8 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithHigherRetryCount) {
TEST_F(PickRequestTaskTest, ChooseRequestWithSameRetryCountButEarlier) { TEST_F(PickRequestTaskTest, ChooseRequestWithSameRetryCountButEarlier) {
base::Time creation_time1 = base::Time creation_time1 =
base::Time::Now() - base::TimeDelta::FromSeconds(10); OfflineClock()->Now() - base::TimeDelta::FromSeconds(10);
base::Time creation_time2 = base::Time::Now(); base::Time creation_time2 = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
...@@ -280,8 +282,8 @@ TEST_F(PickRequestTaskTest, ChooseEarlierRequest) { ...@@ -280,8 +282,8 @@ TEST_F(PickRequestTaskTest, ChooseEarlierRequest) {
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time1 = base::Time creation_time1 =
base::Time::Now() - base::TimeDelta::FromSeconds(10); OfflineClock()->Now() - base::TimeDelta::FromSeconds(10);
base::Time creation_time2 = base::Time::Now(); base::Time creation_time2 = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
...@@ -305,7 +307,7 @@ TEST_F(PickRequestTaskTest, ChooseSameTimeRequestWithHigherRetryCount) { ...@@ -305,7 +307,7 @@ TEST_F(PickRequestTaskTest, ChooseSameTimeRequestWithHigherRetryCount) {
kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds)); kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
...@@ -329,7 +331,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithLowerRetryCount) { ...@@ -329,7 +331,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestWithLowerRetryCount) {
kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds)); kMaxCompletedTries + 1, kBackgroundProcessingTimeBudgetSeconds));
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
...@@ -354,8 +356,8 @@ TEST_F(PickRequestTaskTest, ChooseLaterRequest) { ...@@ -354,8 +356,8 @@ TEST_F(PickRequestTaskTest, ChooseLaterRequest) {
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time1 = base::Time creation_time1 =
base::Time::Now() - base::TimeDelta::FromSeconds(10); OfflineClock()->Now() - base::TimeDelta::FromSeconds(10);
base::Time creation_time2 = base::Time::Now(); base::Time creation_time2 = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
...@@ -372,7 +374,7 @@ TEST_F(PickRequestTaskTest, ChooseLaterRequest) { ...@@ -372,7 +374,7 @@ TEST_F(PickRequestTaskTest, ChooseLaterRequest) {
} }
TEST_F(PickRequestTaskTest, ChooseNonExpiredRequest) { TEST_F(PickRequestTaskTest, ChooseNonExpiredRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
base::Time expired_time = base::Time expired_time =
creation_time - base::TimeDelta::FromSeconds( creation_time - base::TimeDelta::FromSeconds(
policy_->GetRequestExpirationTimeInSeconds() + 60); policy_->GetRequestExpirationTimeInSeconds() + 60);
...@@ -396,8 +398,8 @@ TEST_F(PickRequestTaskTest, ChooseNonExpiredRequest) { ...@@ -396,8 +398,8 @@ TEST_F(PickRequestTaskTest, ChooseNonExpiredRequest) {
TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededStartLimit) { TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededStartLimit) {
base::Time creation_time1 = base::Time creation_time1 =
base::Time::Now() - base::TimeDelta::FromSeconds(1); OfflineClock()->Now() - base::TimeDelta::FromSeconds(1);
base::Time creation_time2 = base::Time::Now(); base::Time creation_time2 = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
...@@ -422,8 +424,8 @@ TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededStartLimit) { ...@@ -422,8 +424,8 @@ TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededStartLimit) {
TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededCompletionLimit) { TEST_F(PickRequestTaskTest, ChooseRequestThatHasNotExceededCompletionLimit) {
base::Time creation_time1 = base::Time creation_time1 =
base::Time::Now() - base::TimeDelta::FromSeconds(1); OfflineClock()->Now() - base::TimeDelta::FromSeconds(1);
base::Time creation_time2 = base::Time::Now(); base::Time creation_time2 = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time1,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time2,
...@@ -454,7 +456,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestThatIsNotDisabled) { ...@@ -454,7 +456,7 @@ TEST_F(PickRequestTaskTest, ChooseRequestThatIsNotDisabled) {
disabled_requests_.insert(kRequestId2); disabled_requests_.insert(kRequestId2);
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
...@@ -483,7 +485,7 @@ TEST_F(PickRequestTaskTest, ChoosePrioritizedRequests) { ...@@ -483,7 +485,7 @@ TEST_F(PickRequestTaskTest, ChoosePrioritizedRequests) {
prioritized_requests_.push_back(kRequestId2); prioritized_requests_.push_back(kRequestId2);
MakePickRequestTask(); MakePickRequestTask();
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time, SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
...@@ -522,7 +524,7 @@ TEST_F(PickRequestTaskTest, ChooseFromTwoPrioritizedRequests) { ...@@ -522,7 +524,7 @@ TEST_F(PickRequestTaskTest, ChooseFromTwoPrioritizedRequests) {
// Making request 1 more attractive to be picked not considering the // Making request 1 more attractive to be picked not considering the
// prioritizing issues with older creation time, fewer attempt count and it's // prioritizing issues with older creation time, fewer attempt count and it's
// earlier in the request queue. // earlier in the request queue.
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
base::Time older_creation_time = base::Time older_creation_time =
creation_time - base::TimeDelta::FromMinutes(10); creation_time - base::TimeDelta::FromMinutes(10);
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, older_creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, older_creation_time,
......
...@@ -10,11 +10,13 @@ ...@@ -10,11 +10,13 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_coordinator.h" #include "components/offline_pages/core/background/request_coordinator.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -116,7 +118,7 @@ void ReconcileTaskTest::MakeTask() { ...@@ -116,7 +118,7 @@ void ReconcileTaskTest::MakeTask() {
} }
TEST_F(ReconcileTaskTest, Reconcile) { TEST_F(ReconcileTaskTest, Reconcile) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// Request2 will be expired, request1 will be current. // Request2 will be expired, request1 will be current.
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
...@@ -151,7 +153,7 @@ TEST_F(ReconcileTaskTest, Reconcile) { ...@@ -151,7 +153,7 @@ TEST_F(ReconcileTaskTest, Reconcile) {
} }
TEST_F(ReconcileTaskTest, NothingToReconcile) { TEST_F(ReconcileTaskTest, NothingToReconcile) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// Request2 will be expired, request1 will be current. // Request2 will be expired, request1 will be current.
SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request1(kRequestId1, kUrl1, kClientId1, creation_time,
kUserRequested); kUserRequested);
......
...@@ -9,9 +9,11 @@ ...@@ -9,9 +9,11 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/request_queue_task_test_base.h" #include "components/offline_pages/core/background/request_queue_task_test_base.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -47,7 +49,7 @@ void RemoveRequestsTaskTest::PumpLoop() { ...@@ -47,7 +49,7 @@ void RemoveRequestsTaskTest::PumpLoop() {
} }
void RemoveRequestsTaskTest::AddRequestsToStore() { void RemoveRequestsTaskTest::AddRequestsToStore() {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time, SavePageRequest request_1(kRequestId1, kUrl1, kClientId1, creation_time,
true); true);
store_.AddRequest(request_1, store_.AddRequest(request_1,
......
...@@ -15,11 +15,13 @@ ...@@ -15,11 +15,13 @@
#include "base/rand_util.h" #include "base/rand_util.h"
#include "base/stl_util.h" #include "base/stl_util.h"
#include "base/system/sys_info.h" #include "base/system/sys_info.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_pages/core/background/offliner.h" #include "components/offline_pages/core/background/offliner.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/client_policy_controller.h" #include "components/offline_pages/core/client_policy_controller.h"
#include "components/offline_pages/core/offline_clock.h"
#include "components/offline_pages/core/offline_page_feature.h" #include "components/offline_pages/core/offline_page_feature.h"
#include "components/offline_pages/core/offline_page_item.h" #include "components/offline_pages/core/offline_page_item.h"
#include "components/offline_pages/core/offline_page_model.h" #include "components/offline_pages/core/offline_page_model.h"
...@@ -63,7 +65,7 @@ void RecordOfflinerResultUMA(const ClientId& client_id, ...@@ -63,7 +65,7 @@ void RecordOfflinerResultUMA(const ClientId& client_id,
// For successful requests also record time from request to save. // For successful requests also record time from request to save.
if (request_status == Offliner::RequestStatus::SAVED || if (request_status == Offliner::RequestStatus::SAVED ||
request_status == Offliner::RequestStatus::SAVED_ON_LAST_RETRY) { request_status == Offliner::RequestStatus::SAVED_ON_LAST_RETRY) {
base::TimeDelta duration = base::Time::Now() - request_creation_time; base::TimeDelta duration = OfflineClock()->Now() - request_creation_time;
base::UmaHistogramCustomCounts( base::UmaHistogramCustomCounts(
AddHistogramSuffix(client_id, "OfflinePages.Background.TimeToSaved"), AddHistogramSuffix(client_id, "OfflinePages.Background.TimeToSaved"),
duration.InSeconds(), kMinDuration.InSeconds(), duration.InSeconds(), kMinDuration.InSeconds(),
...@@ -98,7 +100,7 @@ void RecordStartTimeUMA(const SavePageRequest& request) { ...@@ -98,7 +100,7 @@ void RecordStartTimeUMA(const SavePageRequest& request) {
histogram_name += ".Svelte"; histogram_name += ".Svelte";
} }
base::TimeDelta duration = base::Time::Now() - request.creation_time(); base::TimeDelta duration = OfflineClock()->Now() - request.creation_time();
base::UmaHistogramCustomTimes( base::UmaHistogramCustomTimes(
AddHistogramSuffix(request.client_id(), histogram_name.c_str()), duration, AddHistogramSuffix(request.client_id(), histogram_name.c_str()), duration,
base::TimeDelta::FromMilliseconds(100), base::TimeDelta::FromDays(7), 50); base::TimeDelta::FromMilliseconds(100), base::TimeDelta::FromDays(7), 50);
...@@ -108,7 +110,7 @@ void RecordCancelTimeUMA(const SavePageRequest& canceled_request) { ...@@ -108,7 +110,7 @@ void RecordCancelTimeUMA(const SavePageRequest& canceled_request) {
// Using regular histogram (with dynamic suffix) rather than time-oriented // Using regular histogram (with dynamic suffix) rather than time-oriented
// one to record samples in seconds rather than milliseconds. // one to record samples in seconds rather than milliseconds.
base::TimeDelta duration = base::TimeDelta duration =
base::Time::Now() - canceled_request.creation_time(); OfflineClock()->Now() - canceled_request.creation_time();
base::UmaHistogramCustomCounts( base::UmaHistogramCustomCounts(
AddHistogramSuffix(canceled_request.client_id(), AddHistogramSuffix(canceled_request.client_id(),
"OfflinePages.Background.TimeToCanceled"), "OfflinePages.Background.TimeToCanceled"),
...@@ -259,7 +261,7 @@ int64_t RequestCoordinator::SavePageLater( ...@@ -259,7 +261,7 @@ int64_t RequestCoordinator::SavePageLater(
// Build a SavePageRequest. // Build a SavePageRequest.
offline_pages::SavePageRequest request( offline_pages::SavePageRequest request(
id, save_page_later_params.url, save_page_later_params.client_id, id, save_page_later_params.url, save_page_later_params.client_id,
base::Time::Now(), save_page_later_params.user_requested); OfflineClock()->Now(), save_page_later_params.user_requested);
request.set_original_url(save_page_later_params.original_url); request.set_original_url(save_page_later_params.original_url);
request.set_request_origin(save_page_later_params.request_origin); request.set_request_origin(save_page_later_params.request_origin);
pending_state_updater_.SetPendingState(request); pending_state_updater_.SetPendingState(request);
...@@ -661,7 +663,7 @@ bool RequestCoordinator::StartProcessingInternal( ...@@ -661,7 +663,7 @@ bool RequestCoordinator::StartProcessingInternal(
// Mark the time at which we started processing so we can check our time // Mark the time at which we started processing so we can check our time
// budget. // budget.
operation_start_time_ = base::Time::Now(); operation_start_time_ = OfflineClock()->Now();
TryNextRequest(kStartOfProcessing); TryNextRequest(kStartOfProcessing);
...@@ -775,7 +777,8 @@ void RequestCoordinator::TryNextRequest(bool is_start_of_processing) { ...@@ -775,7 +777,8 @@ void RequestCoordinator::TryNextRequest(bool is_start_of_processing) {
// will return to us at the next opportunity to run background tasks. // will return to us at the next opportunity to run background tasks.
if (connection_type == if (connection_type ==
net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE || net::NetworkChangeNotifier::ConnectionType::CONNECTION_NONE ||
(base::Time::Now() - operation_start_time_) > processing_time_budget) { (OfflineClock()->Now() - operation_start_time_) >
processing_time_budget) {
state_ = RequestCoordinatorState::IDLE; state_ = RequestCoordinatorState::IDLE;
// If we were doing immediate processing, try to start it again // If we were doing immediate processing, try to start it again
...@@ -847,7 +850,7 @@ void RequestCoordinator::RequestNotPicked( ...@@ -847,7 +850,7 @@ void RequestCoordinator::RequestNotPicked(
} else if (!available_time.is_null()) { } else if (!available_time.is_null()) {
scheduler_->BackupSchedule( scheduler_->BackupSchedule(
GetTriggerConditions(kUserRequest), GetTriggerConditions(kUserRequest),
(available_time - base::Time::Now()).InSeconds() + (available_time - OfflineClock()->Now()).InSeconds() +
1 /*Add an extra second to avoid rounding down.*/); 1 /*Add an extra second to avoid rounding down.*/);
} }
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "base/test/scoped_feature_list.h" #include "base/test/scoped_feature_list.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/offline_items_collection/core/pending_state.h" #include "components/offline_items_collection/core/pending_state.h"
#include "components/offline_pages/core/background/device_conditions.h" #include "components/offline_pages/core/background/device_conditions.h"
...@@ -32,6 +33,7 @@ ...@@ -32,6 +33,7 @@
#include "components/offline_pages/core/background/scheduler.h" #include "components/offline_pages/core/background/scheduler.h"
#include "components/offline_pages/core/background/scheduler_stub.h" #include "components/offline_pages/core/background/scheduler_stub.h"
#include "components/offline_pages/core/client_namespace_constants.h" #include "components/offline_pages/core/client_namespace_constants.h"
#include "components/offline_pages/core/offline_clock.h"
#include "components/offline_pages/core/offline_page_feature.h" #include "components/offline_pages/core/offline_page_feature.h"
#include "services/network/test/test_network_quality_tracker.h" #include "services/network/test/test_network_quality_tracker.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -470,7 +472,7 @@ void RequestCoordinatorTest::SetupForOfflinerDoneCallbackTest( ...@@ -470,7 +472,7 @@ void RequestCoordinatorTest::SetupForOfflinerDoneCallbackTest(
offline_pages::SavePageRequest* request) { offline_pages::SavePageRequest* request) {
// Mark request as started and add it to the queue, // Mark request as started and add it to the queue,
// then wait for callback to finish. // then wait for callback to finish.
request->MarkAttemptStarted(base::Time::Now()); request->MarkAttemptStarted(OfflineClock()->Now());
queue()->AddRequest(*request, queue()->AddRequest(*request,
base::BindOnce(&RequestCoordinatorTest::AddRequestDone, base::BindOnce(&RequestCoordinatorTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
...@@ -485,7 +487,7 @@ void RequestCoordinatorTest::SetupForOfflinerDoneCallbackTest( ...@@ -485,7 +487,7 @@ void RequestCoordinatorTest::SetupForOfflinerDoneCallbackTest(
// Mock that coordinator is in actively processing state starting now. // Mock that coordinator is in actively processing state starting now.
SetProcessingStateForTest( SetProcessingStateForTest(
RequestCoordinator::ProcessingWindowState::IMMEDIATE_WINDOW); RequestCoordinator::ProcessingWindowState::IMMEDIATE_WINDOW);
SetOperationStartTimeForTest(base::Time::Now()); SetOperationStartTimeForTest(OfflineClock()->Now());
} }
void RequestCoordinatorTest::SendOfflinerDoneCallback( void RequestCoordinatorTest::SendOfflinerDoneCallback(
...@@ -496,8 +498,8 @@ void RequestCoordinatorTest::SendOfflinerDoneCallback( ...@@ -496,8 +498,8 @@ void RequestCoordinatorTest::SendOfflinerDoneCallback(
} }
SavePageRequest RequestCoordinatorTest::AddRequest1() { SavePageRequest RequestCoordinatorTest::AddRequest1() {
offline_pages::SavePageRequest request1(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request1(
base::Time::Now(), kUserRequested); kRequestId1, kUrl1, kClientId1, OfflineClock()->Now(), kUserRequested);
queue()->AddRequest(request1, queue()->AddRequest(request1,
base::BindOnce(&RequestCoordinatorTest::AddRequestDone, base::BindOnce(&RequestCoordinatorTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
...@@ -505,8 +507,8 @@ SavePageRequest RequestCoordinatorTest::AddRequest1() { ...@@ -505,8 +507,8 @@ SavePageRequest RequestCoordinatorTest::AddRequest1() {
} }
SavePageRequest RequestCoordinatorTest::AddRequest2() { SavePageRequest RequestCoordinatorTest::AddRequest2() {
offline_pages::SavePageRequest request2(kRequestId2, kUrl2, kClientId2, offline_pages::SavePageRequest request2(
base::Time::Now(), kUserRequested); kRequestId2, kUrl2, kClientId2, OfflineClock()->Now(), kUserRequested);
queue()->AddRequest(request2, queue()->AddRequest(request2,
base::BindOnce(&RequestCoordinatorTest::AddRequestDone, base::BindOnce(&RequestCoordinatorTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
...@@ -713,7 +715,7 @@ TEST_F(RequestCoordinatorTest, SavePageLaterFailed) { ...@@ -713,7 +715,7 @@ TEST_F(RequestCoordinatorTest, SavePageLaterFailed) {
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceeded) { TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceeded) {
// Add a request to the queue, wait for callbacks to finish. // Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
// Call the OfflinerDoneCallback to simulate the page being completed, wait // Call the OfflinerDoneCallback to simulate the page being completed, wait
...@@ -744,7 +746,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceeded) { ...@@ -744,7 +746,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceeded) {
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceededButLostNetwork) { TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceededButLostNetwork) {
// Add a request to the queue and set offliner done callback for it. // Add a request to the queue and set offliner done callback for it.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
EnableOfflinerCallback(false); EnableOfflinerCallback(false);
...@@ -773,7 +775,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceededButLostNetwork) { ...@@ -773,7 +775,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestSucceededButLostNetwork) {
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailed) { TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailed) {
// Add a request to the queue, wait for callbacks to finish. // Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
request.set_completed_attempt_count(kMaxCompletedTries - 1); request.set_completed_attempt_count(kMaxCompletedTries - 1);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
// Stop processing before completing the second request on the queue. // Stop processing before completing the second request on the queue.
...@@ -816,7 +818,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailed) { ...@@ -816,7 +818,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailed) {
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoRetryFailure) { TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoRetryFailure) {
// Add a request to the queue, wait for callbacks to finish. // Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
EnableOfflinerCallback(false); EnableOfflinerCallback(false);
...@@ -859,7 +861,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoRetryFailure) { ...@@ -859,7 +861,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoRetryFailure) {
TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoNextFailure) { TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoNextFailure) {
// Add a request to the queue, wait for callbacks to finish. // Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
EnableOfflinerCallback(false); EnableOfflinerCallback(false);
...@@ -891,7 +893,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoNextFailure) { ...@@ -891,7 +893,7 @@ TEST_F(RequestCoordinatorTest, OfflinerDoneRequestFailedNoNextFailure) {
TEST_F(RequestCoordinatorTest, OfflinerDoneForegroundCancel) { TEST_F(RequestCoordinatorTest, OfflinerDoneForegroundCancel) {
// Add a request to the queue, wait for callbacks to finish. // Add a request to the queue, wait for callbacks to finish.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
SetupForOfflinerDoneCallbackTest(&request); SetupForOfflinerDoneCallbackTest(&request);
// Call the OfflinerDoneCallback to simulate the request failed, wait // Call the OfflinerDoneCallback to simulate the request failed, wait
...@@ -1020,8 +1022,8 @@ TEST_F(RequestCoordinatorTest, SchedulerGetsLeastRestrictiveConditions) { ...@@ -1020,8 +1022,8 @@ TEST_F(RequestCoordinatorTest, SchedulerGetsLeastRestrictiveConditions) {
// Put two requests on the queue - The first is user requested, and // Put two requests on the queue - The first is user requested, and
// the second is not user requested. // the second is not user requested.
AddRequest1(); AddRequest1();
offline_pages::SavePageRequest request2(kRequestId2, kUrl2, kClientId2, offline_pages::SavePageRequest request2(
base::Time::Now(), !kUserRequested); kRequestId2, kUrl2, kClientId2, OfflineClock()->Now(), !kUserRequested);
queue()->AddRequest(request2, queue()->AddRequest(request2,
base::BindOnce(&RequestCoordinatorTest::AddRequestDone, base::BindOnce(&RequestCoordinatorTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
...@@ -1237,7 +1239,7 @@ TEST_F(RequestCoordinatorTest, ...@@ -1237,7 +1239,7 @@ TEST_F(RequestCoordinatorTest,
WatchdogTimeoutForScheduledProcessingNoLastSnapshot) { WatchdogTimeoutForScheduledProcessingNoLastSnapshot) {
// Build a request to use with the pre-renderer, and put it on the queue. // Build a request to use with the pre-renderer, and put it on the queue.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
// Set request to allow one more completed attempt. // Set request to allow one more completed attempt.
int max_tries = coordinator()->policy()->GetMaxCompletedTries(); int max_tries = coordinator()->policy()->GetMaxCompletedTries();
request.set_completed_attempt_count(max_tries - 1); request.set_completed_attempt_count(max_tries - 1);
...@@ -1312,7 +1314,8 @@ TEST_F(RequestCoordinatorTest, TimeBudgetExceeded) { ...@@ -1312,7 +1314,8 @@ TEST_F(RequestCoordinatorTest, TimeBudgetExceeded) {
AddRequest1(); AddRequest1();
// The second request will have a larger completed attempt count. // The second request will have a larger completed attempt count.
offline_pages::SavePageRequest request2(kRequestId1 + 1, kUrl1, kClientId1, offline_pages::SavePageRequest request2(kRequestId1 + 1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(),
kUserRequested);
request2.set_completed_attempt_count(kAttemptCount); request2.set_completed_attempt_count(kAttemptCount);
queue()->AddRequest(request2, queue()->AddRequest(request2,
base::BindOnce(&RequestCoordinatorTest::AddRequestDone, base::BindOnce(&RequestCoordinatorTest::AddRequestDone,
...@@ -1584,7 +1587,7 @@ TEST_F(RequestCoordinatorTest, ...@@ -1584,7 +1587,7 @@ TEST_F(RequestCoordinatorTest,
TEST_F(RequestCoordinatorTest, SnapshotOnLastTryForScheduledProcessing) { TEST_F(RequestCoordinatorTest, SnapshotOnLastTryForScheduledProcessing) {
// Build a request to use with the pre-renderer, and put it on the queue. // Build a request to use with the pre-renderer, and put it on the queue.
offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1, offline_pages::SavePageRequest request(kRequestId1, kUrl1, kClientId1,
base::Time::Now(), kUserRequested); OfflineClock()->Now(), kUserRequested);
// Set request to allow one more completed attempt. So that the next try would // Set request to allow one more completed attempt. So that the next try would
// be the last retry. // be the last retry.
int max_tries = coordinator()->policy()->GetMaxCompletedTries(); int max_tries = coordinator()->policy()->GetMaxCompletedTries();
......
...@@ -13,8 +13,10 @@ ...@@ -13,8 +13,10 @@
#include "base/files/scoped_temp_dir.h" #include "base/files/scoped_temp_dir.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/request_queue.h" #include "components/offline_pages/core/background/request_queue.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/offline_clock.h"
#include "sql/database.h" #include "sql/database.h"
#include "sql/statement.h" #include "sql/statement.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -409,7 +411,7 @@ TEST_F(RequestQueueStoreTest, GetRequestsByIds) { ...@@ -409,7 +411,7 @@ TEST_F(RequestQueueStoreTest, GetRequestsByIds) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore()); std::unique_ptr<RequestQueueStore> store(this->BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
store->AddRequest(request1, store->AddRequest(request1,
...@@ -470,7 +472,7 @@ TEST_F(RequestQueueStoreTest, AddRequest) { ...@@ -470,7 +472,7 @@ TEST_F(RequestQueueStoreTest, AddRequest) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore()); std::unique_ptr<RequestQueueStore> store(this->BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
request.set_original_url(kUrl2); request.set_original_url(kUrl2);
...@@ -532,7 +534,7 @@ TEST_F(RequestQueueStoreTest, UpdateRequest) { ...@@ -532,7 +534,7 @@ TEST_F(RequestQueueStoreTest, UpdateRequest) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore()); std::unique_ptr<RequestQueueStore> store(this->BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
store->AddRequest(original_request, store->AddRequest(original_request,
...@@ -588,7 +590,7 @@ TEST_F(RequestQueueStoreTest, RemoveRequests) { ...@@ -588,7 +590,7 @@ TEST_F(RequestQueueStoreTest, RemoveRequests) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore()); std::unique_ptr<RequestQueueStore> store(this->BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
store->AddRequest(request1, store->AddRequest(request1,
...@@ -652,7 +654,7 @@ TEST_F(RequestQueueStoreTest, ResetStore) { ...@@ -652,7 +654,7 @@ TEST_F(RequestQueueStoreTest, ResetStore) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore()); std::unique_ptr<RequestQueueStore> store(this->BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
store->AddRequest(original_request, store->AddRequest(original_request,
...@@ -682,7 +684,7 @@ TEST_F(RequestQueueStoreTest, SaveCloseReopenRead) { ...@@ -682,7 +684,7 @@ TEST_F(RequestQueueStoreTest, SaveCloseReopenRead) {
std::unique_ptr<RequestQueueStore> store(BuildStore()); std::unique_ptr<RequestQueueStore> store(BuildStore());
this->InitializeStore(store.get()); this->InitializeStore(store.get());
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
store->AddRequest(original_request, store->AddRequest(original_request,
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/test/test_mock_time_task_runner.h" #include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/background/device_conditions.h" #include "components/offline_pages/core/background/device_conditions.h"
#include "components/offline_pages/core/background/offliner_policy.h" #include "components/offline_pages/core/background/offliner_policy.h"
#include "components/offline_pages/core/background/request_coordinator.h" #include "components/offline_pages/core/background/request_coordinator.h"
...@@ -18,6 +19,7 @@ ...@@ -18,6 +19,7 @@
#include "components/offline_pages/core/background/request_queue_store.h" #include "components/offline_pages/core/background/request_queue_store.h"
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "components/offline_pages/core/background/test_request_queue_store.h" #include "components/offline_pages/core/background/test_request_queue_store.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -208,7 +210,7 @@ TEST_F(RequestQueueTest, GetRequestsEmpty) { ...@@ -208,7 +210,7 @@ TEST_F(RequestQueueTest, GetRequestsEmpty) {
} }
TEST_F(RequestQueueTest, AddRequest) { TEST_F(RequestQueueTest, AddRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -226,7 +228,7 @@ TEST_F(RequestQueueTest, AddRequest) { ...@@ -226,7 +228,7 @@ TEST_F(RequestQueueTest, AddRequest) {
} }
TEST_F(RequestQueueTest, RemoveRequest) { TEST_F(RequestQueueTest, RemoveRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -254,7 +256,7 @@ TEST_F(RequestQueueTest, RemoveRequest) { ...@@ -254,7 +256,7 @@ TEST_F(RequestQueueTest, RemoveRequest) {
} }
TEST_F(RequestQueueTest, RemoveSeveralRequests) { TEST_F(RequestQueueTest, RemoveSeveralRequests) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -302,7 +304,7 @@ TEST_F(RequestQueueTest, RemoveSeveralRequests) { ...@@ -302,7 +304,7 @@ TEST_F(RequestQueueTest, RemoveSeveralRequests) {
} }
TEST_F(RequestQueueTest, PauseAndResume) { TEST_F(RequestQueueTest, PauseAndResume) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -371,7 +373,7 @@ TEST_F(RequestQueueTest, PauseAndResume) { ...@@ -371,7 +373,7 @@ TEST_F(RequestQueueTest, PauseAndResume) {
// A longer test populating the request queue with more than one item, properly // A longer test populating the request queue with more than one item, properly
// listing multiple items and removing the right item. // listing multiple items and removing the right item.
TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) { TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request1, queue()->AddRequest(request1,
...@@ -414,14 +416,14 @@ TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) { ...@@ -414,14 +416,14 @@ TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) {
TEST_F(RequestQueueTest, MarkAttemptStarted) { TEST_F(RequestQueueTest, MarkAttemptStarted) {
// First add a request. Retry count will be set to 0. // First add a request. Retry count will be set to 0.
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
base::Unretained(this))); base::Unretained(this)));
PumpLoop(); PumpLoop();
base::Time before_time = base::Time::Now(); base::Time before_time = OfflineClock()->Now();
// Update the request, ensure it succeeded. // Update the request, ensure it succeeded.
queue()->MarkAttemptStarted( queue()->MarkAttemptStarted(
kRequestId, base::BindOnce(&RequestQueueTest::UpdateRequestsDone, kRequestId, base::BindOnce(&RequestQueueTest::UpdateRequestsDone,
...@@ -434,7 +436,7 @@ TEST_F(RequestQueueTest, MarkAttemptStarted) { ...@@ -434,7 +436,7 @@ TEST_F(RequestQueueTest, MarkAttemptStarted) {
EXPECT_EQ(1UL, update_requests_result()->updated_items.size()); EXPECT_EQ(1UL, update_requests_result()->updated_items.size());
EXPECT_LE(before_time, EXPECT_LE(before_time,
update_requests_result()->updated_items.at(0).last_attempt_time()); update_requests_result()->updated_items.at(0).last_attempt_time());
EXPECT_GE(base::Time::Now(), EXPECT_GE(OfflineClock()->Now(),
update_requests_result()->updated_items.at(0).last_attempt_time()); update_requests_result()->updated_items.at(0).last_attempt_time());
EXPECT_EQ( EXPECT_EQ(
1, update_requests_result()->updated_items.at(0).started_attempt_count()); 1, update_requests_result()->updated_items.at(0).started_attempt_count());
...@@ -452,7 +454,7 @@ TEST_F(RequestQueueTest, MarkAttemptStarted) { ...@@ -452,7 +454,7 @@ TEST_F(RequestQueueTest, MarkAttemptStarted) {
TEST_F(RequestQueueTest, MarkAttempStartedRequestNotPresent) { TEST_F(RequestQueueTest, MarkAttempStartedRequestNotPresent) {
// First add a request. Retry count will be set to 0. // First add a request. Retry count will be set to 0.
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// This request is never put into the queue. // This request is never put into the queue.
SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
...@@ -469,7 +471,7 @@ TEST_F(RequestQueueTest, MarkAttempStartedRequestNotPresent) { ...@@ -469,7 +471,7 @@ TEST_F(RequestQueueTest, MarkAttempStartedRequestNotPresent) {
} }
TEST_F(RequestQueueTest, MarkAttemptAborted) { TEST_F(RequestQueueTest, MarkAttemptAborted) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -500,7 +502,7 @@ TEST_F(RequestQueueTest, MarkAttemptAborted) { ...@@ -500,7 +502,7 @@ TEST_F(RequestQueueTest, MarkAttemptAborted) {
TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) { TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) {
// First add a request. Retry count will be set to 0. // First add a request. Retry count will be set to 0.
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
// This request is never put into the queue. // This request is never put into the queue.
SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
...@@ -517,7 +519,7 @@ TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) { ...@@ -517,7 +519,7 @@ TEST_F(RequestQueueTest, MarkAttemptAbortedRequestNotPresent) {
} }
TEST_F(RequestQueueTest, MarkAttemptCompleted) { TEST_F(RequestQueueTest, MarkAttemptCompleted) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone, queue()->AddRequest(request, base::BindOnce(&RequestQueueTest::AddRequestDone,
...@@ -550,7 +552,8 @@ TEST_F(RequestQueueTest, MarkAttemptCompleted) { ...@@ -550,7 +552,8 @@ TEST_F(RequestQueueTest, MarkAttemptCompleted) {
TEST_F(RequestQueueTest, CleanStaleRequests) { TEST_F(RequestQueueTest, CleanStaleRequests) {
// Create a request that is already expired. // Create a request that is already expired.
base::Time creation_time = base::Time creation_time =
base::Time::Now() - base::TimeDelta::FromSeconds(2 * kOneWeekInSeconds); OfflineClock()->Now() -
base::TimeDelta::FromSeconds(2 * kOneWeekInSeconds);
SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest original_request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include "components/offline_pages/core/background/save_page_request.h" #include "components/offline_pages/core/background/save_page_request.h"
#include "base/time/clock.h"
#include "components/offline_pages/core/offline_clock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
namespace offline_pages { namespace offline_pages {
...@@ -25,7 +27,7 @@ class SavePageRequestTest : public testing::Test { ...@@ -25,7 +27,7 @@ class SavePageRequestTest : public testing::Test {
SavePageRequestTest::~SavePageRequestTest() {} SavePageRequestTest::~SavePageRequestTest() {}
TEST_F(SavePageRequestTest, CreatePendingReqeust) { TEST_F(SavePageRequestTest, CreatePendingReqeust) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
request.set_original_url(kUrl2); request.set_original_url(kUrl2);
...@@ -43,7 +45,7 @@ TEST_F(SavePageRequestTest, CreatePendingReqeust) { ...@@ -43,7 +45,7 @@ TEST_F(SavePageRequestTest, CreatePendingReqeust) {
} }
TEST_F(SavePageRequestTest, StartAndCompleteRequest) { TEST_F(SavePageRequestTest, StartAndCompleteRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
request.set_request_origin(kRequestOrigin); request.set_request_origin(kRequestOrigin);
...@@ -77,7 +79,7 @@ TEST_F(SavePageRequestTest, StartAndCompleteRequest) { ...@@ -77,7 +79,7 @@ TEST_F(SavePageRequestTest, StartAndCompleteRequest) {
} }
TEST_F(SavePageRequestTest, StartAndAbortRequest) { TEST_F(SavePageRequestTest, StartAndAbortRequest) {
base::Time creation_time = base::Time::Now(); base::Time creation_time = OfflineClock()->Now();
SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
kUserRequested); kUserRequested);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment