Use TimeDelta for duration values in component update_client
Use TimeDelta to safely represent durations where possible. This should
improve readability & maintainability.
Fixed: 1400441
Change-Id: I70226316d92d26babac05630cecf2b7722bf0ae3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4096993
Reviewed-by: Michael Bai <michaelbai@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1082722}
diff --git a/android_webview/nonembedded/component_updater/aw_component_updater_configurator.cc b/android_webview/nonembedded/component_updater/aw_component_updater_configurator.cc
index 5b83d07..482c5f77 100644
--- a/android_webview/nonembedded/component_updater/aw_component_updater_configurator.cc
+++ b/android_webview/nonembedded/component_updater/aw_component_updater_configurator.cc
@@ -41,34 +41,34 @@
AwComponentUpdaterConfigurator::~AwComponentUpdaterConfigurator() = default;
-double AwComponentUpdaterConfigurator::InitialDelay() const {
+base::TimeDelta AwComponentUpdaterConfigurator::InitialDelay() const {
// Initial delay acts as a "registration window" for components, so we should
// have a reasonable window to allow for all components to complete
// registration. We are choosing a small window of 10 seconds here because
// WebView has a short list of components and components registration happens
// in an android background service so we want to start the update as soon as
// possible.
- // TODO(crbug.com/1181094): git rid of dependency in initial delay for
+ // TODO(crbug.com/1181094): get rid of dependency in initial delay for
// WebView.
- return 10;
+ return base::Seconds(10);
}
-int AwComponentUpdaterConfigurator::NextCheckDelay() const {
+base::TimeDelta AwComponentUpdaterConfigurator::NextCheckDelay() const {
return configurator_impl_.NextCheckDelay();
}
-int AwComponentUpdaterConfigurator::OnDemandDelay() const {
+base::TimeDelta AwComponentUpdaterConfigurator::OnDemandDelay() const {
return configurator_impl_.OnDemandDelay();
}
-int AwComponentUpdaterConfigurator::UpdateDelay() const {
+base::TimeDelta AwComponentUpdaterConfigurator::UpdateDelay() const {
// No need to have any delays between components updates. In WebView this
// doesn't run in a browser and shouldn't affect user's experience.
// Furthermore, this will be a background service that is scheduled by
// JobScheduler, so we want to do as much work in as little time as possible.
// However, if we ever invoked installation on-demand, we should be less
// aggressive here.
- return 0;
+ return base::Seconds(0);
}
std::vector<GURL> AwComponentUpdaterConfigurator::UpdateUrl() const {
diff --git a/android_webview/nonembedded/component_updater/aw_component_updater_configurator.h b/android_webview/nonembedded/component_updater/aw_component_updater_configurator.h
index 79efaa6..0961d18 100644
--- a/android_webview/nonembedded/component_updater/aw_component_updater_configurator.h
+++ b/android_webview/nonembedded/component_updater/aw_component_updater_configurator.h
@@ -7,6 +7,7 @@
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "base/version.h"
#include "components/component_updater/configurator_impl.h"
#include "components/prefs/pref_service.h"
@@ -33,10 +34,10 @@
PrefService* pref_service);
// update_client::Configurator overrides.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
diff --git a/android_webview/nonembedded/component_updater/aw_component_updater_configurator_unittest.cc b/android_webview/nonembedded/component_updater/aw_component_updater_configurator_unittest.cc
index 7f4951f..33c9ece1 100644
--- a/android_webview/nonembedded/component_updater/aw_component_updater_configurator_unittest.cc
+++ b/android_webview/nonembedded/component_updater/aw_component_updater_configurator_unittest.cc
@@ -10,6 +10,7 @@
#include "base/command_line.h"
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "components/component_updater/component_updater_command_line_config_policy.h"
#include "components/component_updater/component_updater_switches.h"
#include "components/component_updater/component_updater_url_constants.h"
@@ -55,10 +56,10 @@
scoped_refptr<update_client::Configurator> config =
MakeAwComponentUpdaterConfigurator(GetCommandLine(), GetPrefService());
- EXPECT_EQ(config->InitialDelay(), 10);
- EXPECT_EQ(config->NextCheckDelay(), 5 * 60 * 60);
- EXPECT_EQ(config->OnDemandDelay(), 30 * 60);
- EXPECT_EQ(config->UpdateDelay(), 0);
+ EXPECT_EQ(config->InitialDelay(), base::Seconds(10));
+ EXPECT_EQ(config->NextCheckDelay(), base::Hours(5));
+ EXPECT_EQ(config->OnDemandDelay(), base::Minutes(30));
+ EXPECT_EQ(config->UpdateDelay(), base::Seconds(0));
}
TEST_F(AwComponentUpdaterConfiguratorTest, TestDelaysWithFastUpdate) {
@@ -67,10 +68,10 @@
scoped_refptr<update_client::Configurator> config =
MakeAwComponentUpdaterConfigurator(cmdline, GetPrefService());
- EXPECT_EQ(config->InitialDelay(), 10);
- EXPECT_EQ(config->NextCheckDelay(), 5 * 60 * 60);
- EXPECT_EQ(config->OnDemandDelay(), 2);
- EXPECT_EQ(config->UpdateDelay(), 0);
+ EXPECT_EQ(config->InitialDelay(), base::Seconds(10));
+ EXPECT_EQ(config->NextCheckDelay(), base::Hours(5));
+ EXPECT_EQ(config->OnDemandDelay(), base::Seconds(2));
+ EXPECT_EQ(config->UpdateDelay(), base::Seconds(0));
}
TEST_F(AwComponentUpdaterConfiguratorTest, TestDefaultImpl) {
diff --git a/chrome/browser/component_updater/chrome_component_updater_configurator.cc b/chrome/browser/component_updater/chrome_component_updater_configurator.cc
index edbf8f96..9ee5dd83 100644
--- a/chrome/browser/component_updater/chrome_component_updater_configurator.cc
+++ b/chrome/browser/component_updater/chrome_component_updater_configurator.cc
@@ -14,6 +14,7 @@
#include "base/memory/raw_ptr.h"
#include "base/path_service.h"
#include "base/strings/sys_string_conversions.h"
+#include "base/time/time.h"
#include "base/version.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"
@@ -57,10 +58,10 @@
PrefService* pref_service);
// update_client::Configurator overrides.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
@@ -115,19 +116,19 @@
DCHECK(pref_service_);
}
-double ChromeConfigurator::InitialDelay() const {
+base::TimeDelta ChromeConfigurator::InitialDelay() const {
return configurator_impl_.InitialDelay();
}
-int ChromeConfigurator::NextCheckDelay() const {
+base::TimeDelta ChromeConfigurator::NextCheckDelay() const {
return configurator_impl_.NextCheckDelay();
}
-int ChromeConfigurator::OnDemandDelay() const {
+base::TimeDelta ChromeConfigurator::OnDemandDelay() const {
return configurator_impl_.OnDemandDelay();
}
-int ChromeConfigurator::UpdateDelay() const {
+base::TimeDelta ChromeConfigurator::UpdateDelay() const {
return configurator_impl_.UpdateDelay();
}
@@ -275,9 +276,8 @@
} // namespace
scoped_refptr<update_client::Configurator>
-MakeChromeComponentUpdaterConfigurator(
- const base::CommandLine* cmdline,
- PrefService* pref_service) {
+MakeChromeComponentUpdaterConfigurator(const base::CommandLine* cmdline,
+ PrefService* pref_service) {
return base::MakeRefCounted<ChromeConfigurator>(cmdline, pref_service);
}
diff --git a/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc b/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
index a44bd63..886b091 100644
--- a/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
+++ b/chrome/browser/component_updater/chrome_component_updater_configurator_unittest.cc
@@ -8,6 +8,7 @@
#include "base/command_line.h"
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "chrome/browser/component_updater/chrome_component_updater_configurator.h"
#include "components/component_updater/component_updater_command_line_config_policy.h"
#include "components/component_updater/component_updater_switches.h"
@@ -64,10 +65,10 @@
const auto config(
MakeChromeComponentUpdaterConfigurator(&cmdline, pref_service()));
- CHECK_EQ(10, config->InitialDelay());
- CHECK_EQ(5 * 60 * 60, config->NextCheckDelay());
- CHECK_EQ(2, config->OnDemandDelay());
- CHECK_EQ(10, config->UpdateDelay());
+ CHECK_EQ(base::Seconds(10), config->InitialDelay());
+ CHECK_EQ(base::Hours(5), config->NextCheckDelay());
+ CHECK_EQ(base::Seconds(2), config->OnDemandDelay());
+ CHECK_EQ(base::Seconds(10), config->UpdateDelay());
}
TEST_F(ChromeComponentUpdaterConfiguratorTest, TestOverrideUrl) {
diff --git a/chrome/browser/extensions/updater/chrome_update_client_config.cc b/chrome/browser/extensions/updater/chrome_update_client_config.cc
index 20db0cb..25e6680 100644
--- a/chrome/browser/extensions/updater/chrome_update_client_config.cc
+++ b/chrome/browser/extensions/updater/chrome_update_client_config.cc
@@ -19,6 +19,7 @@
#include "base/no_destructor.h"
#include "base/path_service.h"
#include "base/task/sequenced_task_runner.h"
+#include "base/time/time.h"
#include "base/version.h"
#include "chrome/browser/component_updater/component_updater_utils.h"
#include "chrome/browser/extensions/updater/extension_update_client_command_line_config_policy.h"
@@ -151,19 +152,19 @@
ChromeUpdateClientConfig::~ChromeUpdateClientConfig() = default;
-double ChromeUpdateClientConfig::InitialDelay() const {
+base::TimeDelta ChromeUpdateClientConfig::InitialDelay() const {
return impl_.InitialDelay();
}
-int ChromeUpdateClientConfig::NextCheckDelay() const {
+base::TimeDelta ChromeUpdateClientConfig::NextCheckDelay() const {
return impl_.NextCheckDelay();
}
-int ChromeUpdateClientConfig::OnDemandDelay() const {
+base::TimeDelta ChromeUpdateClientConfig::OnDemandDelay() const {
return impl_.OnDemandDelay();
}
-int ChromeUpdateClientConfig::UpdateDelay() const {
+base::TimeDelta ChromeUpdateClientConfig::UpdateDelay() const {
return impl_.UpdateDelay();
}
diff --git a/chrome/browser/extensions/updater/chrome_update_client_config.h b/chrome/browser/extensions/updater/chrome_update_client_config.h
index 47a0644..d518d3f 100644
--- a/chrome/browser/extensions/updater/chrome_update_client_config.h
+++ b/chrome/browser/extensions/updater/chrome_update_client_config.h
@@ -13,6 +13,7 @@
#include "base/containers/flat_map.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "components/component_updater/configurator_impl.h"
#include "components/update_client/buildflags.h"
#include "components/update_client/configurator.h"
@@ -33,7 +34,7 @@
class CrxDownloaderFactory;
class NetworkFetcherFactory;
class ProtocolHandlerFactory;
-}
+} // namespace update_client
namespace extensions {
@@ -59,10 +60,10 @@
ChromeUpdateClientConfig(const ChromeUpdateClientConfig&) = delete;
ChromeUpdateClientConfig& operator=(const ChromeUpdateClientConfig&) = delete;
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
diff --git a/chrome/updater/app/server/posix/app_server_posix.cc b/chrome/updater/app/server/posix/app_server_posix.cc
index 6224afc..a8c92bc 100644
--- a/chrome/updater/app/server/posix/app_server_posix.cc
+++ b/chrome/updater/app/server/posix/app_server_posix.cc
@@ -27,17 +27,11 @@
VLOG(2) << "Starting task, " << tasks_running_ << " tasks running";
}
-base::TimeDelta AppServerPosix::ServerKeepAlive() {
- int seconds = external_constants()->ServerKeepAliveSeconds();
- VLOG(2) << "ServerKeepAliveSeconds: " << seconds;
- return base::Seconds(seconds);
-}
-
void AppServerPosix::TaskCompleted() {
main_task_runner_->PostDelayedTask(
FROM_HERE,
base::BindOnce(&AppServerPosix::AcknowledgeTaskCompletion, this),
- ServerKeepAlive());
+ external_constants()->ServerKeepAliveTime());
}
void AppServerPosix::AcknowledgeTaskCompletion() {
diff --git a/chrome/updater/app/server/posix/app_server_posix.h b/chrome/updater/app/server/posix/app_server_posix.h
index 3b8071f..a403777 100644
--- a/chrome/updater/app/server/posix/app_server_posix.h
+++ b/chrome/updater/app/server/posix/app_server_posix.h
@@ -32,7 +32,6 @@
std::unique_ptr<UpdateServiceInternalStub> active_duty_internal_stub_;
private:
- base::TimeDelta ServerKeepAlive();
void MarkTaskStarted();
void AcknowledgeTaskCompletion();
diff --git a/chrome/updater/app/server/win/com_classes_legacy.cc b/chrome/updater/app/server/win/com_classes_legacy.cc
index 1cac6a5..5daa029 100644
--- a/chrome/updater/app/server/win/com_classes_legacy.cc
+++ b/chrome/updater/app/server/win/com_classes_legacy.cc
@@ -789,11 +789,11 @@
STDMETHODIMP PolicyStatusImpl::get_lastCheckPeriodMinutes(DWORD* minutes) {
DCHECK(minutes);
- PolicyStatus<int> period = policy_service_->GetLastCheckPeriodMinutes();
+ PolicyStatus<base::TimeDelta> period = policy_service_->GetLastCheckPeriod();
if (!period)
return E_FAIL;
- *minutes = period.policy();
+ *minutes = period.policy().InMinutes();
return S_OK;
}
@@ -1051,7 +1051,7 @@
IPolicyStatusValue** value) {
DCHECK(value);
auto policy_status = PolicyStatusResult<int>::Get(base::BindRepeating(
- &PolicyService::GetLastCheckPeriodMinutes, policy_service_));
+ &PolicyService::DeprecatedGetLastCheckPeriodMinutes, policy_service_));
return policy_status.has_value()
? PolicyStatusValueImpl::Create(*policy_status, value)
: E_FAIL;
diff --git a/chrome/updater/check_for_updates_task.cc b/chrome/updater/check_for_updates_task.cc
index 5986fa00..a7fb4b1 100644
--- a/chrome/updater/check_for_updates_task.cc
+++ b/chrome/updater/check_for_updates_task.cc
@@ -30,8 +30,8 @@
bool ShouldSkipCheck(scoped_refptr<Configurator> config,
scoped_refptr<updater::PersistedData> persisted_data) {
// To spread out synchronized load, sometimes use a higher delay.
- const base::TimeDelta check_delay = base::Seconds(
- config->NextCheckDelay() * (base::RandDouble() < 0.1 ? 1.2 : 1));
+ const base::TimeDelta check_delay =
+ config->NextCheckDelay() * (base::RandDouble() < 0.1 ? 1.2 : 1);
// Skip if periodic updates are disabled altogether.
if (check_delay.is_zero()) {
@@ -96,7 +96,7 @@
std::move(closure).Run();
},
std::move(callback))),
- base::Seconds(config_->InitialDelay()));
+ config_->InitialDelay());
}
} // namespace updater
diff --git a/chrome/updater/configurator.cc b/chrome/updater/configurator.cc
index beea40b..7608469 100644
--- a/chrome/updater/configurator.cc
+++ b/chrome/updater/configurator.cc
@@ -66,27 +66,27 @@
}
Configurator::~Configurator() = default;
-double Configurator::InitialDelay() const {
+base::TimeDelta Configurator::InitialDelay() const {
return base::RandDouble() * external_constants_->InitialDelay();
}
-int Configurator::ServerKeepAliveSeconds() const {
- return base::clamp(external_constants_->ServerKeepAliveSeconds(), 1,
- kServerKeepAliveSeconds);
+base::TimeDelta Configurator::ServerKeepAliveTime() const {
+ return base::clamp(external_constants_->ServerKeepAliveTime(),
+ base::Seconds(1), kServerKeepAliveTime);
}
-int Configurator::NextCheckDelay() const {
- PolicyStatus<int> minutes = policy_service_->GetLastCheckPeriodMinutes();
- CHECK(minutes);
- return base::Minutes(minutes.policy()).InSeconds();
+base::TimeDelta Configurator::NextCheckDelay() const {
+ PolicyStatus<base::TimeDelta> delay = policy_service_->GetLastCheckPeriod();
+ CHECK(delay);
+ return delay.policy();
}
-int Configurator::OnDemandDelay() const {
- return 0;
+base::TimeDelta Configurator::OnDemandDelay() const {
+ return base::Seconds(0);
}
-int Configurator::UpdateDelay() const {
- return 0;
+base::TimeDelta Configurator::UpdateDelay() const {
+ return base::Seconds(0);
}
std::vector<GURL> Configurator::UpdateUrl() const {
diff --git a/chrome/updater/configurator.h b/chrome/updater/configurator.h
index 28e8be8c..f7cc60f 100644
--- a/chrome/updater/configurator.h
+++ b/chrome/updater/configurator.h
@@ -11,6 +11,7 @@
#include "base/containers/flat_map.h"
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "components/update_client/buildflags.h"
#include "components/update_client/configurator.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -55,10 +56,10 @@
Configurator& operator=(const Configurator&) = delete;
// Overrides for update_client::Configurator.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
@@ -88,7 +89,7 @@
absl::optional<base::FilePath> GetCrxCachePath() const override;
#endif
- int ServerKeepAliveSeconds() const;
+ base::TimeDelta ServerKeepAliveTime() const;
scoped_refptr<PolicyService> GetPolicyService() const;
crx_file::VerifierFormat GetCrxVerifierFormat() const;
diff --git a/chrome/updater/constants.h b/chrome/updater/constants.h
index a91c8f9d..2f17174 100644
--- a/chrome/updater/constants.h
+++ b/chrome/updater/constants.h
@@ -406,8 +406,8 @@
// The file downloaded to a temporary location could not be moved.
inline constexpr int kErrorFailedToMoveDownloadedFile = 5;
-inline constexpr double kInitialDelay = 60;
-inline constexpr int kServerKeepAliveSeconds = 10;
+inline constexpr base::TimeDelta kInitialDelay = base::Minutes(1);
+inline constexpr base::TimeDelta kServerKeepAliveTime = base::Seconds(10);
// The maximum number of server starts before the updater uninstalls itself
// while waiting for the first app registration.
diff --git a/chrome/updater/external_constants.h b/chrome/updater/external_constants.h
index 1f66eb0..099c653a 100644
--- a/chrome/updater/external_constants.h
+++ b/chrome/updater/external_constants.h
@@ -9,6 +9,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "base/values.h"
class GURL;
@@ -37,12 +38,12 @@
// True if client update protocol signing of update checks is enabled.
virtual bool UseCUP() const = 0;
- // Number of seconds to delay the start of the automated background tasks
+ // Time to delay the start of the automated background tasks
// such as update checks.
- virtual double InitialDelay() const = 0;
+ virtual base::TimeDelta InitialDelay() const = 0;
- // Minimum number of of seconds the server needs to stay alive.
- virtual int ServerKeepAliveSeconds() const = 0;
+ // Minimum amount of time the server needs to stay alive.
+ virtual base::TimeDelta ServerKeepAliveTime() const = 0;
// CRX format verification requirements.
virtual crx_file::VerifierFormat CrxVerifierFormat() const = 0;
diff --git a/chrome/updater/external_constants_builder.cc b/chrome/updater/external_constants_builder.cc
index 16c2700..219e4b1f 100644
--- a/chrome/updater/external_constants_builder.cc
+++ b/chrome/updater/external_constants_builder.cc
@@ -11,6 +11,7 @@
#include "base/json/json_file_value_serializer.h"
#include "base/logging.h"
+#include "base/numerics/safe_conversions.h"
#include "base/time/time.h"
#include "base/values.h"
#include "chrome/updater/constants.h"
@@ -73,8 +74,8 @@
}
ExternalConstantsBuilder& ExternalConstantsBuilder::SetInitialDelay(
- double initial_delay) {
- overrides_.Set(kDevOverrideKeyInitialDelay, initial_delay);
+ base::TimeDelta initial_delay) {
+ overrides_.Set(kDevOverrideKeyInitialDelay, initial_delay.InSecondsF());
return *this;
}
@@ -83,10 +84,10 @@
return *this;
}
-ExternalConstantsBuilder& ExternalConstantsBuilder::SetServerKeepAliveSeconds(
- int server_keep_alive_seconds) {
+ExternalConstantsBuilder& ExternalConstantsBuilder::SetServerKeepAliveTime(
+ base::TimeDelta server_keep_alive_time) {
overrides_.Set(kDevOverrideKeyServerKeepAliveSeconds,
- server_keep_alive_seconds);
+ base::checked_cast<int>(server_keep_alive_time.InSeconds()));
return *this;
}
@@ -155,7 +156,7 @@
if (!overrides_.contains(kDevOverrideKeyInitialDelay))
SetInitialDelay(verifier->InitialDelay());
if (!overrides_.contains(kDevOverrideKeyServerKeepAliveSeconds))
- SetServerKeepAliveSeconds(verifier->ServerKeepAliveSeconds());
+ SetServerKeepAliveTime(verifier->ServerKeepAliveTime());
if (!overrides_.contains(kDevOverrideKeyCrxVerifierFormat))
SetCrxVerifierFormat(verifier->CrxVerifierFormat());
if (!overrides_.contains(kDevOverrideKeyGroupPolicies))
diff --git a/chrome/updater/external_constants_builder.h b/chrome/updater/external_constants_builder.h
index e929224..22ed42d 100644
--- a/chrome/updater/external_constants_builder.h
+++ b/chrome/updater/external_constants_builder.h
@@ -44,11 +44,11 @@
ExternalConstantsBuilder& SetUseCUP(bool use_cup);
ExternalConstantsBuilder& ClearUseCUP();
- ExternalConstantsBuilder& SetInitialDelay(double initial_delay);
+ ExternalConstantsBuilder& SetInitialDelay(base::TimeDelta initial_delay);
ExternalConstantsBuilder& ClearInitialDelay();
- ExternalConstantsBuilder& SetServerKeepAliveSeconds(
- int server_keep_alive_seconds);
+ ExternalConstantsBuilder& SetServerKeepAliveTime(
+ base::TimeDelta server_keep_alive_seconds);
ExternalConstantsBuilder& ClearServerKeepAliveSeconds();
ExternalConstantsBuilder& SetCrxVerifierFormat(
diff --git a/chrome/updater/external_constants_builder_unittest.cc b/chrome/updater/external_constants_builder_unittest.cc
index e7dc7f11f..1e88983 100644
--- a/chrome/updater/external_constants_builder_unittest.cc
+++ b/chrome/updater/external_constants_builder_unittest.cc
@@ -56,7 +56,7 @@
EXPECT_EQ(urls[0], GURL(UPDATE_CHECK_URL));
EXPECT_EQ(verifier->InitialDelay(), kInitialDelay);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), kServerKeepAliveSeconds);
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), kServerKeepAliveTime);
EXPECT_EQ(verifier->GroupPolicies().size(), 0U);
}
@@ -68,8 +68,8 @@
ExternalConstantsBuilder builder;
builder.SetUpdateURL(std::vector<std::string>{"https://www.example.com"})
.SetUseCUP(false)
- .SetInitialDelay(123)
- .SetServerKeepAliveSeconds(2)
+ .SetInitialDelay(base::Seconds(123))
+ .SetServerKeepAliveTime(base::Seconds(2))
.SetGroupPolicies(group_policies);
EXPECT_TRUE(builder.Overwrite());
@@ -83,8 +83,8 @@
ASSERT_EQ(urls.size(), 1ul);
EXPECT_EQ(urls[0], GURL("https://www.example.com"));
- EXPECT_EQ(verifier->InitialDelay(), 123);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), 2);
+ EXPECT_EQ(verifier->InitialDelay(), base::Seconds(123));
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), base::Seconds(2));
EXPECT_EQ(verifier->GroupPolicies().size(), 2U);
}
@@ -107,7 +107,7 @@
EXPECT_EQ(urls[1], GURL("https://www.example.com"));
EXPECT_EQ(verifier->InitialDelay(), kInitialDelay);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), kServerKeepAliveSeconds);
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), kServerKeepAliveTime);
EXPECT_EQ(verifier->GroupPolicies().size(), 0U);
}
@@ -117,7 +117,7 @@
.SetUpdateURL(std::vector<std::string>{
"https://www.google.com", "https://www.example.com"})
.SetUseCUP(false)
- .SetInitialDelay(123.4)
+ .SetInitialDelay(base::Seconds(123.4))
.ClearUpdateURL()
.ClearUseCUP()
.ClearInitialDelay()
@@ -135,7 +135,7 @@
EXPECT_EQ(urls[0], GURL(UPDATE_CHECK_URL));
EXPECT_EQ(verifier->InitialDelay(), kInitialDelay);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), kServerKeepAliveSeconds);
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), kServerKeepAliveTime);
EXPECT_EQ(verifier->GroupPolicies().size(), 0U);
}
@@ -147,13 +147,13 @@
ExternalConstantsBuilder()
.SetUpdateURL(std::vector<std::string>{"https://www.google.com"})
.SetUseCUP(true)
- .SetInitialDelay(123.4)
- .SetServerKeepAliveSeconds(2)
+ .SetInitialDelay(base::Seconds(123.4))
+ .SetServerKeepAliveTime(base::Seconds(2))
.SetGroupPolicies(group_policies)
.SetUpdateURL(std::vector<std::string>{"https://www.example.com"})
.SetUseCUP(false)
- .SetInitialDelay(937.6)
- .SetServerKeepAliveSeconds(3)
+ .SetInitialDelay(base::Seconds(937.6))
+ .SetServerKeepAliveTime(base::Seconds(3))
.Overwrite());
// Only the second set of values should be observed.
@@ -166,8 +166,8 @@
ASSERT_EQ(urls.size(), 1ul);
EXPECT_EQ(urls[0], GURL("https://www.example.com"));
- EXPECT_EQ(verifier->InitialDelay(), 937.6);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), 3);
+ EXPECT_EQ(verifier->InitialDelay(), base::Seconds(937.6));
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), base::Seconds(3));
EXPECT_EQ(verifier->GroupPolicies().size(), 1U);
}
@@ -181,8 +181,8 @@
EXPECT_TRUE(
builder.SetUpdateURL(std::vector<std::string>{"https://www.google.com"})
.SetUseCUP(false)
- .SetInitialDelay(123.4)
- .SetServerKeepAliveSeconds(3)
+ .SetInitialDelay(base::Seconds(123.4))
+ .SetServerKeepAliveTime(base::Seconds(3))
.SetUpdateURL(std::vector<std::string>{"https://www.example.com"})
.SetGroupPolicies(group_policies)
.Overwrite());
@@ -197,16 +197,16 @@
ASSERT_EQ(urls.size(), 1ul);
EXPECT_EQ(urls[0], GURL("https://www.example.com"));
- EXPECT_EQ(verifier->InitialDelay(), 123.4);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), 3);
+ EXPECT_EQ(verifier->InitialDelay(), base::Seconds(123.4));
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), base::Seconds(3));
EXPECT_EQ(verifier->GroupPolicies().size(), 2U);
base::Value::Dict group_policies2;
group_policies2.Set("b", 2);
// But now we can use the builder again:
- EXPECT_TRUE(builder.SetInitialDelay(92.3)
- .SetServerKeepAliveSeconds(4)
+ EXPECT_TRUE(builder.SetInitialDelay(base::Seconds(92.3))
+ .SetServerKeepAliveTime(base::Seconds(4))
.ClearUpdateURL()
.SetGroupPolicies(group_policies2)
.Overwrite());
@@ -223,8 +223,8 @@
EXPECT_EQ(urls2[0], GURL(UPDATE_CHECK_URL)); // Cleared; should be default.
EXPECT_EQ(verifier2->InitialDelay(),
- 92.3); // Updated; update should be seen.
- EXPECT_EQ(verifier2->ServerKeepAliveSeconds(), 4);
+ base::Seconds(92.3)); // Updated; update should be seen.
+ EXPECT_EQ(verifier2->ServerKeepAliveTime(), base::Seconds(4));
EXPECT_EQ(verifier2->GroupPolicies().size(), 1U);
}
@@ -238,8 +238,8 @@
EXPECT_TRUE(
builder.SetUpdateURL(std::vector<std::string>{"https://www.google.com"})
.SetUseCUP(false)
- .SetInitialDelay(123.4)
- .SetServerKeepAliveSeconds(3)
+ .SetInitialDelay(base::Seconds(123.4))
+ .SetServerKeepAliveTime(base::Seconds(3))
.SetUpdateURL(std::vector<std::string>{"https://www.example.com"})
.SetGroupPolicies(group_policies)
.Overwrite());
@@ -254,8 +254,8 @@
ASSERT_EQ(urls.size(), 1ul);
EXPECT_EQ(urls[0], GURL("https://www.example.com"));
- EXPECT_EQ(verifier->InitialDelay(), 123.4);
- EXPECT_EQ(verifier->ServerKeepAliveSeconds(), 3);
+ EXPECT_EQ(verifier->InitialDelay(), base::Seconds(123.4));
+ EXPECT_EQ(verifier->ServerKeepAliveTime(), base::Seconds(3));
EXPECT_EQ(verifier->GroupPolicies().size(), 2U);
// Now we use a new builder to modify just the group policies.
@@ -279,8 +279,8 @@
urls = verifier2->UpdateURL();
ASSERT_EQ(urls.size(), 1ul);
EXPECT_EQ(urls[0], GURL("https://www.example.com"));
- EXPECT_EQ(verifier2->InitialDelay(), 123.4);
- EXPECT_EQ(verifier2->ServerKeepAliveSeconds(), 3);
+ EXPECT_EQ(verifier2->InitialDelay(), base::Seconds(123.4));
+ EXPECT_EQ(verifier2->ServerKeepAliveTime(), base::Seconds(3));
}
} // namespace updater
diff --git a/chrome/updater/external_constants_default.cc b/chrome/updater/external_constants_default.cc
index 144215a..b8eba55 100644
--- a/chrome/updater/external_constants_default.cc
+++ b/chrome/updater/external_constants_default.cc
@@ -27,10 +27,10 @@
bool UseCUP() const override { return true; }
- double InitialDelay() const override { return kInitialDelay; }
+ base::TimeDelta InitialDelay() const override { return kInitialDelay; }
- int ServerKeepAliveSeconds() const override {
- return kServerKeepAliveSeconds;
+ base::TimeDelta ServerKeepAliveTime() const override {
+ return kServerKeepAliveTime;
}
crx_file::VerifierFormat CrxVerifierFormat() const override {
diff --git a/chrome/updater/external_constants_override.cc b/chrome/updater/external_constants_override.cc
index f838ce89..a4ae77d 100644
--- a/chrome/updater/external_constants_override.cc
+++ b/chrome/updater/external_constants_override.cc
@@ -94,7 +94,7 @@
return use_cup_value->GetBool();
}
-double ExternalConstantsOverrider::InitialDelay() const {
+base::TimeDelta ExternalConstantsOverrider::InitialDelay() const {
if (!override_values_.contains(kDevOverrideKeyInitialDelay)) {
return next_provider_->InitialDelay();
}
@@ -104,12 +104,12 @@
CHECK(initial_delay_value->is_double())
<< "Unexpected type of override[" << kDevOverrideKeyInitialDelay
<< "]: " << base::Value::GetTypeName(initial_delay_value->type());
- return initial_delay_value->GetDouble();
+ return base::Seconds(initial_delay_value->GetDouble());
}
-int ExternalConstantsOverrider::ServerKeepAliveSeconds() const {
+base::TimeDelta ExternalConstantsOverrider::ServerKeepAliveTime() const {
if (!override_values_.contains(kDevOverrideKeyServerKeepAliveSeconds)) {
- return next_provider_->ServerKeepAliveSeconds();
+ return next_provider_->ServerKeepAliveTime();
}
const base::Value* server_keep_alive_seconds_value =
@@ -118,7 +118,7 @@
<< "Unexpected type of override[" << kDevOverrideKeyServerKeepAliveSeconds
<< "]: "
<< base::Value::GetTypeName(server_keep_alive_seconds_value->type());
- return server_keep_alive_seconds_value->GetInt();
+ return base::Seconds(server_keep_alive_seconds_value->GetInt());
}
crx_file::VerifierFormat ExternalConstantsOverrider::CrxVerifierFormat() const {
diff --git a/chrome/updater/external_constants_override.h b/chrome/updater/external_constants_override.h
index 0a33d21..98867b2 100644
--- a/chrome/updater/external_constants_override.h
+++ b/chrome/updater/external_constants_override.h
@@ -11,6 +11,7 @@
#include "base/containers/flat_map.h"
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "base/values.h"
#include "chrome/updater/external_constants.h"
@@ -19,7 +20,7 @@
namespace base {
class TimeDelta;
class Value;
-}
+} // namespace base
namespace crx_file {
enum class VerifierFormat;
@@ -43,8 +44,8 @@
// Overrides of ExternalConstants:
std::vector<GURL> UpdateURL() const override;
bool UseCUP() const override;
- double InitialDelay() const override;
- int ServerKeepAliveSeconds() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta ServerKeepAliveTime() const override;
crx_file::VerifierFormat CrxVerifierFormat() const override;
base::Value::Dict GroupPolicies() const override;
base::TimeDelta OverinstallTimeout() const override;
diff --git a/chrome/updater/external_constants_override_unittest.cc b/chrome/updater/external_constants_override_unittest.cc
index 423d851..3c53ce81 100644
--- a/chrome/updater/external_constants_override_unittest.cc
+++ b/chrome/updater/external_constants_override_unittest.cc
@@ -6,6 +6,7 @@
#include <vector>
#include "base/memory/scoped_refptr.h"
+#include "base/time/time.h"
#include "base/values.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/external_constants.h"
@@ -31,7 +32,7 @@
EXPECT_TRUE(urls[0].is_valid());
EXPECT_EQ(overrider->InitialDelay(), kInitialDelay);
- EXPECT_EQ(overrider->ServerKeepAliveSeconds(), kServerKeepAliveSeconds);
+ EXPECT_EQ(overrider->ServerKeepAliveTime(), kServerKeepAliveTime);
EXPECT_EQ(overrider->GroupPolicies().size(), 0U);
}
@@ -61,8 +62,8 @@
EXPECT_EQ(urls[1], GURL("https://www.google.com"));
EXPECT_TRUE(urls[1].is_valid());
- EXPECT_EQ(overrider->InitialDelay(), 137.1);
- EXPECT_EQ(overrider->ServerKeepAliveSeconds(), 1);
+ EXPECT_EQ(overrider->InitialDelay(), base::Seconds(137.1));
+ EXPECT_EQ(overrider->ServerKeepAliveTime(), base::Seconds(1));
EXPECT_EQ(overrider->GroupPolicies().size(), 2U);
}
@@ -80,7 +81,7 @@
// Non-overridden items should fall back to defaults
EXPECT_TRUE(overrider->UseCUP());
EXPECT_EQ(overrider->InitialDelay(), kInitialDelay);
- EXPECT_EQ(overrider->ServerKeepAliveSeconds(), kServerKeepAliveSeconds);
+ EXPECT_EQ(overrider->ServerKeepAliveTime(), kServerKeepAliveTime);
EXPECT_EQ(overrider->GroupPolicies().size(), 0U);
}
diff --git a/chrome/updater/policy/dm_policy_manager.cc b/chrome/updater/policy/dm_policy_manager.cc
index 93a9cef..88a47f8 100644
--- a/chrome/updater/policy/dm_policy_manager.cc
+++ b/chrome/updater/policy/dm_policy_manager.cc
@@ -11,6 +11,7 @@
#include "base/enterprise_util.h"
#include "base/notreached.h"
#include "base/strings/string_util.h"
+#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/policy/manager.h"
@@ -73,11 +74,11 @@
return std::string("DeviceManagement");
}
-absl::optional<int> DMPolicyManager::GetLastCheckPeriodMinutes() const {
+absl::optional<base::TimeDelta> DMPolicyManager::GetLastCheckPeriod() const {
if (!omaha_settings_.has_auto_update_check_period_minutes())
return absl::nullopt;
- return static_cast<int>(omaha_settings_.auto_update_check_period_minutes());
+ return base::Minutes(omaha_settings_.auto_update_check_period_minutes());
}
absl::optional<UpdatesSuppressedTimes>
diff --git a/chrome/updater/policy/dm_policy_manager.h b/chrome/updater/policy/dm_policy_manager.h
index 483ee8b..ae3c3bd0 100644
--- a/chrome/updater/policy/dm_policy_manager.h
+++ b/chrome/updater/policy/dm_policy_manager.h
@@ -30,7 +30,7 @@
bool HasActiveDevicePolicies() const override;
- absl::optional<int> GetLastCheckPeriodMinutes() const override;
+ absl::optional<base::TimeDelta> GetLastCheckPeriod() const override;
absl::optional<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes()
const override;
absl::optional<std::string> GetDownloadPreferenceGroupPolicy() const override;
diff --git a/chrome/updater/policy/dm_policy_manager_unittest.cc b/chrome/updater/policy/dm_policy_manager_unittest.cc
index 994beaa..32012fa 100644
--- a/chrome/updater/policy/dm_policy_manager_unittest.cc
+++ b/chrome/updater/policy/dm_policy_manager_unittest.cc
@@ -113,7 +113,7 @@
#endif // BUILDFLAG(IS_LINUX)
EXPECT_EQ(policy_manager->source(), "DeviceManagement");
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetProxyMode(), absl::nullopt);
@@ -166,7 +166,7 @@
#endif // BUILDFLAG(IS_LINUX)
EXPECT_EQ(policy_manager->source(), "DeviceManagement");
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), 111);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), base::Minutes(111));
absl::optional<UpdatesSuppressedTimes> suppressed_times =
policy_manager->GetUpdatesSuppressedTimes();
@@ -229,7 +229,7 @@
EXPECT_EQ(policy_manager->HasActiveDevicePolicies(), base::IsManagedDevice());
EXPECT_EQ(policy_manager->source(), "DeviceManagement");
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetProxyMode(), absl::nullopt);
diff --git a/chrome/updater/policy/mac/managed_preference_policy_manager.mm b/chrome/updater/policy/mac/managed_preference_policy_manager.mm
index afaf71c..2b5baea0 100644
--- a/chrome/updater/policy/mac/managed_preference_policy_manager.mm
+++ b/chrome/updater/policy/mac/managed_preference_policy_manager.mm
@@ -10,6 +10,7 @@
#include "base/mac/scoped_cftyperef.h"
#include "base/mac/scoped_nsobject.h"
#include "base/strings/sys_string_conversions.h"
+#include "base/time/time.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/policy/mac/managed_preference_policy_manager_impl.h"
#include "chrome/updater/policy/manager.h"
@@ -33,7 +34,7 @@
bool HasActiveDevicePolicies() const override;
- absl::optional<int> GetLastCheckPeriodMinutes() const override;
+ absl::optional<base::TimeDelta> GetLastCheckPeriod() const override;
absl::optional<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes()
const override;
absl::optional<std::string> GetDownloadPreferenceGroupPolicy() const override;
@@ -73,11 +74,12 @@
return base::SysNSStringToUTF8([impl_ source]);
}
-absl::optional<int> ManagedPreferencePolicyManager::GetLastCheckPeriodMinutes()
- const {
+absl::optional<base::TimeDelta>
+ManagedPreferencePolicyManager::GetLastCheckPeriod() const {
int minutes = [impl_ lastCheckPeriodMinutes];
- return minutes != kPolicyNotSet ? absl::optional<int>(minutes)
- : absl::nullopt;
+ return minutes != kPolicyNotSet
+ ? absl::optional<base::TimeDelta>(base::Minutes(minutes))
+ : absl::nullopt;
}
absl::optional<UpdatesSuppressedTimes>
diff --git a/chrome/updater/policy/manager.cc b/chrome/updater/policy/manager.cc
index f3fc379..c7057e2 100644
--- a/chrome/updater/policy/manager.cc
+++ b/chrome/updater/policy/manager.cc
@@ -63,7 +63,7 @@
bool HasActiveDevicePolicies() const override;
- absl::optional<int> GetLastCheckPeriodMinutes() const override;
+ absl::optional<base::TimeDelta> GetLastCheckPeriod() const override;
absl::optional<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes()
const override;
absl::optional<std::string> GetDownloadPreferenceGroupPolicy() const override;
@@ -97,9 +97,9 @@
return std::string("default");
}
-absl::optional<int> DefaultValuesPolicyManager::GetLastCheckPeriodMinutes()
+absl::optional<base::TimeDelta> DefaultValuesPolicyManager::GetLastCheckPeriod()
const {
- return kDefaultLastCheckPeriod.InMinutes();
+ return kDefaultLastCheckPeriod;
}
absl::optional<UpdatesSuppressedTimes>
diff --git a/chrome/updater/policy/manager.h b/chrome/updater/policy/manager.h
index 59fa1c8..32b5d31 100644
--- a/chrome/updater/policy/manager.h
+++ b/chrome/updater/policy/manager.h
@@ -9,6 +9,7 @@
#include <string>
#include <vector>
+#include "base/time/time.h"
#include "chrome/updater/constants.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -55,9 +56,9 @@
virtual bool HasActiveDevicePolicies() const = 0;
// Returns the policy for how often the Updater should check for updates.
- // Returns the time interval between update checks in minutes.
+ // Returns the time interval between update checks.
// 0 indicates updates are disabled.
- virtual absl::optional<int> GetLastCheckPeriodMinutes() const = 0;
+ virtual absl::optional<base::TimeDelta> GetLastCheckPeriod() const = 0;
// For domain-joined machines, checks the current time against the times that
// updates are suppressed.
diff --git a/chrome/updater/policy/policy_manager.cc b/chrome/updater/policy/policy_manager.cc
index 73c38b4e..baa8f43 100644
--- a/chrome/updater/policy/policy_manager.cc
+++ b/chrome/updater/policy/policy_manager.cc
@@ -88,8 +88,12 @@
return std::string("DictValuePolicy");
}
-absl::optional<int> PolicyManager::GetLastCheckPeriodMinutes() const {
- return policies_.FindInt(kAutoUpdateCheckPeriodOverrideMinutes);
+absl::optional<base::TimeDelta> PolicyManager::GetLastCheckPeriod() const {
+ absl::optional<int> minutes =
+ policies_.FindInt(kAutoUpdateCheckPeriodOverrideMinutes);
+ if (!minutes)
+ return absl::nullopt;
+ return base::Minutes(*minutes);
}
absl::optional<UpdatesSuppressedTimes>
diff --git a/chrome/updater/policy/policy_manager.h b/chrome/updater/policy/policy_manager.h
index b759d375..5073aa9 100644
--- a/chrome/updater/policy/policy_manager.h
+++ b/chrome/updater/policy/policy_manager.h
@@ -30,7 +30,7 @@
bool HasActiveDevicePolicies() const override;
- absl::optional<int> GetLastCheckPeriodMinutes() const override;
+ absl::optional<base::TimeDelta> GetLastCheckPeriod() const override;
absl::optional<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes()
const override;
absl::optional<std::string> GetDownloadPreferenceGroupPolicy() const override;
diff --git a/chrome/updater/policy/policy_manager_unittest.cc b/chrome/updater/policy/policy_manager_unittest.cc
index 2c61be2..8a2f646 100644
--- a/chrome/updater/policy/policy_manager_unittest.cc
+++ b/chrome/updater/policy/policy_manager_unittest.cc
@@ -27,7 +27,7 @@
EXPECT_EQ(policy_manager->source(), "DictValuePolicy");
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetPackageCacheSizeLimitMBytes(), absl::nullopt);
@@ -85,7 +85,7 @@
EXPECT_TRUE(policy_manager->HasActiveDevicePolicies());
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), 480);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), base::Minutes(480));
absl::optional<UpdatesSuppressedTimes> suppressed_times =
policy_manager->GetUpdatesSuppressedTimes();
@@ -163,7 +163,7 @@
EXPECT_TRUE(policy_manager->HasActiveDevicePolicies());
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetPackageCacheSizeLimitMBytes(), absl::nullopt);
diff --git a/chrome/updater/policy/service.cc b/chrome/updater/policy/service.cc
index ce7a1c8a..f598a95 100644
--- a/chrome/updater/policy/service.cc
+++ b/chrome/updater/policy/service.cc
@@ -18,6 +18,7 @@
#include "base/ranges/algorithm.h"
#include "base/sequence_checker.h"
#include "base/strings/string_util.h"
+#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/external_constants.h"
@@ -129,10 +130,10 @@
return base::JoinString(sources, ";");
}
-PolicyStatus<int> PolicyService::GetLastCheckPeriodMinutes() const {
+PolicyStatus<base::TimeDelta> PolicyService::GetLastCheckPeriod() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return QueryPolicy(
- base::BindRepeating(&PolicyManagerInterface::GetLastCheckPeriodMinutes));
+ base::BindRepeating(&PolicyManagerInterface::GetLastCheckPeriod));
}
PolicyStatus<UpdatesSuppressedTimes> PolicyService::GetUpdatesSuppressedTimes()
@@ -228,6 +229,16 @@
base::BindRepeating(&PolicyManagerInterface::GetForceInstallApps));
}
+PolicyStatus<int> PolicyService::DeprecatedGetLastCheckPeriodMinutes() const {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ return QueryPolicy(
+ base::BindRepeating(&PolicyManagerInterface::GetLastCheckPeriod)
+ .Then(base::BindRepeating([](absl::optional<base::TimeDelta> period) {
+ return period ? absl::optional<int>(period->InMinutes())
+ : absl::nullopt;
+ })));
+}
+
template <typename T>
PolicyStatus<T> PolicyService::QueryPolicy(
const base::RepeatingCallback<absl::optional<T>(
diff --git a/chrome/updater/policy/service.h b/chrome/updater/policy/service.h
index f9c38bd..6fc8189 100644
--- a/chrome/updater/policy/service.h
+++ b/chrome/updater/policy/service.h
@@ -13,6 +13,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_refptr.h"
#include "base/sequence_checker.h"
+#include "base/time/time.h"
#include "chrome/updater/external_constants.h"
#include "chrome/updater/policy/manager.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -95,7 +96,7 @@
std::string source() const;
- PolicyStatus<int> GetLastCheckPeriodMinutes() const;
+ PolicyStatus<base::TimeDelta> GetLastCheckPeriod() const;
PolicyStatus<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes() const;
PolicyStatus<std::string> GetDownloadPreferenceGroupPolicy() const;
PolicyStatus<int> GetPackageCacheSizeLimitMBytes() const;
@@ -112,6 +113,10 @@
PolicyStatus<std::string> GetProxyServer() const;
PolicyStatus<std::vector<std::string>> GetForceInstallApps() const;
+ // DEPRECATED: Prefer |GetLastCheckPeriod|. This function should only be used
+ // in legacy interfaces where a PolicyStatus<int> is required.
+ PolicyStatus<int> DeprecatedGetLastCheckPeriodMinutes() const;
+
protected:
virtual ~PolicyService();
diff --git a/chrome/updater/policy/service_unittest.cc b/chrome/updater/policy/service_unittest.cc
index 4271e66..d6db71e 100644
--- a/chrome/updater/policy/service_unittest.cc
+++ b/chrome/updater/policy/service_unittest.cc
@@ -8,6 +8,7 @@
#include <vector>
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "chrome/updater/policy/manager.h"
#include "chrome/updater/policy/service.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -27,7 +28,7 @@
bool HasActiveDevicePolicies() const override {
return has_active_device_policies_;
}
- absl::optional<int> GetLastCheckPeriodMinutes() const override {
+ absl::optional<base::TimeDelta> GetLastCheckPeriod() const override {
return absl::nullopt;
}
absl::optional<UpdatesSuppressedTimes> GetUpdatesSuppressedTimes()
@@ -123,9 +124,10 @@
policy_service->GetTargetVersionPrefix("");
EXPECT_FALSE(version_prefix);
- PolicyStatus<int> last_check = policy_service->GetLastCheckPeriodMinutes();
+ PolicyStatus<base::TimeDelta> last_check =
+ policy_service->GetLastCheckPeriod();
ASSERT_TRUE(last_check);
- EXPECT_EQ(last_check.policy(), 270);
+ EXPECT_EQ(last_check.policy(), base::Minutes(270));
PolicyStatus<int> app_installs =
policy_service->GetPolicyForAppInstalls("test1");
diff --git a/chrome/updater/policy/win/group_policy_manager_unittest.cc b/chrome/updater/policy/win/group_policy_manager_unittest.cc
index b537853e2..cfe4174 100644
--- a/chrome/updater/policy/win/group_policy_manager_unittest.cc
+++ b/chrome/updater/policy/win/group_policy_manager_unittest.cc
@@ -9,6 +9,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/test/test_reg_util_win.h"
+#include "base/time/time.h"
#include "base/win/registry.h"
#include "base/win/win_util.h"
#include "chrome/updater/util/win_util.h"
@@ -53,7 +54,7 @@
EXPECT_EQ(policy_manager->source(), "GroupPolicy");
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetPackageCacheSizeLimitMBytes(), absl::nullopt);
@@ -122,7 +123,7 @@
EXPECT_EQ(policy_manager->HasActiveDevicePolicies(),
base::win::IsEnrolledToDomain());
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), 480);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), base::Minutes(480));
absl::optional<UpdatesSuppressedTimes> suppressed_times =
policy_manager->GetUpdatesSuppressedTimes();
@@ -192,7 +193,7 @@
std::unique_ptr<PolicyManagerInterface> policy_manager =
std::make_unique<GroupPolicyManager>();
- EXPECT_EQ(policy_manager->GetLastCheckPeriodMinutes(), absl::nullopt);
+ EXPECT_EQ(policy_manager->GetLastCheckPeriod(), absl::nullopt);
EXPECT_EQ(policy_manager->GetUpdatesSuppressedTimes(), absl::nullopt);
EXPECT_EQ(policy_manager->GetDownloadPreferenceGroupPolicy(), absl::nullopt);
EXPECT_EQ(policy_manager->GetPackageCacheSizeLimitMBytes(), absl::nullopt);
diff --git a/chrome/updater/test/integration_tests_linux.cc b/chrome/updater/test/integration_tests_linux.cc
index 0c8f390..6e9f2db 100644
--- a/chrome/updater/test/integration_tests_linux.cc
+++ b/chrome/updater/test/integration_tests_linux.cc
@@ -136,8 +136,8 @@
ASSERT_TRUE(ExternalConstantsBuilder()
.SetUpdateURL({url.spec()})
.SetUseCUP(false)
- .SetInitialDelay(0.1)
- .SetServerKeepAliveSeconds(1)
+ .SetInitialDelay(base::Milliseconds(100))
+ .SetServerKeepAliveTime(base::Seconds(1))
.SetCrxVerifierFormat(crx_file::VerifierFormat::CRX3)
.SetOverinstallTimeout(TestTimeouts::action_timeout())
.Modify());
diff --git a/chrome/updater/test/integration_tests_mac.mm b/chrome/updater/test/integration_tests_mac.mm
index e8fed4d..a8d8a1a 100644
--- a/chrome/updater/test/integration_tests_mac.mm
+++ b/chrome/updater/test/integration_tests_mac.mm
@@ -118,8 +118,8 @@
ASSERT_TRUE(ExternalConstantsBuilder()
.SetUpdateURL(std::vector<std::string>{url.spec()})
.SetUseCUP(false)
- .SetInitialDelay(0.1)
- .SetServerKeepAliveSeconds(1)
+ .SetInitialDelay(base::Milliseconds(100))
+ .SetServerKeepAliveTime(base::Seconds(1))
.SetCrxVerifierFormat(crx_file::VerifierFormat::CRX3)
.SetOverinstallTimeout(TestTimeouts::action_timeout())
.Modify());
diff --git a/chrome/updater/test/integration_tests_win.cc b/chrome/updater/test/integration_tests_win.cc
index 87f63d6..ce9df3e 100644
--- a/chrome/updater/test/integration_tests_win.cc
+++ b/chrome/updater/test/integration_tests_win.cc
@@ -634,7 +634,7 @@
ASSERT_TRUE(ExternalConstantsBuilder()
.SetUpdateURL(std::vector<std::string>{url.spec()})
.SetUseCUP(false)
- .SetInitialDelay(0.1)
+ .SetInitialDelay(base::Milliseconds(100))
.SetCrxVerifierFormat(crx_file::VerifierFormat::CRX3)
.SetOverinstallTimeout(base::Seconds(11))
.Modify());
diff --git a/components/component_updater/component_updater_command_line_config_policy.cc b/components/component_updater/component_updater_command_line_config_policy.cc
index 296650d..0c73487 100644
--- a/components/component_updater/component_updater_command_line_config_policy.cc
+++ b/components/component_updater/component_updater_command_line_config_policy.cc
@@ -99,7 +99,7 @@
GetSwitchArgument(switch_values, kInitialDelay);
double initial_delay_seconds = 0;
if (base::StringToDouble(initial_delay, &initial_delay_seconds))
- initial_delay_ = initial_delay_seconds;
+ initial_delay_ = base::Seconds(initial_delay_seconds);
}
bool ComponentUpdaterCommandLineConfigPolicy::BackgroundDownloadsEnabled()
@@ -127,7 +127,7 @@
return url_source_override_;
}
-double ComponentUpdaterCommandLineConfigPolicy::InitialDelay() const {
+base::TimeDelta ComponentUpdaterCommandLineConfigPolicy::InitialDelay() const {
return initial_delay_;
}
diff --git a/components/component_updater/component_updater_command_line_config_policy.h b/components/component_updater/component_updater_command_line_config_policy.h
index 5a080ea..6c16b4e37a 100644
--- a/components/component_updater/component_updater_command_line_config_policy.h
+++ b/components/component_updater/component_updater_command_line_config_policy.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_COMMAND_LINE_CONFIG_POLICY_H_
#define COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_COMMAND_LINE_CONFIG_POLICY_H_
+#include "base/time/time.h"
#include "components/update_client/command_line_config_policy.h"
#include "url/gurl.h"
@@ -35,7 +36,7 @@
bool PingsEnabled() const override;
bool TestRequest() const override;
GURL UrlSourceOverride() const override;
- double InitialDelay() const override;
+ base::TimeDelta InitialDelay() const override;
private:
bool background_downloads_enabled_ = false;
@@ -44,9 +45,8 @@
bool pings_enabled_ = true;
bool test_request_ = false;
- // If non-zero, time interval in seconds until the first component
- // update check.
- double initial_delay_ = 0;
+ // If non-zero, time interval until the first component update check.
+ base::TimeDelta initial_delay_ = base::Seconds(0);
GURL url_source_override_;
};
diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc
index ac782a3..eaeeadd 100644
--- a/components/component_updater/component_updater_service.cc
+++ b/components/component_updater/component_updater_service.cc
@@ -150,8 +150,7 @@
<< config_->NextCheckDelay() << " seconds. ";
scheduler_->Schedule(
- base::Seconds(config_->InitialDelay()),
- base::Seconds(config_->NextCheckDelay()),
+ config_->InitialDelay(), config_->NextCheckDelay(),
base::BindRepeating(
base::IgnoreResult(&CrxUpdateService::CheckForUpdates),
base::Unretained(this)),
@@ -342,7 +341,7 @@
if (component_state && !component_state->last_check.is_null()) {
base::TimeDelta delta =
base::TimeTicks::Now() - component_state->last_check;
- if (delta < base::Seconds(config_->OnDemandDelay()))
+ if (delta < config_->OnDemandDelay())
return false;
}
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
index 648c533..6e03a7d 100644
--- a/components/component_updater/configurator_impl.cc
+++ b/components/component_updater/configurator_impl.cc
@@ -14,6 +14,7 @@
#include "base/feature_list.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
+#include "base/time/time.h"
#include "base/version.h"
#include "build/build_config.h"
#include "components/component_updater/component_updater_switches.h"
@@ -31,14 +32,6 @@
namespace component_updater {
-namespace {
-
-// Default time constants.
-const int kDelayOneMinute = 60;
-const int kDelayOneHour = kDelayOneMinute * 60;
-
-} // namespace
-
ConfiguratorImpl::ConfiguratorImpl(
const update_client::CommandLineConfigPolicy& config_policy,
bool require_encryption)
@@ -57,22 +50,22 @@
ConfiguratorImpl::~ConfiguratorImpl() = default;
-double ConfiguratorImpl::InitialDelay() const {
- if (initial_delay_)
+base::TimeDelta ConfiguratorImpl::InitialDelay() const {
+ if (!initial_delay_.is_zero())
return initial_delay_;
- return fast_update_ ? 10 : kDelayOneMinute;
+ return fast_update_ ? base::Seconds(10) : base::Minutes(1);
}
-int ConfiguratorImpl::NextCheckDelay() const {
- return 5 * kDelayOneHour;
+base::TimeDelta ConfiguratorImpl::NextCheckDelay() const {
+ return base::Hours(5);
}
-int ConfiguratorImpl::OnDemandDelay() const {
- return fast_update_ ? 2 : (30 * kDelayOneMinute);
+base::TimeDelta ConfiguratorImpl::OnDemandDelay() const {
+ return fast_update_ ? base::Seconds(2) : base::Minutes(30);
}
-int ConfiguratorImpl::UpdateDelay() const {
- return fast_update_ ? 10 : (15 * kDelayOneMinute);
+base::TimeDelta ConfiguratorImpl::UpdateDelay() const {
+ return fast_update_ ? base::Seconds(10) : base::Minutes(15);
}
std::vector<GURL> ConfiguratorImpl::UpdateUrl() const {
diff --git a/components/component_updater/configurator_impl.h b/components/component_updater/configurator_impl.h
index 0dbfd96..9a31551 100644
--- a/components/component_updater/configurator_impl.h
+++ b/components/component_updater/configurator_impl.h
@@ -10,6 +10,7 @@
#include <vector>
#include "base/containers/flat_map.h"
+#include "base/time/time.h"
#include "components/update_client/configurator.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "url/gurl.h"
@@ -21,7 +22,7 @@
namespace update_client {
class CommandLineConfigPolicy;
class ProtocolHandlerFactory;
-}
+} // namespace update_client
namespace component_updater {
@@ -37,19 +38,18 @@
~ConfiguratorImpl();
- // Delay in seconds from calling Start() to the first update check.
- double InitialDelay() const;
+ // Delay from calling Start() to the first update check.
+ base::TimeDelta InitialDelay() const;
- // Delay in seconds to every subsequent update check. 0 means don't check.
- int NextCheckDelay() const;
+ // Delay to every subsequent update check. 0 means don't check.
+ base::TimeDelta NextCheckDelay() const;
- // Minimum delta time in seconds before an on-demand check is allowed for the
- // same component.
- int OnDemandDelay() const;
+ // Minimum delta time before an on-demand check is allowed for the same
+ // component.
+ base::TimeDelta OnDemandDelay() const;
- // The time delay in seconds between applying updates for different
- // components.
- int UpdateDelay() const;
+ // The time delay between applying updates for different components.
+ base::TimeDelta UpdateDelay() const;
// The URLs for the update checks. The URLs are tried in order, the first one
// that succeeds wins.
@@ -107,7 +107,7 @@
const bool pings_enabled_;
const bool require_encryption_;
const GURL url_source_override_;
- const double initial_delay_;
+ const base::TimeDelta initial_delay_;
};
} // namespace component_updater
diff --git a/components/component_updater/configurator_impl_unittest.cc b/components/component_updater/configurator_impl_unittest.cc
index 58145277..ad6a5b6 100644
--- a/components/component_updater/configurator_impl_unittest.cc
+++ b/components/component_updater/configurator_impl_unittest.cc
@@ -6,6 +6,7 @@
#include "base/command_line.h"
#include "base/test/scoped_command_line.h"
+#include "base/time/time.h"
#include "components/component_updater/component_updater_command_line_config_policy.h"
#include "components/component_updater/component_updater_switches.h"
#include "components/component_updater/configurator_impl.h"
@@ -14,13 +15,6 @@
namespace component_updater {
-namespace {
-
-const int kDelayOneMinute = 60;
-const int kDelayOneHour = kDelayOneMinute * 60;
-
-} // namespace
-
class ComponentUpdaterConfiguratorImplTest : public testing::Test {
public:
ComponentUpdaterConfiguratorImplTest() = default;
@@ -38,19 +32,19 @@
base::CommandLine cmdline(base::CommandLine::NO_PROGRAM);
std::unique_ptr<ConfiguratorImpl> config = std::make_unique<ConfiguratorImpl>(
ComponentUpdaterCommandLineConfigPolicy(&cmdline), false);
- CHECK_EQ(kDelayOneMinute, config->InitialDelay());
- CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
- CHECK_EQ(30 * kDelayOneMinute, config->OnDemandDelay());
- CHECK_EQ(15 * kDelayOneMinute, config->UpdateDelay());
+ CHECK_EQ(base::Minutes(1), config->InitialDelay());
+ CHECK_EQ(base::Hours(5), config->NextCheckDelay());
+ CHECK_EQ(base::Minutes(30), config->OnDemandDelay());
+ CHECK_EQ(base::Minutes(15), config->UpdateDelay());
// Test the fast-update timings.
cmdline.AppendSwitchASCII("--component-updater", "fast-update");
config = std::make_unique<ConfiguratorImpl>(
ComponentUpdaterCommandLineConfigPolicy(&cmdline), false);
- CHECK_EQ(10, config->InitialDelay());
- CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
- CHECK_EQ(2, config->OnDemandDelay());
- CHECK_EQ(10, config->UpdateDelay());
+ CHECK_EQ(base::Seconds(10), config->InitialDelay());
+ CHECK_EQ(base::Hours(5), config->NextCheckDelay());
+ CHECK_EQ(base::Seconds(2), config->OnDemandDelay());
+ CHECK_EQ(base::Seconds(10), config->UpdateDelay());
}
TEST_F(ComponentUpdaterConfiguratorImplTest, FastUpdateWithCustomPolicy) {
@@ -72,10 +66,10 @@
std::unique_ptr<ConfiguratorImpl> config = std::make_unique<ConfiguratorImpl>(
DefaultCommandLineConfigPolicy(), false);
- CHECK_EQ(kDelayOneMinute, config->InitialDelay());
- CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
- CHECK_EQ(30 * kDelayOneMinute, config->OnDemandDelay());
- CHECK_EQ(15 * kDelayOneMinute, config->UpdateDelay());
+ CHECK_EQ(base::Minutes(1), config->InitialDelay());
+ CHECK_EQ(base::Hours(5), config->NextCheckDelay());
+ CHECK_EQ(base::Minutes(30), config->OnDemandDelay());
+ CHECK_EQ(base::Minutes(15), config->UpdateDelay());
// Test the fast-update timings.
class FastUpdateCommandLineConfigurator
@@ -87,16 +81,16 @@
};
config = std::make_unique<ConfiguratorImpl>(
FastUpdateCommandLineConfigurator(), false);
- CHECK_EQ(10, config->InitialDelay());
- CHECK_EQ(5 * kDelayOneHour, config->NextCheckDelay());
- CHECK_EQ(2, config->OnDemandDelay());
- CHECK_EQ(10, config->UpdateDelay());
+ CHECK_EQ(base::Seconds(10), config->InitialDelay());
+ CHECK_EQ(base::Hours(5), config->NextCheckDelay());
+ CHECK_EQ(base::Seconds(2), config->OnDemandDelay());
+ CHECK_EQ(base::Seconds(10), config->UpdateDelay());
}
TEST_F(ComponentUpdaterConfiguratorImplTest, InitialDelay) {
std::unique_ptr<ConfiguratorImpl> config = std::make_unique<ConfiguratorImpl>(
update_client::CommandLineConfigPolicy(), false);
- CHECK_EQ(kDelayOneMinute, config->InitialDelay());
+ CHECK_EQ(base::Minutes(1), config->InitialDelay());
class CommandLineConfigPolicy
: public update_client::CommandLineConfigPolicy {
@@ -110,15 +104,15 @@
bool PingsEnabled() const override { return false; }
bool TestRequest() const override { return false; }
GURL UrlSourceOverride() const override { return GURL(); }
- double InitialDelay() const override { return initial_delay_; }
+ base::TimeDelta InitialDelay() const override { return initial_delay_; }
void set_fast_update(bool fast_update) { fast_update_ = fast_update; }
- void set_initial_delay(double initial_delay) {
+ void set_initial_delay(base::TimeDelta initial_delay) {
initial_delay_ = initial_delay;
}
private:
- double initial_delay_ = 0;
+ base::TimeDelta initial_delay_ = base::Seconds(0);
bool fast_update_ = false;
};
@@ -126,21 +120,21 @@
CommandLineConfigPolicy clcp;
clcp.set_fast_update(true);
config = std::make_unique<ConfiguratorImpl>(clcp, false);
- CHECK_EQ(10, config->InitialDelay());
+ CHECK_EQ(base::Seconds(10), config->InitialDelay());
}
{
CommandLineConfigPolicy clcp;
clcp.set_fast_update(false);
config = std::make_unique<ConfiguratorImpl>(clcp, false);
- CHECK_EQ(kDelayOneMinute, config->InitialDelay());
+ CHECK_EQ(base::Minutes(1), config->InitialDelay());
}
{
CommandLineConfigPolicy clcp;
- clcp.set_initial_delay(2 * kDelayOneMinute);
+ clcp.set_initial_delay(base::Minutes(2));
config = std::make_unique<ConfiguratorImpl>(clcp, false);
- CHECK_EQ(2 * kDelayOneMinute, config->InitialDelay());
+ CHECK_EQ(base::Minutes(2), config->InitialDelay());
}
{
@@ -151,7 +145,7 @@
"initial-delay=3.14");
config = std::make_unique<ConfiguratorImpl>(
ComponentUpdaterCommandLineConfigPolicy(command_line), false);
- CHECK_EQ(3.14, config->InitialDelay());
+ CHECK_EQ(base::Seconds(3.14), config->InitialDelay());
}
}
@@ -168,7 +162,7 @@
bool PingsEnabled() const override { return false; }
bool TestRequest() const override { return test_request_; }
GURL UrlSourceOverride() const override { return GURL(); }
- double InitialDelay() const override { return 0; }
+ base::TimeDelta InitialDelay() const override { return base::Seconds(0); }
void set_test_request(bool test_request) { test_request_ = test_request; }
diff --git a/components/update_client/command_line_config_policy.cc b/components/update_client/command_line_config_policy.cc
index 8eaafe35..f418ff2 100644
--- a/components/update_client/command_line_config_policy.cc
+++ b/components/update_client/command_line_config_policy.cc
@@ -4,6 +4,7 @@
#include "components/update_client/command_line_config_policy.h"
+#include "base/time/time.h"
#include "build/build_config.h"
#include "url/gurl.h"
@@ -37,8 +38,8 @@
return GURL();
}
-double CommandLineConfigPolicy::InitialDelay() const {
- return 0;
+base::TimeDelta CommandLineConfigPolicy::InitialDelay() const {
+ return base::Seconds(0);
}
} // namespace update_client
diff --git a/components/update_client/command_line_config_policy.h b/components/update_client/command_line_config_policy.h
index 6f096e8..c20cd3d 100644
--- a/components/update_client/command_line_config_policy.h
+++ b/components/update_client/command_line_config_policy.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_UPDATE_CLIENT_COMMAND_LINE_CONFIG_POLICY_H_
#define COMPONENTS_UPDATE_CLIENT_COMMAND_LINE_CONFIG_POLICY_H_
+#include "base/time/time.h"
class GURL;
namespace update_client {
@@ -32,9 +33,8 @@
// The override URL for updates. Can be empty.
virtual GURL UrlSourceOverride() const;
- // If non-zero, time interval in seconds until the first component
- // update check.
- virtual double InitialDelay() const;
+ // If non-zero, time interval until the first component update check.
+ virtual base::TimeDelta InitialDelay() const;
virtual ~CommandLineConfigPolicy() = default;
};
diff --git a/components/update_client/component.cc b/components/update_client/component.cc
index e1785f6..77d2dbf 100644
--- a/components/update_client/component.cc
+++ b/components/update_client/component.cc
@@ -646,7 +646,7 @@
const base::TimeDelta update_cost(base::TimeTicks::Now() - update_begin_);
DCHECK_GE(update_cost, base::TimeDelta());
const base::TimeDelta max_update_delay =
- base::Seconds(update_context_->config->UpdateDelay());
+ update_context_->config->UpdateDelay();
return std::min(update_cost, max_update_delay);
}
diff --git a/components/update_client/configurator.h b/components/update_client/configurator.h
index 438fd33b..becd2a9 100644
--- a/components/update_client/configurator.h
+++ b/components/update_client/configurator.h
@@ -14,6 +14,7 @@
#include "base/containers/flat_map.h"
#include "base/files/file_path.h"
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "components/update_client/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -43,19 +44,19 @@
// behavior of the component updater.
class Configurator : public base::RefCountedThreadSafe<Configurator> {
public:
- // Delay in seconds from calling Start() to the first update check.
- virtual double InitialDelay() const = 0;
+ // Delay from calling Start() to the first update check.
+ virtual base::TimeDelta InitialDelay() const = 0;
- // Delay in seconds to every subsequent update check. 0 means don't check.
- virtual int NextCheckDelay() const = 0;
+ // Delay to every subsequent update check. 0 means don't check.
+ virtual base::TimeDelta NextCheckDelay() const = 0;
- // Minimum delta time in seconds before an on-demand check is allowed
+ // Minimum delta time before an on-demand check is allowed
// for the same component.
- virtual int OnDemandDelay() const = 0;
+ virtual base::TimeDelta OnDemandDelay() const = 0;
- // The time delay in seconds between applying updates for different
+ // The time delay between applying updates for different
// components.
- virtual int UpdateDelay() const = 0;
+ virtual base::TimeDelta UpdateDelay() const = 0;
// The URLs for the update checks. The URLs are tried in order, the first one
// that succeeds wins. Since some components cannot be updated over HTTP,
diff --git a/components/update_client/test_configurator.cc b/components/update_client/test_configurator.cc
index f453249..6b15c57c 100644
--- a/components/update_client/test_configurator.cc
+++ b/components/update_client/test_configurator.cc
@@ -14,6 +14,7 @@
#include "base/files/scoped_temp_dir.h"
#include "base/path_service.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/time.h"
#include "base/version.h"
#include "components/prefs/pref_service.h"
#include "components/services/patch/in_process_file_patcher.h"
@@ -65,20 +66,20 @@
TestConfigurator::~TestConfigurator() = default;
-double TestConfigurator::InitialDelay() const {
+base::TimeDelta TestConfigurator::InitialDelay() const {
return initial_time_;
}
-int TestConfigurator::NextCheckDelay() const {
- return 1;
+base::TimeDelta TestConfigurator::NextCheckDelay() const {
+ return base::Seconds(1);
}
-int TestConfigurator::OnDemandDelay() const {
+base::TimeDelta TestConfigurator::OnDemandDelay() const {
return ondemand_time_;
}
-int TestConfigurator::UpdateDelay() const {
- return 1;
+base::TimeDelta TestConfigurator::UpdateDelay() const {
+ return base::Seconds(1);
}
std::vector<GURL> TestConfigurator::UpdateUrl() const {
@@ -190,12 +191,12 @@
}
#endif
-void TestConfigurator::SetOnDemandTime(int seconds) {
- ondemand_time_ = seconds;
+void TestConfigurator::SetOnDemandTime(base::TimeDelta time) {
+ ondemand_time_ = time;
}
-void TestConfigurator::SetInitialDelay(double seconds) {
- initial_time_ = seconds;
+void TestConfigurator::SetInitialDelay(base::TimeDelta delay) {
+ initial_time_ = delay;
}
void TestConfigurator::SetEnabledCupSigning(bool enabled_cup_signing) {
diff --git a/components/update_client/test_configurator.h b/components/update_client/test_configurator.h
index 8147483..eb37ff8c 100644
--- a/components/update_client/test_configurator.h
+++ b/components/update_client/test_configurator.h
@@ -16,6 +16,7 @@
#include "base/files/scoped_temp_dir.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
+#include "base/time/time.h"
#include "components/update_client/buildflags.h"
#include "components/update_client/configurator.h"
#include "services/network/test/test_url_loader_factory.h"
@@ -78,10 +79,10 @@
TestConfigurator& operator=(const TestConfigurator&) = delete;
// Overrides for Configurator.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
@@ -109,8 +110,8 @@
absl::optional<base::FilePath> GetCrxCachePath() const override;
#endif
- void SetOnDemandTime(int seconds);
- void SetInitialDelay(double seconds);
+ void SetOnDemandTime(base::TimeDelta seconds);
+ void SetInitialDelay(base::TimeDelta seconds);
void SetDownloadPreference(const std::string& download_preference);
void SetEnabledCupSigning(bool use_cup_signing);
void SetUpdateCheckUrl(const GURL& url);
@@ -131,8 +132,8 @@
class TestPatchService;
- double initial_time_{0};
- int ondemand_time_{0};
+ base::TimeDelta initial_time_ = base::Seconds(0);
+ base::TimeDelta ondemand_time_ = base::Seconds(0);
std::string download_preference_;
bool enabled_cup_signing_;
raw_ptr<PrefService> pref_service_; // Not owned by this class.
diff --git a/ios/chrome/browser/component_updater/ios_component_updater_configurator.mm b/ios/chrome/browser/component_updater/ios_component_updater_configurator.mm
index dc7a331..52a0975 100644
--- a/ios/chrome/browser/component_updater/ios_component_updater_configurator.mm
+++ b/ios/chrome/browser/component_updater/ios_component_updater_configurator.mm
@@ -43,10 +43,10 @@
explicit IOSConfigurator(const base::CommandLine* cmdline);
// update_client::Configurator overrides.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
@@ -92,19 +92,19 @@
: configurator_impl_(ComponentUpdaterCommandLineConfigPolicy(cmdline),
false) {}
-double IOSConfigurator::InitialDelay() const {
+base::TimeDelta IOSConfigurator::InitialDelay() const {
return configurator_impl_.InitialDelay();
}
-int IOSConfigurator::NextCheckDelay() const {
+base::TimeDelta IOSConfigurator::NextCheckDelay() const {
return configurator_impl_.NextCheckDelay();
}
-int IOSConfigurator::OnDemandDelay() const {
+base::TimeDelta IOSConfigurator::OnDemandDelay() const {
return configurator_impl_.OnDemandDelay();
}
-int IOSConfigurator::UpdateDelay() const {
+base::TimeDelta IOSConfigurator::UpdateDelay() const {
return configurator_impl_.UpdateDelay();
}
diff --git a/ios/web_view/internal/component_updater/web_view_component_updater_configurator.mm b/ios/web_view/internal/component_updater/web_view_component_updater_configurator.mm
index d5fdf58..2e625d1 100644
--- a/ios/web_view/internal/component_updater/web_view_component_updater_configurator.mm
+++ b/ios/web_view/internal/component_updater/web_view_component_updater_configurator.mm
@@ -3,31 +3,32 @@
// found in the LICENSE file.
#import "ios/web_view/internal/component_updater/web_view_component_updater_configurator.h"
+#import "base/time/time.h"
-#include <stdint.h>
+#import <stdint.h>
-#include <memory>
-#include <string>
-#include <vector>
+#import <memory>
+#import <string>
+#import <vector>
-#include "base/containers/flat_map.h"
-#include "base/version.h"
-#include "components/component_updater/component_updater_command_line_config_policy.h"
-#include "components/component_updater/configurator_impl.h"
-#include "components/services/patch/in_process_file_patcher.h"
-#include "components/services/unzip/in_process_unzipper.h"
-#include "components/update_client/activity_data_service.h"
-#include "components/update_client/crx_downloader_factory.h"
-#include "components/update_client/net/network_chromium.h"
-#include "components/update_client/patch/patch_impl.h"
-#include "components/update_client/patcher.h"
-#include "components/update_client/protocol_handler.h"
-#include "components/update_client/unzip/unzip_impl.h"
-#include "components/update_client/unzipper.h"
-#include "components/update_client/update_query_params.h"
-#include "ios/web_view/internal/app/application_context.h"
-#include "services/network/public/cpp/shared_url_loader_factory.h"
-#include "third_party/abseil-cpp/absl/types/optional.h"
+#import "base/containers/flat_map.h"
+#import "base/version.h"
+#import "components/component_updater/component_updater_command_line_config_policy.h"
+#import "components/component_updater/configurator_impl.h"
+#import "components/services/patch/in_process_file_patcher.h"
+#import "components/services/unzip/in_process_unzipper.h"
+#import "components/update_client/activity_data_service.h"
+#import "components/update_client/crx_downloader_factory.h"
+#import "components/update_client/net/network_chromium.h"
+#import "components/update_client/patch/patch_impl.h"
+#import "components/update_client/patcher.h"
+#import "components/update_client/protocol_handler.h"
+#import "components/update_client/unzip/unzip_impl.h"
+#import "components/update_client/unzipper.h"
+#import "components/update_client/update_query_params.h"
+#import "ios/web_view/internal/app/application_context.h"
+#import "services/network/public/cpp/shared_url_loader_factory.h"
+#import "third_party/abseil-cpp/absl/types/optional.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
@@ -45,10 +46,10 @@
explicit WebViewConfigurator(const base::CommandLine* cmdline);
// update_client::Configurator overrides.
- double InitialDelay() const override;
- int NextCheckDelay() const override;
- int OnDemandDelay() const override;
- int UpdateDelay() const override;
+ base::TimeDelta InitialDelay() const override;
+ base::TimeDelta NextCheckDelay() const override;
+ base::TimeDelta OnDemandDelay() const override;
+ base::TimeDelta UpdateDelay() const override;
std::vector<GURL> UpdateUrl() const override;
std::vector<GURL> PingUrl() const override;
std::string GetProdId() const override;
@@ -95,19 +96,19 @@
component_updater::ComponentUpdaterCommandLineConfigPolicy(cmdline),
/*require_encryption=*/false) {}
-double WebViewConfigurator::InitialDelay() const {
+base::TimeDelta WebViewConfigurator::InitialDelay() const {
return configurator_impl_.InitialDelay();
}
-int WebViewConfigurator::NextCheckDelay() const {
+base::TimeDelta WebViewConfigurator::NextCheckDelay() const {
return configurator_impl_.NextCheckDelay();
}
-int WebViewConfigurator::OnDemandDelay() const {
+base::TimeDelta WebViewConfigurator::OnDemandDelay() const {
return configurator_impl_.OnDemandDelay();
}
-int WebViewConfigurator::UpdateDelay() const {
+base::TimeDelta WebViewConfigurator::UpdateDelay() const {
return configurator_impl_.UpdateDelay();
}