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