Index: chrome/browser/prefs/pref_metrics_service.cc |
diff --git a/chrome/browser/prefs/pref_metrics_service.cc b/chrome/browser/prefs/pref_metrics_service.cc |
index 54ee8505c59947eac378c7a6405f4ee6d2532bc2..32698bab5085b060ebbdd2cb468814a6a925a689 100644 |
--- a/chrome/browser/prefs/pref_metrics_service.cc |
+++ b/chrome/browser/prefs/pref_metrics_service.cc |
@@ -35,6 +35,7 @@ namespace { |
const int kSessionStartupPrefValueMax = SessionStartupPref::kPrefValueMax; |
+#if !defined(OS_ANDROID) |
// Record a sample for the Settings.NewTabPage rappor metric. |
void SampleNewTabPageURL(Profile* profile) { |
GURL ntp_url(chrome::kChromeUINewTabURL); |
@@ -48,6 +49,7 @@ void SampleNewTabPageURL(Profile* profile) { |
"Settings.NewTabPage", ntp_url); |
} |
} |
+#endif |
} // namespace |
@@ -78,13 +80,14 @@ PrefMetricsService::PrefMetricsService(Profile* profile, |
PrefMetricsService::~PrefMetricsService() { |
} |
-void PrefMetricsService::RecordLaunchPrefs() { |
- bool show_home_button = prefs_->GetBoolean(prefs::kShowHomeButton); |
- bool home_page_is_ntp = prefs_->GetBoolean(prefs::kHomePageIsNewTabPage); |
+// static |
+void PrefMetricsService::RecordHomePageLaunchMetrics(bool show_home_button, |
+ bool homepage_is_ntp, |
+ const GURL& homepage_url) { |
UMA_HISTOGRAM_BOOLEAN("Settings.ShowHomeButton", show_home_button); |
if (show_home_button) { |
UMA_HISTOGRAM_BOOLEAN("Settings.GivenShowHomeButton_HomePageIsNewTabPage", |
- home_page_is_ntp); |
+ homepage_is_ntp); |
} |
// For non-NTP homepages, see if the URL comes from the same TLD+1 as a known |
@@ -94,8 +97,7 @@ void PrefMetricsService::RecordLaunchPrefs() { |
// (pages that share a TLD+1 with a known engine but aren't actually search |
// pages, e.g. plus.google.com). Additionally, record the TLD+1 of non-NTP |
// homepages through the privacy-preserving Rappor service. |
- if (!home_page_is_ntp) { |
- GURL homepage_url(prefs_->GetString(prefs::kHomePage)); |
+ if (!homepage_is_ntp) { |
if (homepage_url.is_valid()) { |
UMA_HISTOGRAM_ENUMERATION( |
"Settings.HomePageEngineType", |
@@ -106,9 +108,28 @@ void PrefMetricsService::RecordLaunchPrefs() { |
homepage_url); |
} |
} |
+} |
+void PrefMetricsService::RecordLaunchPrefs() { |
+ // On Android, determining whether the homepage is enabled requires waiting |
+ // for a response from a third party provider installed on the device. So, |
+ // it will be logged later once all the dependent information is available. |
+ // See DeferredStartupHandler.java. |
+#if !defined(OS_ANDROID) |
+ GURL homepage_url(prefs_->GetString(prefs::kHomePage)); |
+ RecordHomePageLaunchMetrics(prefs_->GetBoolean(prefs::kShowHomeButton), |
+ prefs_->GetBoolean(prefs::kHomePageIsNewTabPage), |
+ homepage_url); |
+#endif |
+ |
+ // Android does not support overriding the NTP URL. |
+#if !defined(OS_ANDROID) |
SampleNewTabPageURL(profile_); |
+#endif |
+ // Tab restoring is always done on Android, so these metrics are not |
+ // applicable. Also, startup pages are not supported on Android |
+#if !defined(OS_ANDROID) |
int restore_on_startup = prefs_->GetInteger(prefs::kRestoreOnStartup); |
UMA_HISTOGRAM_ENUMERATION("Settings.StartupPageLoadSettings", |
restore_on_startup, kSessionStartupPrefValueMax); |
@@ -136,7 +157,9 @@ void PrefMetricsService::RecordLaunchPrefs() { |
} |
} |
} |
+#endif |
+ // Android does not support pinned tabs. |
#if !defined(OS_ANDROID) |
StartupTabs startup_tabs = PinnedTabCodec::ReadPinnedTabs(profile_); |
UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.PinnedTabs", |