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/wrong_hwid_screen_handler.h" 6 7#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 8#include "grit/chromium_strings.h" 9#include "grit/generated_resources.h" 10 11namespace { 12 13const char kJsScreenPath[] = "login.WrongHWIDScreen"; 14 15} // namespace 16 17namespace chromeos { 18 19WrongHWIDScreenHandler::WrongHWIDScreenHandler() 20 : BaseScreenHandler(kJsScreenPath), 21 delegate_(NULL), 22 show_on_init_(false) { 23} 24 25WrongHWIDScreenHandler::~WrongHWIDScreenHandler() { 26 if (delegate_) 27 delegate_->OnActorDestroyed(this); 28} 29 30void WrongHWIDScreenHandler::PrepareToShow() { 31} 32 33void WrongHWIDScreenHandler::Show() { 34 if (!page_is_ready()) { 35 show_on_init_ = true; 36 return; 37 } 38 ShowScreen(OobeUI::kScreenWrongHWID, NULL); 39} 40 41void WrongHWIDScreenHandler::Hide() { 42} 43 44void WrongHWIDScreenHandler::SetDelegate(Delegate* delegate) { 45 delegate_ = delegate; 46 if (page_is_ready()) 47 Initialize(); 48} 49 50void WrongHWIDScreenHandler::DeclareLocalizedValues( 51 LocalizedValuesBuilder* builder) { 52 builder->Add("wrongHWIDScreenHeader", IDS_WRONG_HWID_SCREEN_HEADER); 53 builder->Add("wrongHWIDMessageFirstPart", 54 IDS_WRONG_HWID_SCREEN_MESSAGE_FIRST_PART); 55 builder->Add("wrongHWIDMessageSecondPart", 56 IDS_WRONG_HWID_SCREEN_MESSAGE_SECOND_PART); 57 builder->Add("wrongHWIDScreenSkipLink", 58 IDS_WRONG_HWID_SCREEN_SKIP_LINK); 59} 60 61void WrongHWIDScreenHandler::Initialize() { 62 if (!page_is_ready() || !delegate_) 63 return; 64 65 if (show_on_init_) { 66 Show(); 67 show_on_init_ = false; 68 } 69} 70 71void WrongHWIDScreenHandler::RegisterMessages() { 72 AddCallback("wrongHWIDOnSkip", &WrongHWIDScreenHandler::HandleOnSkip); 73} 74 75void WrongHWIDScreenHandler::HandleOnSkip() { 76 if (delegate_) 77 delegate_->OnExit(); 78} 79 80} // namespace chromeos 81