Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(643)

Unified Diff: chrome/browser/net/nqe/ui_network_quality_estimator_service.cc

Issue 2487883002: NQE: Use cached estimates (Closed)
Patch Set: ps Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {
RyanSturm 2016/12/13 21:08:35 Is there really a need for both of these field tri
tbansal1 2016/12/14 01:37:37 Yeah, I do not know of a better way. I want to ena
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:

Powered by Google App Engine
This is Rietveld 408576698