| 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 |