Index: chrome/browser/ui/webui/ntp/new_tab_page_handler.cc |
diff --git a/chrome/browser/ui/webui/ntp/new_tab_page_handler.cc b/chrome/browser/ui/webui/ntp/new_tab_page_handler.cc |
index a07e34075898c0fbd1c7cdc8adca66d561239a1f..d908496a065f3ef0aa00ff5d2b9cbd801896eb3f 100644 |
--- a/chrome/browser/ui/webui/ntp/new_tab_page_handler.cc |
+++ b/chrome/browser/ui/webui/ntp/new_tab_page_handler.cc |
@@ -67,6 +67,9 @@ |
base::Unretained(this))); |
web_ui()->RegisterMessageCallback("pageSelected", |
base::Bind(&NewTabPageHandler::HandlePageSelected, |
+ base::Unretained(this))); |
+ web_ui()->RegisterMessageCallback("logTimeToClick", |
+ base::Bind(&NewTabPageHandler::HandleLogTimeToClick, |
base::Unretained(this))); |
} |
@@ -140,6 +143,26 @@ |
shown_page_type, kHistogramEnumerationMax); |
} |
+void NewTabPageHandler::HandleLogTimeToClick(const base::ListValue* args) { |
+ std::string histogram_name; |
+ double duration; |
+ if (!args->GetString(0, &histogram_name) || !args->GetDouble(1, &duration)) { |
+ NOTREACHED(); |
+ return; |
+ } |
+ |
+ base::TimeDelta delta = base::TimeDelta::FromMilliseconds(duration); |
+ |
+ if (histogram_name == "NewTabPage.TimeToClickMostVisited") { |
+ UMA_HISTOGRAM_LONG_TIMES("NewTabPage.TimeToClickMostVisited", delta); |
+ } else if (histogram_name == "ExtendedNewTabPage.TimeToClickMostVisited") { |
+ UMA_HISTOGRAM_LONG_TIMES( |
+ "ExtendedNewTabPage.TimeToClickMostVisited", delta); |
+ } else { |
+ NOTREACHED(); |
+ } |
+} |
+ |
// static |
void NewTabPageHandler::RegisterProfilePrefs( |
user_prefs::PrefRegistrySyncable* registry) { |
@@ -150,6 +173,7 @@ |
// static |
void NewTabPageHandler::GetLocalizedValues(Profile* profile, |
base::DictionaryValue* values) { |
+ values->SetInteger("most_visited_page_id", MOST_VISITED_PAGE_ID); |
values->SetInteger("apps_page_id", APPS_PAGE_ID); |
PrefService* prefs = profile->GetPrefs(); |