Index: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
index a56bbe86f0f4b62d786d9c086bb32c4b41c3cbb3..286608b7dae19cb53c709a9ee54eb8047d80f29d 100644 |
--- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
+++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
@@ -469,11 +469,17 @@ void UserManagerScreenHandler::HandleAuthenticatedLaunchUser( |
} |
} |
- // In order to support the upgrade case where we have a local hash but no |
- // password token, the user perform a full online reauth. |
- UserManager::ShowReauthDialog(web_ui()->GetWebContents()->GetBrowserContext(), |
- email_address_, |
- signin_metrics::Reason::REASON_UNLOCK); |
+ content::BrowserContext* browser_context = |
+ web_ui()->GetWebContents()->GetBrowserContext(); |
+ if (!email_address_.empty()) { |
+ // In order to support the upgrade case where we have a local hash but no |
+ // password token, the user perform a full online reauth. |
+ UserManager::ShowReauthDialog(browser_context, email_address_, |
+ signin_metrics::Reason::REASON_UNLOCK); |
+ } else { |
+ // Fresh sign in via user manager without existed email address. |
+ UserManager::ShowSigninDialog(browser_context, profile_path); |
+ } |
} |
void UserManagerScreenHandler::HandleRemoveUser(const base::ListValue* args) { |