| 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 3b142e4dca4b7db36775b28dee85d6b2718077a2..89d2ad7f9d27e0912092d840b49ee7e29e410de1 100644
|
| --- a/components/network_time/network_time_tracker.cc
|
| +++ b/components/network_time/network_time_tracker.cc
|
| @@ -157,26 +157,6 @@ class SizeLimitingStringWriter : public net::URLFetcherStringWriter {
|
| size_t limit_;
|
| };
|
|
|
| -bool BackgroundQueriesEnabled() {
|
| - if (!base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying)) {
|
| - return false;
|
| - }
|
| -
|
| - const std::string param = variations::GetVariationParamValueByFeature(
|
| - kNetworkTimeServiceQuerying, kVariationsServiceFetchBehavior);
|
| - return param == "background-only" || param == "background-and-on-demand";
|
| -}
|
| -
|
| -bool OnDemandQueriesEnabled() {
|
| - if (!base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying)) {
|
| - return false;
|
| - }
|
| -
|
| - const std::string param = variations::GetVariationParamValueByFeature(
|
| - kNetworkTimeServiceQuerying, kVariationsServiceFetchBehavior);
|
| - return param == "on-demand-only" || param == "background-and-on-demand";
|
| -}
|
| -
|
| base::TimeDelta CheckTimeInterval() {
|
| int64_t seconds;
|
| const std::string param = variations::GetVariationParamValueByFeature(
|
| @@ -308,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;
|
| }
|
| @@ -412,7 +409,9 @@ NetworkTimeTracker::NetworkTimeResult NetworkTimeTracker::GetNetworkTime(
|
|
|
| bool NetworkTimeTracker::StartTimeFetch(const base::Closure& closure) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - if (!OnDemandQueriesEnabled()) {
|
| + FetchBehavior behavior = GetFetchBehavior();
|
| + if (behavior != FETCHES_ON_DEMAND_ONLY &&
|
| + behavior != FETCHES_IN_BACKGROUND_AND_ON_DEMAND) {
|
| return false;
|
| }
|
|
|
| @@ -572,14 +571,16 @@ void NetworkTimeTracker::OnURLFetchComplete(const net::URLFetcher* source) {
|
|
|
| void NetworkTimeTracker::QueueCheckTime(base::TimeDelta delay) {
|
| // Check if the user is opted in to background time fetches.
|
| - if (BackgroundQueriesEnabled()) {
|
| + FetchBehavior behavior = GetFetchBehavior();
|
| + if (behavior == FETCHES_IN_BACKGROUND_ONLY ||
|
| + behavior == FETCHES_IN_BACKGROUND_AND_ON_DEMAND) {
|
| 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;
|
| }
|
|
|
|
|