| Index: chrome/browser/ui/views/profiles/profile_chooser_view.cc
|
| diff --git a/chrome/browser/ui/views/profiles/profile_chooser_view.cc b/chrome/browser/ui/views/profiles/profile_chooser_view.cc
|
| index df8bcaffbe438ee4db98cbb3d1662a92db6e96be..88126598e7ed3f37cfd30565644f618b3f4d6cbc 100644
|
| --- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc
|
| +++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc
|
| @@ -556,6 +556,7 @@ void ProfileChooserView::ResetView() {
|
| tutorial_sync_settings_link_ = NULL;
|
| tutorial_see_whats_new_button_ = NULL;
|
| tutorial_not_you_link_ = NULL;
|
| + tutorial_learn_more_link_ = NULL;
|
| }
|
|
|
| void ProfileChooserView::Init() {
|
| @@ -807,11 +808,13 @@ void ProfileChooserView::LinkClicked(views::Link* sender, int event_flags) {
|
| tutorial_mode_ = profiles::TUTORIAL_MODE_NONE;
|
| ProfileMetrics::LogProfileNewAvatarMenuSignin(
|
| ProfileMetrics::PROFILE_AVATAR_MENU_SIGNIN_SETTINGS);
|
| - } else {
|
| - DCHECK(sender == tutorial_not_you_link_);
|
| + } else if (sender == tutorial_not_you_link_){
|
| ProfileMetrics::LogProfileNewAvatarMenuUpgrade(
|
| ProfileMetrics::PROFILE_AVATAR_MENU_UPGRADE_NOT_YOU);
|
| ShowView(profiles::BUBBLE_VIEW_MODE_SWITCH_USER, avatar_menu_.get());
|
| + } else {
|
| + DCHECK(sender == tutorial_learn_more_link_);
|
| + signin_ui_util::ShowSigninErrorLearnMorePage(browser_->profile());
|
| }
|
| }
|
|
|
| @@ -879,8 +882,8 @@ views::View* ProfileChooserView::CreateProfileChooserView(
|
| tutorial_view = CreateSigninConfirmationView();
|
| break;
|
| case profiles::TUTORIAL_MODE_SHOW_ERROR:
|
| - // TODO(guohui): not implemented yet.
|
| - NOTREACHED();
|
| + tutorial_view = CreateSigninErrorView();
|
| + break;
|
| }
|
| } else {
|
| current_profile_accounts = CreateCurrentProfileAccountsView(item);
|
| @@ -1019,9 +1022,12 @@ views::View* ProfileChooserView::CreateTutorialView(
|
| layout->AddView(content_label);
|
|
|
| // Adds links and buttons.
|
| - *button = new views::LabelButton(this, button_text);
|
| - (*button)->SetHorizontalAlignment(gfx::ALIGN_CENTER);
|
| - (*button)->SetStyle(views::Button::STYLE_BUTTON);
|
| + bool has_button = !button_text.empty();
|
| + if (has_button) {
|
| + *button = new views::LabelButton(this, button_text);
|
| + (*button)->SetHorizontalAlignment(gfx::ALIGN_CENTER);
|
| + (*button)->SetStyle(views::Button::STYLE_BUTTON);
|
| + }
|
|
|
| bool has_link = !link_text.empty();
|
| if (has_link) {
|
| @@ -1032,6 +1038,7 @@ views::View* ProfileChooserView::CreateTutorialView(
|
| }
|
|
|
| if (stack_button) {
|
| + DCHECK(has_button);
|
| layout->StartRowWithPadding(
|
| 1, 0, 0, views::kUnrelatedControlVerticalSpacing);
|
| layout->AddView(*button);
|
| @@ -1042,13 +1049,17 @@ views::View* ProfileChooserView::CreateTutorialView(
|
| layout->AddView(*link);
|
| }
|
| } else {
|
| + DCHECK(has_link || has_button);
|
| layout->StartRowWithPadding(
|
| 1, 1, 0, views::kUnrelatedControlVerticalSpacing);
|
| if (has_link)
|
| layout->AddView(*link);
|
| else
|
| layout->SkipColumns(1);
|
| - layout->AddView(*button);
|
| + if (has_button)
|
| + layout->AddView(*button);
|
| + else
|
| + layout->SkipColumns(1);
|
| }
|
|
|
| return view;
|
| @@ -1508,7 +1519,7 @@ views::View* ProfileChooserView::CreateWelcomeUpgradeTutorialViewIfNeeded(
|
| &tutorial_close_button_);
|
| }
|
|
|
| -views::View* ProfileChooserView::CreateSigninConfirmationView(){
|
| +views::View* ProfileChooserView::CreateSigninConfirmationView() {
|
| ProfileMetrics::LogProfileNewAvatarMenuSignin(
|
| ProfileMetrics::PROFILE_AVATAR_MENU_SIGNIN_VIEW);
|
|
|
| @@ -1525,6 +1536,22 @@ views::View* ProfileChooserView::CreateSigninConfirmationView(){
|
| NULL /* close_button*/);
|
| }
|
|
|
| +views::View* ProfileChooserView::CreateSigninErrorView() {
|
| + LoginUIService* login_ui_service =
|
| + LoginUIServiceFactory::GetForProfile(browser_->profile());
|
| + base::string16 last_login_result(login_ui_service->GetLastLoginResult());
|
| + return CreateTutorialView(
|
| + profiles::TUTORIAL_MODE_SHOW_ERROR,
|
| + l10n_util::GetStringUTF16(IDS_PROFILES_ERROR_TUTORIAL_TITLE),
|
| + last_login_result,
|
| + l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE),
|
| + base::string16(),
|
| + false /* stack_button */,
|
| + &tutorial_learn_more_link_,
|
| + NULL,
|
| + &tutorial_close_button_);
|
| +}
|
| +
|
| views::View* ProfileChooserView::CreateSwitchUserView() {
|
| views::View* view = new views::View();
|
| views::GridLayout* layout = CreateSingleColumnLayout(
|
|
|