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/signin_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/signin_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/callback.h" | 9 #include "base/callback.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 base::Unretained(this))); | 297 base::Unretained(this))); |
298 web_ui()->RegisterMessageCallback("offlineLogin", | 298 web_ui()->RegisterMessageCallback("offlineLogin", |
299 base::Bind(&SigninScreenHandler::HandleOfflineLogin, | 299 base::Bind(&SigninScreenHandler::HandleOfflineLogin, |
300 base::Unretained(this))); | 300 base::Unretained(this))); |
301 web_ui()->RegisterMessageCallback("showAddUser", | 301 web_ui()->RegisterMessageCallback("showAddUser", |
302 base::Bind(&SigninScreenHandler::HandleShowAddUser, | 302 base::Bind(&SigninScreenHandler::HandleShowAddUser, |
303 base::Unretained(this))); | 303 base::Unretained(this))); |
304 web_ui()->RegisterMessageCallback("shutdownSystem", | 304 web_ui()->RegisterMessageCallback("shutdownSystem", |
305 base::Bind(&SigninScreenHandler::HandleShutdownSystem, | 305 base::Bind(&SigninScreenHandler::HandleShutdownSystem, |
306 base::Unretained(this))); | 306 base::Unretained(this))); |
307 web_ui()->RegisterMessageCallback("userSelectedDelayed", | 307 web_ui()->RegisterMessageCallback("loadWallpaper", |
308 base::Bind(&SigninScreenHandler::HandleUserSelected, | 308 base::Bind(&SigninScreenHandler::HandleLoadWallpaper, |
309 base::Unretained(this))); | |
310 web_ui()->RegisterMessageCallback("userDeselected", | |
311 base::Bind(&SigninScreenHandler::HandleUserDeselected, | |
312 base::Unretained(this))); | 309 base::Unretained(this))); |
313 web_ui()->RegisterMessageCallback("removeUser", | 310 web_ui()->RegisterMessageCallback("removeUser", |
314 base::Bind(&SigninScreenHandler::HandleRemoveUser, | 311 base::Bind(&SigninScreenHandler::HandleRemoveUser, |
315 base::Unretained(this))); | 312 base::Unretained(this))); |
316 web_ui()->RegisterMessageCallback("toggleEnrollmentScreen", | 313 web_ui()->RegisterMessageCallback("toggleEnrollmentScreen", |
317 base::Bind(&SigninScreenHandler::HandleToggleEnrollmentScreen, | 314 base::Bind(&SigninScreenHandler::HandleToggleEnrollmentScreen, |
318 base::Unretained(this))); | 315 base::Unretained(this))); |
319 web_ui()->RegisterMessageCallback("toggleResetScreen", | 316 web_ui()->RegisterMessageCallback("toggleResetScreen", |
320 base::Bind(&SigninScreenHandler::HandleToggleResetScreen, | 317 base::Bind(&SigninScreenHandler::HandleToggleResetScreen, |
321 base::Unretained(this))); | 318 base::Unretained(this))); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 if (gaia_silent_load_ && | 464 if (gaia_silent_load_ && |
468 (!network_state_informer_->is_online() || | 465 (!network_state_informer_->is_online() || |
469 gaia_silent_load_network_ != | 466 gaia_silent_load_network_ != |
470 network_state_informer_->active_network_id())) { | 467 network_state_informer_->active_network_id())) { |
471 // Network has changed. Force Gaia reload. | 468 // Network has changed. Force Gaia reload. |
472 gaia_silent_load_ = false; | 469 gaia_silent_load_ = false; |
473 // Gaia page will be realoded, so focus isn't stolen anymore. | 470 // Gaia page will be realoded, so focus isn't stolen anymore. |
474 focus_stolen_ = false; | 471 focus_stolen_ = false; |
475 } | 472 } |
476 | 473 |
| 474 // Note that LoadAuthExtension clears |email_|. |
| 475 if (email_.empty()) |
| 476 delegate_->LoadSigninWallpaper(); |
| 477 else |
| 478 delegate_->LoadWallpaper(email_); |
| 479 |
477 LoadAuthExtension(!gaia_silent_load_, false, false); | 480 LoadAuthExtension(!gaia_silent_load_, false, false); |
478 ShowScreen(kGaiaSigninScreen, NULL); | 481 ShowScreen(kGaiaSigninScreen, NULL); |
479 | 482 |
480 if (gaia_silent_load_) { | 483 if (gaia_silent_load_) { |
481 // The variable is assigned to false because silently loaded Gaia page was | 484 // The variable is assigned to false because silently loaded Gaia page was |
482 // used. | 485 // used. |
483 gaia_silent_load_ = false; | 486 gaia_silent_load_ = false; |
484 if (focus_stolen_) | 487 if (focus_stolen_) |
485 HandleLoginWebuiReady(NULL); | 488 HandleLoginWebuiReady(NULL); |
486 } | 489 } |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 | 628 |
626 void SigninScreenHandler::HandleShutdownSystem(const base::ListValue* args) { | 629 void SigninScreenHandler::HandleShutdownSystem(const base::ListValue* args) { |
627 #if defined(USE_AURA) | 630 #if defined(USE_AURA) |
628 // Display the shutdown animation before actually requesting shutdown. | 631 // Display the shutdown animation before actually requesting shutdown. |
629 ash::Shell::GetInstance()->power_button_controller()->RequestShutdown(); | 632 ash::Shell::GetInstance()->power_button_controller()->RequestShutdown(); |
630 #else | 633 #else |
631 DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown(); | 634 DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown(); |
632 #endif | 635 #endif |
633 } | 636 } |
634 | 637 |
635 void SigninScreenHandler::HandleUserDeselected(const base::ListValue* args) { | 638 void SigninScreenHandler::HandleLoadWallpaper(const base::ListValue* args) { |
636 if (delegate_) | |
637 delegate_->OnUserDeselected(); | |
638 } | |
639 | |
640 void SigninScreenHandler::HandleUserSelected(const base::ListValue* args) { | |
641 if (!delegate_) | 639 if (!delegate_) |
642 return; | 640 return; |
643 | 641 |
644 std::string email; | 642 std::string email; |
645 if (!args->GetString(0, &email)) { | 643 if (!args->GetString(0, &email)) { |
646 NOTREACHED(); | 644 NOTREACHED(); |
647 return; | 645 return; |
648 } | 646 } |
649 | 647 |
650 delegate_->OnUserSelected(email); | 648 delegate_->LoadWallpaper(email); |
651 } | 649 } |
652 | 650 |
653 void SigninScreenHandler::HandleRemoveUser(const base::ListValue* args) { | 651 void SigninScreenHandler::HandleRemoveUser(const base::ListValue* args) { |
654 if (!delegate_) | 652 if (!delegate_) |
655 return; | 653 return; |
656 | 654 |
657 std::string email; | 655 std::string email; |
658 if (!args->GetString(0, &email)) { | 656 if (!args->GetString(0, &email)) { |
659 NOTREACHED(); | 657 NOTREACHED(); |
660 return; | 658 return; |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
993 ConnectionType last_network_type) { | 991 ConnectionType last_network_type) { |
994 base::FundamentalValue state_value(state); | 992 base::FundamentalValue state_value(state); |
995 base::StringValue network_value(network_name); | 993 base::StringValue network_value(network_name); |
996 base::StringValue reason_value(reason); | 994 base::StringValue reason_value(reason); |
997 base::FundamentalValue last_network_value(last_network_type); | 995 base::FundamentalValue last_network_value(last_network_type); |
998 web_ui()->CallJavascriptFunction(callback, | 996 web_ui()->CallJavascriptFunction(callback, |
999 state_value, network_value, reason_value, last_network_value); | 997 state_value, network_value, reason_value, last_network_value); |
1000 } | 998 } |
1001 | 999 |
1002 } // namespace chromeos | 1000 } // namespace chromeos |
OLD | NEW |