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

Side by Side Diff: chrome/browser/prefs/pref_metrics_service.cc

Issue 2006023002: Log some information about the state of the homepage on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments Created 4 years, 7 months 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 unified diff | Download patch
OLDNEW
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 PrefService* local_state) 71 PrefService* local_state)
72 : profile_(profile), 72 : profile_(profile),
73 prefs_(profile->GetPrefs()), 73 prefs_(profile->GetPrefs()),
74 local_state_(local_state), 74 local_state_(local_state),
75 weak_factory_(this) { 75 weak_factory_(this) {
76 } 76 }
77 77
78 PrefMetricsService::~PrefMetricsService() { 78 PrefMetricsService::~PrefMetricsService() {
79 } 79 }
80 80
81 void PrefMetricsService::RecordLaunchPrefs() { 81 // static
82 bool show_home_button = prefs_->GetBoolean(prefs::kShowHomeButton); 82 void PrefMetricsService::RecordHomePageLaunchMetrics(bool show_home_button,
83 bool home_page_is_ntp = prefs_->GetBoolean(prefs::kHomePageIsNewTabPage); 83 bool homepage_is_ntp,
84 const GURL& homepage_url) {
84 UMA_HISTOGRAM_BOOLEAN("Settings.ShowHomeButton", show_home_button); 85 UMA_HISTOGRAM_BOOLEAN("Settings.ShowHomeButton", show_home_button);
85 if (show_home_button) { 86 if (show_home_button) {
86 UMA_HISTOGRAM_BOOLEAN("Settings.GivenShowHomeButton_HomePageIsNewTabPage", 87 UMA_HISTOGRAM_BOOLEAN("Settings.GivenShowHomeButton_HomePageIsNewTabPage",
87 home_page_is_ntp); 88 homepage_is_ntp);
88 } 89 }
89 90
90 // For non-NTP homepages, see if the URL comes from the same TLD+1 as a known 91 // For non-NTP homepages, see if the URL comes from the same TLD+1 as a known
91 // search engine. Note that this is only an approximation of search engine 92 // search engine. Note that this is only an approximation of search engine
92 // use, due to both false negatives (pages that come from unknown TLD+1 X but 93 // use, due to both false negatives (pages that come from unknown TLD+1 X but
93 // consist of a search box that sends to known TLD+1 Y) and false positives 94 // consist of a search box that sends to known TLD+1 Y) and false positives
94 // (pages that share a TLD+1 with a known engine but aren't actually search 95 // (pages that share a TLD+1 with a known engine but aren't actually search
95 // pages, e.g. plus.google.com). Additionally, record the TLD+1 of non-NTP 96 // pages, e.g. plus.google.com). Additionally, record the TLD+1 of non-NTP
96 // homepages through the privacy-preserving Rappor service. 97 // homepages through the privacy-preserving Rappor service.
97 if (!home_page_is_ntp) { 98 if (!homepage_is_ntp) {
98 GURL homepage_url(prefs_->GetString(prefs::kHomePage));
99 if (homepage_url.is_valid()) { 99 if (homepage_url.is_valid()) {
100 UMA_HISTOGRAM_ENUMERATION( 100 UMA_HISTOGRAM_ENUMERATION(
101 "Settings.HomePageEngineType", 101 "Settings.HomePageEngineType",
102 TemplateURLPrepopulateData::GetEngineType(homepage_url), 102 TemplateURLPrepopulateData::GetEngineType(homepage_url),
103 SEARCH_ENGINE_MAX); 103 SEARCH_ENGINE_MAX);
104 rappor::SampleDomainAndRegistryFromGURL( 104 rappor::SampleDomainAndRegistryFromGURL(
105 g_browser_process->rappor_service(), "Settings.HomePage2", 105 g_browser_process->rappor_service(), "Settings.HomePage2",
106 homepage_url); 106 homepage_url);
107 } 107 }
108 } 108 }
109 }
109 110
111 void PrefMetricsService::RecordLaunchPrefs() {
112 // On Android, determining whether the homepage is enabled requires waiting
113 // for a response from a third party provider installed on the device. So,
114 // it will be logged later once all the dependent information is available.
Mark P 2016/05/24 19:07:17 nit: point readers to the call site for this other
Ted C 2016/05/24 19:55:53 Done
115 #if !defined(OS_ANDROID)
116 GURL homepage_url(prefs_->GetString(prefs::kHomePage));
117 RecordHomePageLaunchMetrics(prefs_->GetBoolean(prefs::kShowHomeButton),
118 prefs_->GetBoolean(prefs::kHomePageIsNewTabPage),
119 homepage_url);
120 #endif
121
122 // Android does not support overriding the NTP URL.
123 #if !defined(OS_ANDROID)
110 SampleNewTabPageURL(profile_); 124 SampleNewTabPageURL(profile_);
125 #endif
111 126
127 // Tab restoring is always done on Android, so these metrics are not
128 // applicable. Also, startup pages are not supported on Android
129 #if !defined(OS_ANDROID)
112 int restore_on_startup = prefs_->GetInteger(prefs::kRestoreOnStartup); 130 int restore_on_startup = prefs_->GetInteger(prefs::kRestoreOnStartup);
113 UMA_HISTOGRAM_ENUMERATION("Settings.StartupPageLoadSettings", 131 UMA_HISTOGRAM_ENUMERATION("Settings.StartupPageLoadSettings",
114 restore_on_startup, kSessionStartupPrefValueMax); 132 restore_on_startup, kSessionStartupPrefValueMax);
115 if (restore_on_startup == SessionStartupPref::kPrefValueURLs) { 133 if (restore_on_startup == SessionStartupPref::kPrefValueURLs) {
116 const base::ListValue* url_list = 134 const base::ListValue* url_list =
117 prefs_->GetList(prefs::kURLsToRestoreOnStartup); 135 prefs_->GetList(prefs::kURLsToRestoreOnStartup);
118 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.StartupPageLoadURLs", 136 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.StartupPageLoadURLs",
119 url_list->GetSize(), 1, 50, 20); 137 url_list->GetSize(), 1, 50, 20);
120 // Similarly, check startup pages for known search engine TLD+1s. 138 // Similarly, check startup pages for known search engine TLD+1s.
121 std::string url_text; 139 std::string url_text;
122 for (size_t i = 0; i < url_list->GetSize(); ++i) { 140 for (size_t i = 0; i < url_list->GetSize(); ++i) {
123 if (url_list->GetString(i, &url_text)) { 141 if (url_list->GetString(i, &url_text)) {
124 GURL start_url(url_text); 142 GURL start_url(url_text);
125 if (start_url.is_valid()) { 143 if (start_url.is_valid()) {
126 UMA_HISTOGRAM_ENUMERATION( 144 UMA_HISTOGRAM_ENUMERATION(
127 "Settings.StartupPageEngineTypes", 145 "Settings.StartupPageEngineTypes",
128 TemplateURLPrepopulateData::GetEngineType(start_url), 146 TemplateURLPrepopulateData::GetEngineType(start_url),
129 SEARCH_ENGINE_MAX); 147 SEARCH_ENGINE_MAX);
130 if (i == 0) { 148 if (i == 0) {
131 rappor::SampleDomainAndRegistryFromGURL( 149 rappor::SampleDomainAndRegistryFromGURL(
132 g_browser_process->rappor_service(), 150 g_browser_process->rappor_service(),
133 "Settings.FirstStartupPage", start_url); 151 "Settings.FirstStartupPage", start_url);
134 } 152 }
135 } 153 }
136 } 154 }
137 } 155 }
138 } 156 }
157 #endif
139 158
159 // Android does not support pinned tabs.
140 #if !defined(OS_ANDROID) 160 #if !defined(OS_ANDROID)
141 StartupTabs startup_tabs = PinnedTabCodec::ReadPinnedTabs(profile_); 161 StartupTabs startup_tabs = PinnedTabCodec::ReadPinnedTabs(profile_);
142 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.PinnedTabs", 162 UMA_HISTOGRAM_CUSTOM_COUNTS("Settings.PinnedTabs",
143 startup_tabs.size(), 1, 50, 20); 163 startup_tabs.size(), 1, 50, 20);
144 for (size_t i = 0; i < startup_tabs.size(); ++i) { 164 for (size_t i = 0; i < startup_tabs.size(); ++i) {
145 GURL start_url(startup_tabs.at(i).url); 165 GURL start_url(startup_tabs.at(i).url);
146 if (start_url.is_valid()) { 166 if (start_url.is_valid()) {
147 UMA_HISTOGRAM_ENUMERATION( 167 UMA_HISTOGRAM_ENUMERATION(
148 "Settings.PinnedTabEngineTypes", 168 "Settings.PinnedTabEngineTypes",
149 TemplateURLPrepopulateData::GetEngineType(start_url), 169 TemplateURLPrepopulateData::GetEngineType(start_url),
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 } 269 }
250 270
251 bool PrefMetricsService::Factory::ServiceIsNULLWhileTesting() const { 271 bool PrefMetricsService::Factory::ServiceIsNULLWhileTesting() const {
252 return false; 272 return false;
253 } 273 }
254 274
255 content::BrowserContext* PrefMetricsService::Factory::GetBrowserContextToUse( 275 content::BrowserContext* PrefMetricsService::Factory::GetBrowserContextToUse(
256 content::BrowserContext* context) const { 276 content::BrowserContext* context) const {
257 return chrome::GetBrowserContextRedirectedInIncognito(context); 277 return chrome::GetBrowserContextRedirectedInIncognito(context);
258 } 278 }
OLDNEW
« chrome/browser/prefs/pref_metrics_service.h ('K') | « chrome/browser/prefs/pref_metrics_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698