1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/webui/chromeos/login/screen_manager_handler.h"
6
7namespace {
8
9const char kJsApiButtonPressed[] = "buttonPressed";
10const char kJsApiContextChanged[] = "contextChanged";
11
12}  // namespace
13
14namespace chromeos {
15
16ScreenManagerHandler::ScreenManagerHandler()
17    : delegate_(NULL) {
18}
19
20ScreenManagerHandler::~ScreenManagerHandler() {
21}
22
23void ScreenManagerHandler::SetDelegate(Delegate* delegate) {
24  delegate_ = delegate;
25}
26
27void ScreenManagerHandler::DeclareLocalizedValues(
28    LocalizedValuesBuilder* builder) {
29}
30
31void ScreenManagerHandler::Initialize() {
32}
33
34void ScreenManagerHandler::RegisterMessages() {
35  AddCallback(kJsApiButtonPressed,
36              &ScreenManagerHandler::HandleButtonPressed);
37  AddCallback(kJsApiContextChanged,
38              &ScreenManagerHandler::HandleContextChanged);
39}
40
41void ScreenManagerHandler::HandleButtonPressed(const std::string& screen_name,
42                                               const std::string& button_id) {
43  if (delegate_)
44    delegate_->OnButtonPressed(screen_name, button_id);
45}
46
47void ScreenManagerHandler::HandleContextChanged(
48    const std::string& screen_name,
49    const base::DictionaryValue* diff) {
50  if (delegate_)
51    delegate_->OnContextChanged(screen_name, diff);
52}
53
54}  // namespace chromeos
55