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

Unified Diff: chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc

Issue 566423002: Disable repeated signin as manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with ToT Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
index 620299bed32b8b47765888d8a2e73903480e378c..c83fa63d7448f2f525af7d18fd9466872baed111 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_controller.h"
#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.h"
+#include "chrome/browser/chromeos/login/supervised/supervised_user_creation_flow.h"
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
@@ -99,6 +100,7 @@ SupervisedUserCreationScreen::SupervisedUserCreationScreen(
: WizardScreen(observer),
actor_(actor),
on_error_screen_(false),
+ manager_signin_in_progress_(false),
last_page_(kNameOfIntroScreen),
sync_service_(NULL),
image_decoder_(NULL),
@@ -162,6 +164,7 @@ void SupervisedUserCreationScreen::OnPortalDetectionCompleted(
}
void SupervisedUserCreationScreen::ShowManagerInconsistentStateErrorScreen() {
+ manager_signin_in_progress_ = false;
if (!actor_)
return;
actor_->ShowErrorPage(
@@ -201,6 +204,13 @@ void SupervisedUserCreationScreen::FinishFlow() {
void SupervisedUserCreationScreen::AuthenticateManager(
const std::string& manager_id,
const std::string& manager_password) {
+ if (manager_signin_in_progress_)
+ return;
+ manager_signin_in_progress_ = true;
+
+ UserFlow* flow = new SupervisedUserCreationFlow(manager_id);
+ ChromeUserManager::Get()->SetUserFlow(manager_id, flow);
+
// Make sure no two controllers exist at the same time.
controller_.reset();
@@ -333,12 +343,14 @@ void SupervisedUserCreationScreen::ImportSupervisedUserWithPassword(
}
void SupervisedUserCreationScreen::OnManagerLoginFailure() {
+ manager_signin_in_progress_ = false;
if (actor_)
actor_->ShowManagerPasswordError();
}
void SupervisedUserCreationScreen::OnManagerFullyAuthenticated(
Profile* manager_profile) {
+ manager_signin_in_progress_ = false;
DCHECK(controller_.get());
// For manager user, move desktop to locked container so that windows created
// during the user image picker step are below it.

Powered by Google App Engine
This is Rietveld 408576698