Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc

Issue 10832009: Additional checks/calls for cases when WebUI may be already gone but OOBE screen instance is not (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix tests Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/chromeos/login/update_screen.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/update_screen.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698