OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/prefs/pref_metrics_service.h" | 5 #include "chrome/browser/prefs/pref_metrics_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/json/json_string_value_serializer.h" | 9 #include "base/json/json_string_value_serializer.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 "Settings.HomePageEngineType", | 147 "Settings.HomePageEngineType", |
148 TemplateURLPrepopulateData::GetEngineType(homepage_url), | 148 TemplateURLPrepopulateData::GetEngineType(homepage_url), |
149 SEARCH_ENGINE_MAX); | 149 SEARCH_ENGINE_MAX); |
150 } | 150 } |
151 } | 151 } |
152 | 152 |
153 int restore_on_startup = prefs_->GetInteger(prefs::kRestoreOnStartup); | 153 int restore_on_startup = prefs_->GetInteger(prefs::kRestoreOnStartup); |
154 UMA_HISTOGRAM_ENUMERATION("Settings.StartupPageLoadSettings", | 154 UMA_HISTOGRAM_ENUMERATION("Settings.StartupPageLoadSettings", |
155 restore_on_startup, kSessionStartupPrefValueMax); | 155 restore_on_startup, kSessionStartupPrefValueMax); |
156 if (restore_on_startup == SessionStartupPref::kPrefValueURLs) { | 156 if (restore_on_startup == SessionStartupPref::kPrefValueURLs) { |
157 const ListValue* url_list = prefs_->GetList(prefs::kURLsToRestoreOnStartup); | 157 const base::ListValue* url_list = |
| 158 prefs_->GetList(prefs::kURLsToRestoreOnStartup); |
158 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.StartupPageLoadURLs", | 159 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.StartupPageLoadURLs", |
159 url_list->GetSize(), 1, 50, 20); | 160 url_list->GetSize(), 1, 50, 20); |
160 // Similarly, check startup pages for known search engine TLD+1s. | 161 // Similarly, check startup pages for known search engine TLD+1s. |
161 std::string url_text; | 162 std::string url_text; |
162 for (size_t i = 0; i < url_list->GetSize(); ++i) { | 163 for (size_t i = 0; i < url_list->GetSize(); ++i) { |
163 if (url_list->GetString(i, &url_text)) { | 164 if (url_list->GetString(i, &url_text)) { |
164 GURL start_url(url_text); | 165 GURL start_url(url_text); |
165 if (start_url.is_valid()) { | 166 if (start_url.is_valid()) { |
166 UMA_HISTOGRAM_ENUMERATION( | 167 UMA_HISTOGRAM_ENUMERATION( |
167 "Settings.StartupPageEngineTypes", | 168 "Settings.StartupPageEngineTypes", |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile_); | 228 PrefServiceSyncable* prefs = PrefServiceSyncable::FromProfile(profile_); |
228 const PrefService::Preference* pref = prefs->FindPreference(path.c_str()); | 229 const PrefService::Preference* pref = prefs->FindPreference(path.c_str()); |
229 DCHECK(pref); | 230 DCHECK(pref); |
230 std::string source_name( | 231 std::string source_name( |
231 from_sync ? ".PulledFromSync" : ".PushedToSync"); | 232 from_sync ? ".PulledFromSync" : ".PushedToSync"); |
232 std::string histogram_name("Settings." + histogram_name_prefix + source_name); | 233 std::string histogram_name("Settings." + histogram_name_prefix + source_name); |
233 callback.Run(histogram_name, pref->GetValue()); | 234 callback.Run(histogram_name, pref->GetValue()); |
234 }; | 235 }; |
235 | 236 |
236 void PrefMetricsService::LogBooleanPrefChange(const std::string& histogram_name, | 237 void PrefMetricsService::LogBooleanPrefChange(const std::string& histogram_name, |
237 const Value* value) { | 238 const base::Value* value) { |
238 bool boolean_value = false; | 239 bool boolean_value = false; |
239 if (!value->GetAsBoolean(&boolean_value)) | 240 if (!value->GetAsBoolean(&boolean_value)) |
240 return; | 241 return; |
241 base::HistogramBase* histogram = base::BooleanHistogram::FactoryGet( | 242 base::HistogramBase* histogram = base::BooleanHistogram::FactoryGet( |
242 histogram_name, base::HistogramBase::kUmaTargetedHistogramFlag); | 243 histogram_name, base::HistogramBase::kUmaTargetedHistogramFlag); |
243 histogram->Add(boolean_value); | 244 histogram->Add(boolean_value); |
244 } | 245 } |
245 | 246 |
246 void PrefMetricsService::LogIntegerPrefChange(int boundary_value, | 247 void PrefMetricsService::LogIntegerPrefChange(int boundary_value, |
247 const std::string& histogram_name, | 248 const std::string& histogram_name, |
248 const Value* value) { | 249 const base::Value* value) { |
249 int integer_value = 0; | 250 int integer_value = 0; |
250 if (!value->GetAsInteger(&integer_value)) | 251 if (!value->GetAsInteger(&integer_value)) |
251 return; | 252 return; |
252 base::HistogramBase* histogram = base::LinearHistogram::FactoryGet( | 253 base::HistogramBase* histogram = base::LinearHistogram::FactoryGet( |
253 histogram_name, | 254 histogram_name, |
254 1, | 255 1, |
255 boundary_value, | 256 boundary_value, |
256 boundary_value + 1, | 257 boundary_value + 1, |
257 base::HistogramBase::kUmaTargetedHistogramFlag); | 258 base::HistogramBase::kUmaTargetedHistogramFlag); |
258 histogram->Add(integer_value); | 259 histogram->Add(integer_value); |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 } | 458 } |
458 | 459 |
459 bool PrefMetricsService::Factory::ServiceIsNULLWhileTesting() const { | 460 bool PrefMetricsService::Factory::ServiceIsNULLWhileTesting() const { |
460 return false; | 461 return false; |
461 } | 462 } |
462 | 463 |
463 content::BrowserContext* PrefMetricsService::Factory::GetBrowserContextToUse( | 464 content::BrowserContext* PrefMetricsService::Factory::GetBrowserContextToUse( |
464 content::BrowserContext* context) const { | 465 content::BrowserContext* context) const { |
465 return chrome::GetBrowserContextRedirectedInIncognito(context); | 466 return chrome::GetBrowserContextRedirectedInIncognito(context); |
466 } | 467 } |
OLD | NEW |