- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / chromeos / login / wrong_hwid_screen_handler.cc
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
11 namespace {
12
13 const char kJsScreenPath[] = "login.WrongHWIDScreen";
14
15 }  // namespace
16
17 namespace chromeos {
18
19 WrongHWIDScreenHandler::WrongHWIDScreenHandler()
20     : BaseScreenHandler(kJsScreenPath),
21       delegate_(NULL),
22       show_on_init_(false) {
23 }
24
25 WrongHWIDScreenHandler::~WrongHWIDScreenHandler() {
26   if (delegate_)
27     delegate_->OnActorDestroyed(this);
28 }
29
30 void WrongHWIDScreenHandler::PrepareToShow() {
31 }
32
33 void WrongHWIDScreenHandler::Show() {
34   if (!page_is_ready()) {
35     show_on_init_ = true;
36     return;
37   }
38   ShowScreen(OobeUI::kScreenWrongHWID, NULL);
39 }
40
41 void WrongHWIDScreenHandler::Hide() {
42 }
43
44 void WrongHWIDScreenHandler::SetDelegate(Delegate* delegate) {
45   delegate_ = delegate;
46   if (page_is_ready())
47     Initialize();
48 }
49
50 void 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
61 void 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
71 void WrongHWIDScreenHandler::RegisterMessages() {
72   AddCallback("wrongHWIDOnSkip", &WrongHWIDScreenHandler::HandleOnSkip);
73 }
74
75 void WrongHWIDScreenHandler::HandleOnSkip() {
76   if (delegate_)
77     delegate_->OnExit();
78 }
79
80 }  // namespace chromeos