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/chromeos/login/existing_user_controller.h" | 5 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 // Wait for login attempt to end, if it hasn't yet. | 715 // Wait for login attempt to end, if it hasn't yet. |
716 if (offline_failed_ && !is_login_in_progress_) | 716 if (offline_failed_ && !is_login_in_progress_) |
717 ShowGaiaPasswordChanged(username); | 717 ShowGaiaPasswordChanged(username); |
718 } | 718 } |
719 } | 719 } |
720 | 720 |
721 //////////////////////////////////////////////////////////////////////////////// | 721 //////////////////////////////////////////////////////////////////////////////// |
722 // ExistingUserController, private: | 722 // ExistingUserController, private: |
723 | 723 |
724 void ExistingUserController::DeviceSettingsChanged() { | 724 void ExistingUserController::DeviceSettingsChanged() { |
725 if (host_ != NULL) { | 725 // If login was already completed, we should avoid any signin screen |
| 726 // transitions, see http://crbug.com/461604 for example. |
| 727 if (host_ != NULL && !login_display_->is_signin_completed()) { |
726 // Signed settings or user list changed. Notify views and update them. | 728 // Signed settings or user list changed. Notify views and update them. |
727 UpdateLoginDisplay(user_manager::UserManager::Get()->GetUsers()); | 729 UpdateLoginDisplay(user_manager::UserManager::Get()->GetUsers()); |
728 ConfigurePublicSessionAutoLogin(); | 730 ConfigurePublicSessionAutoLogin(); |
729 return; | |
730 } | 731 } |
731 } | 732 } |
732 | 733 |
733 LoginPerformer::AuthorizationMode ExistingUserController::auth_mode() const { | 734 LoginPerformer::AuthorizationMode ExistingUserController::auth_mode() const { |
734 if (login_performer_) | 735 if (login_performer_) |
735 return login_performer_->auth_mode(); | 736 return login_performer_->auth_mode(); |
736 | 737 |
737 return auth_mode_; | 738 return auth_mode_; |
738 } | 739 } |
739 | 740 |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 login_display_->SetUIEnabled(true); | 1160 login_display_->SetUIEnabled(true); |
1160 // Restart the auto-login timer. | 1161 // Restart the auto-login timer. |
1161 StartPublicSessionAutoLoginTimer(); | 1162 StartPublicSessionAutoLoginTimer(); |
1162 } | 1163 } |
1163 | 1164 |
1164 PerformPreLoginActions(user_context); | 1165 PerformPreLoginActions(user_context); |
1165 PerformLogin(user_context, LoginPerformer::AUTH_MODE_INTERNAL); | 1166 PerformLogin(user_context, LoginPerformer::AUTH_MODE_INTERNAL); |
1166 } | 1167 } |
1167 | 1168 |
1168 } // namespace chromeos | 1169 } // namespace chromeos |
OLD | NEW |