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/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
     81