Index: chrome/browser/ui/webui/ntp/new_tab_page_handler.cc |
=================================================================== |
--- chrome/browser/ui/webui/ntp/new_tab_page_handler.cc (revision 162974) |
+++ chrome/browser/ui/webui/ntp/new_tab_page_handler.cc (working copy) |
@@ -23,9 +23,19 @@ |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
-static const char kDefaultPageTypeHistogram[] = |
- "NewTabPage.DefaultPageType"; |
+namespace { |
+const char kDefaultPageTypeHistogram[] = "NewTabPage.DefaultPageType"; |
+ |
+enum PromoAction { |
+ PROMO_VIEWED = 0, |
+ PROMO_CLOSED, |
+ PROMO_LINK_CLICKED, |
+ PROMO_ACTION_MAX, |
+}; |
+ |
+} // namespace |
+ |
NewTabPageHandler::NewTabPageHandler() : page_switch_count_(0) { |
} |
@@ -57,6 +67,9 @@ |
web_ui()->RegisterMessageCallback("notificationPromoViewed", |
base::Bind(&NewTabPageHandler::HandleNotificationPromoViewed, |
base::Unretained(this))); |
+ web_ui()->RegisterMessageCallback("notificationPromoLinkClicked", |
+ base::Bind(&NewTabPageHandler::HandleNotificationPromoLinkClicked, |
+ base::Unretained(this))); |
web_ui()->RegisterMessageCallback("bubblePromoClosed", |
base::Bind(&NewTabPageHandler::HandleBubblePromoClosed, |
base::Unretained(this))); |
@@ -75,29 +88,40 @@ |
} |
void NewTabPageHandler::HandleNotificationPromoClosed(const ListValue* args) { |
- UMA_HISTOGRAM_BOOLEAN("NewTabPage.Promo.Notification.Closed", true); |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Notification", |
+ PROMO_CLOSED, PROMO_ACTION_MAX); |
NotificationPromo::HandleClosed(Profile::FromWebUI(web_ui()), |
NotificationPromo::NTP_NOTIFICATION_PROMO); |
Notify(chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED); |
} |
void NewTabPageHandler::HandleNotificationPromoViewed(const ListValue* args) { |
- UMA_HISTOGRAM_BOOLEAN("NewTabPage.Promo.Notification.Viewed", true); |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Notification", |
+ PROMO_VIEWED, PROMO_ACTION_MAX); |
if (NotificationPromo::HandleViewed(Profile::FromWebUI(web_ui()), |
NotificationPromo::NTP_NOTIFICATION_PROMO)) { |
Notify(chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED); |
} |
} |
+void NewTabPageHandler::HandleNotificationPromoLinkClicked( |
+ const ListValue* args) { |
+ DVLOG(1) << "HandleNotificationPromoLinkClicked"; |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Notification", |
+ PROMO_LINK_CLICKED, PROMO_ACTION_MAX); |
+} |
+ |
void NewTabPageHandler::HandleBubblePromoClosed(const ListValue* args) { |
- UMA_HISTOGRAM_BOOLEAN("NewTabPage.Promo.Bubble.Closed", true); |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Bubble", |
+ PROMO_CLOSED, PROMO_ACTION_MAX); |
NotificationPromo::HandleClosed(Profile::FromWebUI(web_ui()), |
NotificationPromo::NTP_BUBBLE_PROMO); |
Notify(chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED); |
} |
void NewTabPageHandler::HandleBubblePromoViewed(const ListValue* args) { |
- UMA_HISTOGRAM_BOOLEAN("NewTabPage.Promo.Bubble.Viewed", true); |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Bubble", |
+ PROMO_VIEWED, PROMO_ACTION_MAX); |
if (NotificationPromo::HandleViewed(Profile::FromWebUI(web_ui()), |
NotificationPromo::NTP_BUBBLE_PROMO)) { |
Notify(chrome::NOTIFICATION_PROMO_RESOURCE_STATE_CHANGED); |
@@ -106,7 +130,8 @@ |
void NewTabPageHandler::HandleBubblePromoLinkClicked(const ListValue* args) { |
DVLOG(1) << "HandleBubblePromoLinkClicked"; |
- UMA_HISTOGRAM_BOOLEAN("NewTabPage.Promo.Bubble.LinkClicked", true); |
+ UMA_HISTOGRAM_ENUMERATION("NewTabPage.Promo.Bubble", |
+ PROMO_LINK_CLICKED, PROMO_ACTION_MAX); |
} |
void NewTabPageHandler::HandlePageSelected(const ListValue* args) { |