| 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();
|
|
|