12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/webui/user_actions/user_actions_ui_handler.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/bind.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/metrics/user_metrics.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/values.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/public/browser/web_ui.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)UserActionsUIHandler::UserActionsUIHandler()
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : action_callback_(base::Bind(&UserActionsUIHandler::OnUserAction,
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                  base::Unretained(this))) {
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  base::AddActionCallback(action_callback_);
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)UserActionsUIHandler::~UserActionsUIHandler() {
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  base::RemoveActionCallback(action_callback_);
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void UserActionsUIHandler::RegisterMessages() {}
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void UserActionsUIHandler::OnUserAction(const std::string& action) {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  base::StringValue user_action_name(action);
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  web_ui()->CallJavascriptFunction("userActions.observeUserAction",
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                   user_action_name);
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
30