| Index: chrome/browser/ui/webui/signin/login_ui_service.cc
|
| diff --git a/chrome/browser/ui/webui/signin/login_ui_service.cc b/chrome/browser/ui/webui/signin/login_ui_service.cc
|
| index 6da0f5014070242bae608b03758e4e4392607d3f..a413f6d839fc6c5af5baf0793cae154cab3af055 100644
|
| --- a/chrome/browser/ui/webui/signin/login_ui_service.cc
|
| +++ b/chrome/browser/ui/webui/signin/login_ui_service.cc
|
| @@ -66,17 +66,23 @@ void LoginUIService::ShowLoginPopup() {
|
| }
|
|
|
| void LoginUIService::DisplayLoginResult(Browser* browser,
|
| - const base::string16& message) {
|
| + const base::string16& error_message,
|
| + const base::string16& email) {
|
| #if defined(OS_CHROMEOS)
|
| // ChromeOS doesn't have the avatar bubble so it never calls this function.
|
| NOTREACHED();
|
| #endif
|
| - last_login_result_ = message;
|
| - browser->window()->ShowAvatarBubbleFromAvatarButton(
|
| - message.empty() ? BrowserWindow::AVATAR_BUBBLE_MODE_CONFIRM_SIGNIN
|
| - : BrowserWindow::AVATAR_BUBBLE_MODE_SHOW_ERROR,
|
| - signin::ManageAccountsParams(),
|
| - signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS);
|
| + last_login_result_ = error_message;
|
| + last_login_error_email_ = email;
|
| + if (switches::IsMaterialDesignUserMenu() && !error_message.empty()) {
|
| + browser->ShowModalSigninErrorWindow();
|
| + } else {
|
| + browser->window()->ShowAvatarBubbleFromAvatarButton(
|
| + error_message.empty() ? BrowserWindow::AVATAR_BUBBLE_MODE_CONFIRM_SIGNIN
|
| + : BrowserWindow::AVATAR_BUBBLE_MODE_SHOW_ERROR,
|
| + signin::ManageAccountsParams(),
|
| + signin_metrics::AccessPoint::ACCESS_POINT_EXTENSIONS);
|
| + }
|
| }
|
|
|
| const base::string16& LoginUIService::GetLastLoginResult() const {
|
|
|