Home | History | Annotate | Download | only in login
      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 
      7 namespace {
      8 
      9 const char kJsApiButtonPressed[] = "buttonPressed";
     10 const char kJsApiContextChanged[] = "contextChanged";
     11 
     12 }  // namespace
     13 
     14 namespace chromeos {
     15 
     16 ScreenManagerHandler::ScreenManagerHandler()
     17     : delegate_(NULL) {
     18 }
     19 
     20 ScreenManagerHandler::~ScreenManagerHandler() {
     21 }
     22 
     23 void ScreenManagerHandler::SetDelegate(Delegate* delegate) {
     24   delegate_ = delegate;
     25 }
     26 
     27 void ScreenManagerHandler::DeclareLocalizedValues(
     28     LocalizedValuesBuilder* builder) {
     29 }
     30 
     31 void ScreenManagerHandler::Initialize() {
     32 }
     33 
     34 void ScreenManagerHandler::RegisterMessages() {
     35   AddCallback(kJsApiButtonPressed,
     36               &ScreenManagerHandler::HandleButtonPressed);
     37   AddCallback(kJsApiContextChanged,
     38               &ScreenManagerHandler::HandleContextChanged);
     39 }
     40 
     41 void 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 
     47 void ScreenManagerHandler::HandleContextChanged(
     48     const std::string& screen_name,
     49     const DictionaryValue* diff) {
     50   if (delegate_)
     51     delegate_->OnContextChanged(screen_name, diff);
     52 }
     53 
     54 }  // namespace chromeos
     55