| Index: components/network_time/network_time_tracker.cc
|
| diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc
|
| index 3734c32d2ef07b49ec89d44afa81256de29f93fb..6f19044c856d5a200c96b8414a1f5bcbb74e47b6 100644
|
| --- a/components/network_time/network_time_tracker.cc
|
| +++ b/components/network_time/network_time_tracker.cc
|
| @@ -288,6 +288,23 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time,
|
| pref_service_->Set(prefs::kNetworkTimeMapping, time_mapping);
|
| }
|
|
|
| +bool NetworkTimeTracker::AreTimeFetchesEnabled() const {
|
| + return base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying);
|
| +}
|
| +
|
| +NetworkTimeTracker::FetchBehavior NetworkTimeTracker::GetFetchBehavior() const {
|
| + const std::string param = variations::GetVariationParamValueByFeature(
|
| + kNetworkTimeServiceQuerying, kVariationsServiceFetchBehavior);
|
| + if (param == "background-only") {
|
| + return FETCHES_IN_BACKGROUND_ONLY;
|
| + } else if (param == "on-demand-only") {
|
| + return FETCHES_ON_DEMAND_ONLY;
|
| + } else if (param == "background-and-on-demand") {
|
| + return FETCHES_IN_BACKGROUND_AND_ON_DEMAND;
|
| + }
|
| + return FETCH_BEHAVIOR_UNKNOWN;
|
| +}
|
| +
|
| void NetworkTimeTracker::SetTimeServerURLForTesting(const GURL& url) {
|
| server_url_ = url;
|
| }
|
| @@ -395,7 +412,8 @@ bool NetworkTimeTracker::StartTimeFetch(const base::Closure& closure) {
|
| // Check if the user is opted in to on-demand time fetches.
|
| const std::string param = variations::GetVariationParamValueByFeature(
|
| kNetworkTimeServiceQuerying, kVariationsServiceFetchBehavior);
|
| - if (param == "background-only") {
|
| + if (!AreTimeFetchesEnabled() ||
|
| + GetFetchBehavior() == FETCHES_IN_BACKGROUND_ONLY) {
|
| return false;
|
| }
|
|
|
| @@ -554,18 +572,14 @@ void NetworkTimeTracker::OnURLFetchComplete(const net::URLFetcher* source) {
|
| }
|
|
|
| void NetworkTimeTracker::QueueCheckTime(base::TimeDelta delay) {
|
| - // Check if the user is opted in to background time fetches.
|
| - const std::string param = variations::GetVariationParamValueByFeature(
|
| - kNetworkTimeServiceQuerying, kVariationsServiceFetchBehavior);
|
| - if (base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying) &&
|
| - param != "on-demand-only") {
|
| + if (AreTimeFetchesEnabled() && GetFetchBehavior() != FETCHES_ON_DEMAND_ONLY) {
|
| timer_.Start(FROM_HERE, delay, this, &NetworkTimeTracker::CheckTime);
|
| }
|
| }
|
|
|
| bool NetworkTimeTracker::ShouldIssueTimeQuery() {
|
| // Do not query the time service if not enabled via Variations Service.
|
| - if (!base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying)) {
|
| + if (!AreTimeFetchesEnabled()) {
|
| return false;
|
| }
|
|
|
|
|