OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 // NetworkScreenHandler, public: ----------------------------------------------- | 41 // NetworkScreenHandler, public: ----------------------------------------------- |
42 | 42 |
43 NetworkScreenHandler::NetworkScreenHandler() | 43 NetworkScreenHandler::NetworkScreenHandler() |
44 : screen_(NULL), | 44 : screen_(NULL), |
45 is_continue_enabled_(false), | 45 is_continue_enabled_(false), |
46 show_on_init_(false) { | 46 show_on_init_(false) { |
47 } | 47 } |
48 | 48 |
49 NetworkScreenHandler::~NetworkScreenHandler() { | 49 NetworkScreenHandler::~NetworkScreenHandler() { |
| 50 if (screen_) |
| 51 screen_->OnActorDestroyed(this); |
50 } | 52 } |
51 | 53 |
52 // NetworkScreenHandler, NetworkScreenActor implementation: -------------------- | 54 // NetworkScreenHandler, NetworkScreenActor implementation: -------------------- |
53 | 55 |
54 void NetworkScreenHandler::SetDelegate(NetworkScreenActor::Delegate* screen) { | 56 void NetworkScreenHandler::SetDelegate(NetworkScreenActor::Delegate* screen) { |
55 screen_ = screen; | 57 screen_ = screen; |
56 } | 58 } |
57 | 59 |
58 void NetworkScreenHandler::PrepareToShow() { | 60 void NetworkScreenHandler::PrepareToShow() { |
59 } | 61 } |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 base::Unretained(this))); | 146 base::Unretained(this))); |
145 web_ui()->RegisterMessageCallback(kJsApiNetworkOnInputMethodChanged, | 147 web_ui()->RegisterMessageCallback(kJsApiNetworkOnInputMethodChanged, |
146 base::Bind(&NetworkScreenHandler::HandleOnInputMethodChanged, | 148 base::Bind(&NetworkScreenHandler::HandleOnInputMethodChanged, |
147 base::Unretained(this))); | 149 base::Unretained(this))); |
148 } | 150 } |
149 | 151 |
150 // NetworkScreenHandler, private: ---------------------------------------------- | 152 // NetworkScreenHandler, private: ---------------------------------------------- |
151 | 153 |
152 void NetworkScreenHandler::HandleOnExit(const ListValue* args) { | 154 void NetworkScreenHandler::HandleOnExit(const ListValue* args) { |
153 ClearErrors(); | 155 ClearErrors(); |
154 screen_->OnContinuePressed(); | 156 if (screen_) |
| 157 screen_->OnContinuePressed(); |
155 } | 158 } |
156 | 159 |
157 void NetworkScreenHandler::HandleOnLanguageChanged(const ListValue* args) { | 160 void NetworkScreenHandler::HandleOnLanguageChanged(const ListValue* args) { |
158 DCHECK(args->GetSize() == 1); | 161 DCHECK(args->GetSize() == 1); |
159 std::string locale; | 162 std::string locale; |
160 if (!args->GetString(0, &locale)) | 163 if (!args->GetString(0, &locale)) |
161 NOTREACHED(); | 164 NOTREACHED(); |
162 | 165 |
163 // TODO(altimofeev): make language change async. | 166 // TODO(altimofeev): make language change async. |
164 LanguageSwitchMenu::SwitchLanguageAndEnableKeyboardLayouts(locale); | 167 LanguageSwitchMenu::SwitchLanguageAndEnableKeyboardLayouts(locale); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 "title", | 232 "title", |
230 util->GetInputMethodLongName(input_methods->at(i))); | 233 util->GetInputMethodLongName(input_methods->at(i))); |
231 input_method->SetBoolean("selected", | 234 input_method->SetBoolean("selected", |
232 ime_id == current_input_method_id); | 235 ime_id == current_input_method_id); |
233 input_methods_list->Append(input_method); | 236 input_methods_list->Append(input_method); |
234 } | 237 } |
235 return input_methods_list; | 238 return input_methods_list; |
236 } | 239 } |
237 | 240 |
238 } // namespace chromeos | 241 } // namespace chromeos |
OLD | NEW |