| Index: chrome/browser/chromeos/login/login_performer.cc
|
| diff --git a/chrome/browser/chromeos/login/login_performer.cc b/chrome/browser/chromeos/login/login_performer.cc
|
| index 365704f51217923abcbe21065cadab6ecf76134b..0604adf9a6baa7f35e065e2a7bd5d7ea9d0cb03d 100644
|
| --- a/chrome/browser/chromeos/login/login_performer.cc
|
| +++ b/chrome/browser/chromeos/login/login_performer.cc
|
| @@ -17,7 +17,9 @@
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/chromeos/boot_times_loader.h"
|
| #include "chrome/browser/chromeos/login/login_utils.h"
|
| -#include "chrome/browser/chromeos/login/managed/locally_managed_user_login_flow.h"
|
| +#include "chrome/browser/chromeos/login/managed/supervised_user_authentication.h"
|
| +#include "chrome/browser/chromeos/login/managed/supervised_user_login_flow.h"
|
| +#include "chrome/browser/chromeos/login/supervised_user_manager.h"
|
| #include "chrome/browser/chromeos/login/user_manager.h"
|
| #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| @@ -209,17 +211,38 @@ void LoginPerformer::LoginAsLocallyManagedUser(
|
| return;
|
| }
|
|
|
| - UserFlow* new_flow = new LocallyManagedUserLoginFlow(user_context.username);
|
| + SupervisedUserLoginFlow* new_flow =
|
| + new SupervisedUserLoginFlow(user_context.username);
|
| new_flow->set_host(
|
| UserManager::Get()->GetUserFlow(user_context.username)->host());
|
| UserManager::Get()->SetUserFlow(user_context.username, new_flow);
|
|
|
| + SupervisedUserAuthentication* authentication = UserManager::Get()->
|
| + GetSupervisedUserManager()->GetAuthentication();
|
| +
|
| + if (authentication->PasswordNeedsMigration(user_context.username)) {
|
| + authentication->SchedulePasswordMigration(user_context.username,
|
| + user_context.password,
|
| + new_flow);
|
| + }
|
| +
|
| + UserContext user_context_copy(
|
| + user_context.username,
|
| + user_context.password,
|
| + user_context.auth_code,
|
| + user_context.username_hash,
|
| + user_context.using_oauth);
|
| +
|
| + user_context_copy.password = authentication->TransformPassword(
|
| + user_context_copy.username,
|
| + user_context_copy.password);
|
| +
|
| authenticator_ = LoginUtils::Get()->CreateAuthenticator(this);
|
| BrowserThread::PostTask(
|
| BrowserThread::UI, FROM_HERE,
|
| base::Bind(&Authenticator::LoginAsLocallyManagedUser,
|
| authenticator_.get(),
|
| - user_context));
|
| + user_context_copy));
|
| }
|
|
|
| void LoginPerformer::LoginRetailMode() {
|
|
|