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

Unified Diff: chrome/browser/ui/webui/ntp/ntp_login_handler.cc

Issue 8363035: NTP4/Sync Promo: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged, fixed, unit tests and quick smoke test passing Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/ntp/ntp_login_handler.cc
diff --git a/chrome/browser/ui/webui/ntp/ntp_login_handler.cc b/chrome/browser/ui/webui/ntp/ntp_login_handler.cc
index 2a46eb3a6bc3cfb834a00e687455456b3a06d273..7d767c5585fec86a23c3bc6968a2a8e9d64d07c1 100644
--- a/chrome/browser/ui/webui/ntp/ntp_login_handler.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_login_handler.cc
@@ -64,9 +64,6 @@ void NTPLoginHandler::Observe(int type,
void NTPLoginHandler::HandleInitializeSyncLogin(const ListValue* args) {
UpdateLogin();
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.NTPPromo",
- SYNC_PROMO_NTP_PROMO_VIEWED,
- SYNC_PROMO_NTP_PROMO_BUCKET_BOUNDARY);
}
void NTPLoginHandler::HandleShowSyncLoginUI(const ListValue* args) {
@@ -77,12 +74,10 @@ void NTPLoginHandler::HandleShowSyncLoginUI(const ListValue* args) {
if (username.empty()) {
// The user isn't signed in, show the sync promo.
if (SyncPromoUI::ShouldShowSyncPromo(profile)) {
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.NTPPromo",
- SYNC_PROMO_NTP_PROMO_CLICKED,
- SYNC_PROMO_NTP_PROMO_BUCKET_BOUNDARY);
web_ui_->tab_contents()->OpenURL(GURL(chrome::kChromeUISyncPromoURL),
GURL(), CURRENT_TAB,
content::PAGE_TRANSITION_LINK);
+ RecordInHistogram(NTP_SIGN_IN_PROMO_CLICKED);
}
} else if (args->GetSize() == 4) {
// The user is signed in, show the profiles menu.
@@ -107,6 +102,17 @@ void NTPLoginHandler::HandleShowSyncLoginUI(const ListValue* args) {
}
}
+void NTPLoginHandler::RecordInHistogram(int type) {
+ // Invalid type to record.
+ if (type < NTP_SIGN_IN_PROMO_VIEWED ||
+ type > NTP_SIGN_IN_PROMO_CLICKED) {
+ NOTREACHED();
+ } else {
+ UMA_HISTOGRAM_ENUMERATION("SyncPromo.NTPPromo", type,
+ NTP_SIGN_IN_PROMO_BUCKET_BOUNDARY);
+ }
+}
+
void NTPLoginHandler::UpdateLogin() {
Profile* profile = Profile::FromWebUI(web_ui_);
std::string username = profile->GetPrefs()->GetString(
@@ -116,7 +122,7 @@ void NTPLoginHandler::UpdateLogin() {
header = UTF8ToUTF16(username);
} else if (SyncPromoUI::ShouldShowSyncPromo(profile) &&
(SyncPromoUI::UserHasSeenSyncPromoAtStartup(profile) ||
- PromoResourceService::CanShowSyncPromo(profile))) {
+ PromoResourceService::CanShowNTPSignInPromo(profile))) {
string16 signed_in_link = l10n_util::GetStringUTF16(
IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_LINK);
signed_in_link = ASCIIToUTF16("<span class='link-span'>") + signed_in_link +
@@ -126,6 +132,8 @@ void NTPLoginHandler::UpdateLogin() {
l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
sub_header = l10n_util::GetStringFUTF16(
IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_SUB_HEADER, signed_in_link);
+ // Record that the user was shown the promo.
+ RecordInHistogram(NTP_SIGN_IN_PROMO_VIEWED);
}
StringValue header_value(header);
@@ -134,6 +142,7 @@ void NTPLoginHandler::UpdateLogin() {
"updateLogin", header_value, sub_header_value);
}
+// static
bool NTPLoginHandler::ShouldShow(Profile* profile) {
#if defined(OS_CHROMEOS)
// For now we don't care about showing sync status on Chrome OS. The promo

Powered by Google App Engine
This is Rietveld 408576698