| Index: chrome/browser/net/nqe/ui_network_quality_estimator_service.cc
|
| diff --git a/chrome/browser/net/nqe/ui_network_quality_estimator_service.cc b/chrome/browser/net/nqe/ui_network_quality_estimator_service.cc
|
| index 0ebcc93c5686f271aac3e322aae657259ba9ecf4..d0aada131d3fd13aa17ae48a3d19c09dd4db8db3 100644
|
| --- a/chrome/browser/net/nqe/ui_network_quality_estimator_service.cc
|
| +++ b/chrome/browser/net/nqe/ui_network_quality_estimator_service.cc
|
| @@ -39,10 +39,18 @@ std::string GetStringValueForVariationParamWithDefaultValue(
|
| : it->second;
|
| }
|
|
|
| -// Returns true if persistent caching has been enabled in the field trial.
|
| -bool persistent_caching_enabled() {
|
| +// Returns true if writing to the persistent cache has been enabled via field
|
| +// trial.
|
| +bool persistent_cache_writing_enabled() {
|
| return GetStringValueForVariationParamWithDefaultValue(
|
| - "persistent_caching_enabled", "false") == "true";
|
| + "persistent_cache_writing_enabled", "false") == "true";
|
| +}
|
| +
|
| +// Returns true if reading from the persistent cache has been enabled via field
|
| +// trial.
|
| +bool persistent_cache_reading_enabled() {
|
| + return GetStringValueForVariationParamWithDefaultValue(
|
| + "persistent_cache_reading_enabled", "false") == "true";
|
| }
|
|
|
| // PrefDelegateImpl writes the provided dictionary value to the network quality
|
| @@ -59,17 +67,19 @@ class PrefDelegateImpl
|
|
|
| void SetDictionaryValue(const base::DictionaryValue& value) override {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - if (!persistent_caching_enabled())
|
| + if (!persistent_cache_writing_enabled())
|
| return;
|
|
|
| pref_service_->Set(path_, value);
|
| UMA_HISTOGRAM_COUNTS_1000("NQE.Prefs.WriteCount", 1);
|
| }
|
|
|
| - const base::DictionaryValue& GetDictionaryValue() override {
|
| + std::unique_ptr<base::DictionaryValue> GetDictionaryValue() override {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| + if (!persistent_cache_reading_enabled())
|
| + return base::WrapUnique(new base::DictionaryValue());
|
| UMA_HISTOGRAM_COUNTS_1000("NQE.Prefs.ReadCount", 1);
|
| - return *pref_service_->GetDictionary(path_);
|
| + return pref_service_->GetDictionary(path_)->CreateDeepCopy();
|
| }
|
|
|
| private:
|
|
|