| Index: chrome/browser/dom_ui/new_tab_ui.cc
|
| diff --git a/chrome/browser/dom_ui/new_tab_ui.cc b/chrome/browser/dom_ui/new_tab_ui.cc
|
| index 2e44322a1952eabdd125ed12dbf4705e9f274eb7..688377ff0baea851e51f479e937d3eac125a6157 100644
|
| --- a/chrome/browser/dom_ui/new_tab_ui.cc
|
| +++ b/chrome/browser/dom_ui/new_tab_ui.cc
|
| @@ -1546,6 +1546,9 @@ class MetricsHandler : public DOMMessageHandler {
|
| // Callback which records a user action.
|
| void HandleMetrics(const Value* content);
|
|
|
| + // Callback for the "logEventTime" message.
|
| + void HandleLogEventTime(const Value* content);
|
| +
|
| private:
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MetricsHandler);
|
| @@ -1554,6 +1557,9 @@ class MetricsHandler : public DOMMessageHandler {
|
| void MetricsHandler::RegisterMessages() {
|
| dom_ui_->RegisterMessageCallback("metrics",
|
| NewCallback(this, &MetricsHandler::HandleMetrics));
|
| +
|
| + dom_ui_->RegisterMessageCallback("logEventTime",
|
| + NewCallback(this, &MetricsHandler::HandleLogEventTime));
|
| }
|
|
|
| void MetricsHandler::HandleMetrics(const Value* content) {
|
| @@ -1572,6 +1578,20 @@ void MetricsHandler::HandleMetrics(const Value* content) {
|
| }
|
| }
|
|
|
| +void MetricsHandler::HandleLogEventTime(const Value* content) {
|
| + if (content && content->GetType() == Value::TYPE_LIST) {
|
| + const ListValue* list_value = static_cast<const ListValue*>(content);
|
| + Value* list_member;
|
| + if (list_value->Get(0, &list_member) &&
|
| + list_member->GetType() == Value::TYPE_STRING) {
|
| + std::string event_name;
|
| + if (list_member->GetAsString(&event_name)) {
|
| + dom_ui_->tab_contents()->LogNewTabTime(event_name);
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // NewTabPageSetHomepageHandler
|
|
|
|
|