Chromium Code Reviews| 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 90c45761f6863ac48421d0daf863bbee66533df3..eaa97f49cc90ae616958a1b510b13b5a8e7925b6 100644 |
| --- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
| +++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/prefs/pref_service.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "chrome/browser/browser_process.h" |
| +#include "chrome/browser/first_run/first_run.h" |
| #include "chrome/browser/lifetime/application_lifetime.h" |
| #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
| #include "chrome/browser/profiles/profile_info_cache.h" |
| @@ -24,6 +25,8 @@ |
| #include "chrome/browser/ui/chrome_pages.h" |
| #include "chrome/browser/ui/singleton_tabs.h" |
| #include "chrome/browser/ui/views/profiles/user_manager_view.h" |
| +#include "chrome/browser/ui/webui/signin/login_ui_service.h" |
| +#include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "components/signin/core/browser/mutable_profile_oauth2_token_service.h" |
| @@ -64,13 +67,15 @@ namespace { |
| const int kFixedMenuWidth = 250; |
| const int kButtonHeight = 32; |
| -const int kProfileAvatarTutorialShowMax = 1; |
| const int kFixedGaiaViewHeight = 400; |
| const int kFixedGaiaViewWidth = 360; |
| const int kFixedAccountRemovalViewWidth = 280; |
| const int kFixedEndPreviewViewWidth = 280; |
| const int kLargeImageSide = 88; |
| +// The maximum number of times to show the welcome tutorial for an upgrade user. |
| +const int kUpgradeWelcomeTutorialShowMax = 1; |
| + |
| // Creates a GridLayout with a single column. This ensures that all the child |
| // views added get auto-expanded to fill the full width of the bubble. |
| views::GridLayout* CreateSingleColumnLayout(views::View* view, int width) { |
| @@ -522,14 +527,8 @@ void ProfileChooserView::ResetView() { |
| open_other_profile_indexes_map_.clear(); |
| delete_account_button_map_.clear(); |
| reauth_account_button_map_.clear(); |
| - tutorial_learn_more_link_ = NULL; |
| - tutorial_ok_button_ = NULL; |
| - tutorial_enable_new_profile_management_button_ = NULL; |
| - tutorial_end_preview_link_ = NULL; |
| - tutorial_send_feedback_button_ = NULL; |
| manage_accounts_link_ = NULL; |
| signin_current_profile_link_ = NULL; |
| - question_mark_button_ = NULL; |
| auth_error_email_button_ = NULL; |
| current_profile_photo_ = NULL; |
| current_profile_name_ = NULL; |
| @@ -540,8 +539,11 @@ void ProfileChooserView::ResetView() { |
| gaia_signin_cancel_button_ = NULL; |
| remove_account_button_ = NULL; |
| account_removal_cancel_button_ = NULL; |
| - end_preview_and_relaunch_button_ = NULL; |
| - end_preview_cancel_button_ = NULL; |
| + tutorial_sync_settings_ok_button_ = NULL; |
| + tutorial_sync_settings_link_ = NULL; |
| + tutorial_learn_more_link_ = NULL; |
| + tutorial_see_whats_new_button_ = NULL; |
| + tutorial_not_you_link_ = NULL; |
| tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; |
| } |
| @@ -561,6 +563,13 @@ void ProfileChooserView::Init() { |
| void ProfileChooserView::OnAvatarMenuChanged( |
| AvatarMenu* avatar_menu) { |
| + if (view_mode_ == profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT || |
| + view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN || |
| + view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT || |
| + view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH) { |
| + return; |
| + } |
|
Roger Tawa OOO till Jul 10th
2014/08/05 16:02:13
Add comment explaining why we ignore these modes?
guohui
2014/08/05 19:27:41
Done.
|
| + |
| // Refresh the view with the new menu. We can't just update the local copy |
| // as this may have been triggered by a sign out action, in which case |
| // the view is being destroyed. |
| @@ -569,12 +578,12 @@ void ProfileChooserView::OnAvatarMenuChanged( |
| void ProfileChooserView::OnRefreshTokenAvailable( |
| const std::string& account_id) { |
| - // Refresh the account management view when a new account is added to the |
| - // profile. |
| if (view_mode_ == profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT || |
| view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN || |
| view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT || |
| view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH) { |
| + if (view_mode_ == profiles::BUBBLE_VIEW_MODE_GAIA_SIGNIN) |
| + tutorial_mode_ = profiles::TUTORIAL_MODE_CONFIRM_SIGNIN; |
| // The account management UI is only available through the |
| // --enable-account-consistency flag. |
| ShowView(switches::IsEnableAccountConsistency() ? |
| @@ -627,10 +636,6 @@ void ProfileChooserView::ShowView(profiles::BubbleViewMode view_to_display, |
| layout = CreateSingleColumnLayout(this, kFixedAccountRemovalViewWidth); |
| sub_view = CreateAccountRemovalView(); |
| break; |
| - case profiles::BUBBLE_VIEW_MODE_END_PREVIEW: |
| - layout = CreateSingleColumnLayout(this, kFixedEndPreviewViewWidth); |
| - sub_view = CreateEndPreviewView(); |
| - break; |
| default: |
| layout = CreateSingleColumnLayout(this, kFixedMenuWidth); |
| sub_view = CreateProfileChooserView(avatar_menu, last_tutorial_mode); |
| @@ -645,6 +650,11 @@ void ProfileChooserView::ShowView(profiles::BubbleViewMode view_to_display, |
| void ProfileChooserView::WindowClosing() { |
| DCHECK_EQ(profile_bubble_, this); |
| profile_bubble_ = NULL; |
| + |
| + if (tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) { |
| + LoginUIServiceFactory::GetForProfile(browser_->profile())-> |
| + SyncConfirmationUIClosed(false /* configure_sync_first */); |
| + } |
| } |
| void ProfileChooserView::ButtonPressed(views::Button* sender, |
| @@ -668,21 +678,14 @@ void ProfileChooserView::ButtonPressed(views::Button* sender, |
| PostActionPerformed(ProfileMetrics::PROFILE_DESKTOP_MENU_LOCK); |
| } else if (sender == auth_error_email_button_) { |
| ShowView(profiles::BUBBLE_VIEW_MODE_GAIA_REAUTH, avatar_menu_.get()); |
| - } else if (sender == tutorial_ok_button_) { |
| - // If the user manually dismissed the tutorial, never show it again by |
| - // setting the number of times shown to the maximum plus 1, so that later we |
| - // could distinguish between the dismiss case and the case when the tutorial |
| - // is indeed shown for the maximum number of times. |
| - browser_->profile()->GetPrefs()->SetInteger( |
| - prefs::kProfileAvatarTutorialShown, kProfileAvatarTutorialShowMax + 1); |
| - |
| - ProfileMetrics::LogProfileUpgradeEnrollment( |
| - ProfileMetrics::PROFILE_ENROLLMENT_CLOSE_WELCOME_CARD); |
| + } else if (sender == tutorial_sync_settings_ok_button_) { |
| + LoginUIServiceFactory::GetForProfile(browser_->profile())-> |
| + SyncConfirmationUIClosed(false /* configure_sync_first */); |
| + tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; |
| ShowView(profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); |
| - } else if (sender == tutorial_enable_new_profile_management_button_) { |
| - ProfileMetrics::LogProfileUpgradeEnrollment( |
| - ProfileMetrics::PROFILE_ENROLLMENT_ACCEPT_NEW_PROFILE_MGMT); |
| - profiles::EnableNewProfileManagementPreview(browser_->profile()); |
| + } else if (sender == tutorial_see_whats_new_button_) { |
| + chrome::ShowUserManagerWithTutorial( |
| + profiles::USER_MANAGER_TUTORIAL_OVERVIEW); |
| } else if (sender == remove_account_button_) { |
| RemoveAccount(); |
| } else if (sender == account_removal_cancel_button_) { |
| @@ -699,20 +702,6 @@ void ProfileChooserView::ButtonPressed(views::Button* sender, |
| ShowView(account_management_available ? |
| profiles::BUBBLE_VIEW_MODE_ACCOUNT_MANAGEMENT : |
| profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); |
| - } else if (sender == question_mark_button_) { |
| - tutorial_mode_ = profiles::TUTORIAL_MODE_SEND_FEEDBACK; |
| - ShowView(profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); |
| - } else if (sender == tutorial_send_feedback_button_) { |
| - ProfileMetrics::LogProfileUpgradeEnrollment( |
| - ProfileMetrics::PROFILE_ENROLLMENT_SEND_FEEDBACK); |
| - chrome::OpenFeedbackDialog(browser_); |
| - } else if (sender == end_preview_and_relaunch_button_) { |
| - ProfileMetrics::LogProfileUpgradeEnrollment( |
| - ProfileMetrics::PROFILE_ENROLLMENT_DISABLE_NEW_PROFILE_MGMT); |
| - profiles::DisableNewProfileManagementPreview(browser_->profile()); |
| - } else if (sender == end_preview_cancel_button_) { |
| - tutorial_mode_ = profiles::TUTORIAL_MODE_SEND_FEEDBACK; |
| - ShowView(profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); |
| } else if (current_profile_photo_ && |
| sender == current_profile_photo_->change_photo_button()) { |
| avatar_menu_->EditProfile(avatar_menu_->GetActiveProfileIndex()); |
| @@ -773,9 +762,11 @@ void ProfileChooserView::LinkClicked(views::Link* sender, int event_flags) { |
| } else if (sender == add_account_link_) { |
| ShowView(profiles::BUBBLE_VIEW_MODE_GAIA_ADD_ACCOUNT, avatar_menu_.get()); |
| PostActionPerformed(ProfileMetrics::PROFILE_DESKTOP_MENU_ADD_ACCT); |
| + } else if (sender == tutorial_sync_settings_link_) { |
| + LoginUIServiceFactory::GetForProfile(browser_->profile())-> |
| + SyncConfirmationUIClosed(true /* configure_sync_first */); |
|
Roger Tawa OOO till Jul 10th
2014/08/05 16:02:13
Do you need to reset the tutorial mode to none her
guohui
2014/08/05 19:27:41
Done.
|
| } else if (sender == tutorial_learn_more_link_) { |
| - ProfileMetrics::LogProfileUpgradeEnrollment( |
| - ProfileMetrics::PROFILE_ENROLLMENT_LAUNCH_LEARN_MORE); |
| + // TODO(mlerman): update the UMA stats. |
| // TODO(guohui): update |learn_more_url| once it is decided. |
| const GURL lear_more_url("https://support.google.com/chrome/?hl=en#to"); |
| chrome::NavigateParams params( |
| @@ -785,8 +776,8 @@ void ProfileChooserView::LinkClicked(views::Link* sender, int event_flags) { |
| params.disposition = NEW_FOREGROUND_TAB; |
| chrome::Navigate(¶ms); |
| } else { |
| - DCHECK(sender == tutorial_end_preview_link_); |
| - ShowView(profiles::BUBBLE_VIEW_MODE_END_PREVIEW, avatar_menu_.get()); |
| + DCHECK(sender == tutorial_not_you_link_); |
| + // TODO(guohui): show a "not XXX" view. |
| } |
| } |
| @@ -853,12 +844,19 @@ views::View* ProfileChooserView::CreateProfileChooserView( |
| switches::IsNewProfileManagement() && item.signed_in); |
| current_profile_view = CreateCurrentProfileView(item, false); |
| if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER) { |
| - if (is_enable_account_consistency) { |
| - tutorial_view = |
| - last_tutorial_mode == profiles::TUTORIAL_MODE_SEND_FEEDBACK ? |
| - CreateSendPreviewFeedbackView() : |
| - CreatePreviewEnabledTutorialView( |
| - item, last_tutorial_mode == profiles::TUTORIAL_MODE_WELCOME); |
| + switch (last_tutorial_mode) { |
| + case profiles::TUTORIAL_MODE_NONE: |
| + case profiles::TUTORIAL_MODE_WELCOME_UPGRADE: |
| + tutorial_view = CreateWelcomeUpgradeTutorialViewIfNeeded( |
| + last_tutorial_mode == profiles::TUTORIAL_MODE_WELCOME_UPGRADE, |
| + item); |
| + break; |
| + case profiles::TUTORIAL_MODE_CONFIRM_SIGNIN: |
| + tutorial_view = CreateSigninConfirmationView(); |
| + break; |
| + case profiles::TUTORIAL_MODE_SHOW_ERROR: |
| + // TODO(guohui): not implemented yet. |
| + NOTREACHED(); |
| } |
| } else { |
| current_profile_accounts = CreateCurrentProfileAccountsView(item); |
| @@ -921,49 +919,6 @@ views::View* ProfileChooserView::CreateProfileChooserView( |
| return view; |
| } |
| -views::View* ProfileChooserView::CreatePreviewEnabledTutorialView( |
| - const AvatarMenu::Item& current_avatar_item, |
| - bool tutorial_shown) { |
| - if (!switches::IsNewProfileManagementPreviewEnabled()) |
| - return NULL; |
| - |
| - Profile* profile = browser_->profile(); |
| - const int show_count = profile->GetPrefs()->GetInteger( |
| - prefs::kProfileAvatarTutorialShown); |
| - // Do not show the tutorial if user has dismissed it. |
| - if (show_count > kProfileAvatarTutorialShowMax) |
| - return NULL; |
| - |
| - if (!tutorial_shown) { |
| - if (show_count == kProfileAvatarTutorialShowMax) |
| - return NULL; |
| - profile->GetPrefs()->SetInteger( |
| - prefs::kProfileAvatarTutorialShown, show_count + 1); |
| - } |
| - |
| - return CreateTutorialView( |
| - profiles::TUTORIAL_MODE_WELCOME, |
| - l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_ENABLED_TUTORIAL_TITLE), |
| - l10n_util::GetStringUTF16( |
| - IDS_PROFILES_PREVIEW_ENABLED_TUTORIAL_CONTENT_TEXT), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_OK_BUTTON), |
| - &tutorial_learn_more_link_, |
| - &tutorial_ok_button_); |
| -} |
| - |
| -views::View* ProfileChooserView::CreateSendPreviewFeedbackView() { |
| - return CreateTutorialView( |
| - profiles::TUTORIAL_MODE_SEND_FEEDBACK, |
| - l10n_util::GetStringUTF16(IDS_PROFILES_FEEDBACK_TUTORIAL_TITLE), |
| - l10n_util::GetStringUTF16( |
| - IDS_PROFILES_FEEDBACK_TUTORIAL_CONTENT_TEXT), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_END_PREVIEW), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_SEND_FEEDBACK_BUTTON), |
| - &tutorial_end_preview_link_, |
| - &tutorial_send_feedback_button_); |
| -} |
| - |
| views::View* ProfileChooserView::CreateTutorialView( |
| profiles::TutorialMode tutorial_mode, |
| const base::string16& title_text, |
| @@ -1030,32 +985,7 @@ views::View* ProfileChooserView::CreateTutorialView( |
| layout->StartRowWithPadding(1, 0, 0, views::kUnrelatedControlVerticalSpacing); |
| layout->AddView(button_row); |
| - // Adds a padded caret image at the bottom. |
| - views::View* padded_caret_view = new views::View(); |
| - views::GridLayout* padded_caret_layout = |
| - new views::GridLayout(padded_caret_view); |
| - views::ColumnSet* padded_columns = padded_caret_layout->AddColumnSet(0); |
| - padded_columns->AddPaddingColumn(0, views::kButtonHEdgeMarginNew); |
| - padded_columns->AddColumn(views::GridLayout::LEADING, |
| - views::GridLayout::CENTER, 0, views::GridLayout::USE_PREF, 0, 0); |
| - padded_caret_view->SetLayoutManager(padded_caret_layout); |
| - |
| - views::ImageView* caret_image_view = new views::ImageView(); |
| - ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); |
| - caret_image_view->SetImage( |
| - *rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_CARET)); |
| - |
| - padded_caret_layout->StartRow(1, 0); |
| - padded_caret_layout->AddView(caret_image_view); |
| - |
| - views::View* view_with_caret = new views::View(); |
| - views::GridLayout* layout_with_caret = |
| - CreateSingleColumnLayout(view_with_caret, kFixedMenuWidth); |
| - layout_with_caret->StartRow(1, 0); |
| - layout_with_caret->AddView(view); |
| - layout_with_caret->StartRow(1, 0); |
| - layout_with_caret->AddView(padded_caret_view); |
| - return view_with_caret; |
| + return view; |
| } |
| views::View* ProfileChooserView::CreateCurrentProfileView( |
| @@ -1079,22 +1009,6 @@ views::View* ProfileChooserView::CreateCurrentProfileView( |
| profile_icon_container->AddChildView(current_profile_photo_); |
| ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); |
| - if (switches::IsNewProfileManagementPreviewEnabled()) { |
| - question_mark_button_ = new views::ImageButton(this); |
| - question_mark_button_->SetImageAlignment( |
| - views::ImageButton::ALIGN_LEFT, views::ImageButton::ALIGN_MIDDLE); |
| - question_mark_button_->SetImage(views::ImageButton::STATE_NORMAL, |
| - rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_QUESTION_STABLE)); |
| - question_mark_button_->SetImage(views::ImageButton::STATE_HOVERED, |
| - rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_QUESTION_HOVER)); |
| - question_mark_button_->SetImage(views::ImageButton::STATE_PRESSED, |
| - rb->GetImageSkiaNamed(IDR_ICON_PROFILES_MENU_QUESTION_SELECT)); |
| - gfx::Size preferred_size = question_mark_button_->GetPreferredSize(); |
| - question_mark_button_->SetBounds( |
| - 0, 0, preferred_size.width(), preferred_size.height()); |
| - profile_icon_container->AddChildView(question_mark_button_); |
| - } |
| - |
| if (browser_->profile()->IsSupervised()) { |
| views::ImageView* supervised_icon = new views::ImageView(); |
| supervised_icon->SetImage( |
| @@ -1159,9 +1073,8 @@ views::View* ProfileChooserView::CreateCurrentProfileView( |
| } |
| } |
| } else { |
| - SigninManagerBase* signin_manager = |
| - SigninManagerFactory::GetForProfile( |
| - browser_->profile()->GetOriginalProfile()); |
| + SigninManager* signin_manager = SigninManagerFactory::GetForProfile( |
| + browser_->profile()->GetOriginalProfile()); |
| if (signin_manager->IsSigninAllowed()) { |
| views::Label* promo = new views::Label( |
| l10n_util::GetStringUTF16(IDS_PROFILES_SIGNIN_PROMO)); |
| @@ -1487,49 +1400,52 @@ views::View* ProfileChooserView::CreateAccountRemovalView() { |
| kFixedAccountRemovalViewWidth); |
| } |
| -views::View* ProfileChooserView::CreateNewProfileManagementPreviewView() { |
| - return CreateTutorialView( |
| - profiles::TUTORIAL_MODE_ENABLE_PREVIEW, |
| - l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_TITLE), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_PREVIEW_TUTORIAL_CONTENT_TEXT), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_PROFILE_TUTORIAL_LEARN_MORE), |
| - l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_TRY_BUTTON), |
| - &tutorial_learn_more_link_, |
| - &tutorial_enable_new_profile_management_button_); |
| -} |
| +views::View* ProfileChooserView::CreateWelcomeUpgradeTutorialViewIfNeeded( |
| + bool tutorial_shown, const AvatarMenu::Item& avatar_item){ |
| + if (first_run::IsChromeFirstRun()) |
| + return NULL; |
| -views::View* ProfileChooserView::CreateEndPreviewView() { |
| - views::View* view = new views::View(); |
| - views::GridLayout* layout = CreateSingleColumnLayout( |
| - view, kFixedAccountRemovalViewWidth - 2 * views::kButtonHEdgeMarginNew); |
| - layout->SetInsets(0, |
| - views::kButtonHEdgeMarginNew, |
| - views::kButtonVEdgeMarginNew, |
| - views::kButtonHEdgeMarginNew); |
| + Profile* profile = browser_->profile(); |
| + if (!avatar_item.signed_in) { |
| + profile->GetPrefs()->SetInteger( |
| + prefs::kProfileAvatarTutorialShown, kUpgradeWelcomeTutorialShowMax + 1); |
| + return NULL; |
| + } |
| - // Adds main text. |
| - views::Label* content_label = new views::Label( |
| - l10n_util::GetStringUTF16(IDS_PROFILES_END_PREVIEW_TEXT)); |
| - content_label->SetMultiLine(true); |
| - content_label->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| - ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance(); |
| - const gfx::FontList& small_font_list = |
| - rb->GetFontList(ui::ResourceBundle::SmallFont); |
| - content_label->SetFontList(small_font_list); |
| - layout->StartRowWithPadding(1, 0, 0, views::kUnrelatedControlVerticalSpacing); |
| - layout->AddView(content_label); |
| + const int show_count = profile->GetPrefs()->GetInteger( |
| + prefs::kProfileAvatarTutorialShown); |
| + // Do not show the tutorial if user has dismissed it. |
| + if (show_count > kUpgradeWelcomeTutorialShowMax) |
| + return NULL; |
| - // Adds button. |
| - end_preview_and_relaunch_button_ = new views::BlueButton( |
| - this, l10n_util::GetStringUTF16(IDS_PROFILES_END_PREVIEW_AND_RELAUNCH)); |
| - end_preview_and_relaunch_button_->SetHorizontalAlignment( |
| - gfx::ALIGN_CENTER); |
| - layout->StartRowWithPadding( |
| - 1, 0, 0, views::kUnrelatedControlVerticalSpacing); |
| - layout->AddView(end_preview_and_relaunch_button_); |
| - |
| - TitleCard* title_card = new TitleCard( |
| - IDS_PROFILES_END_PREVIEW, this, &end_preview_cancel_button_); |
| - return TitleCard::AddPaddedTitleCard( |
| - view, title_card, kFixedAccountRemovalViewWidth); |
| + if (!tutorial_shown) { |
| + if (show_count == kUpgradeWelcomeTutorialShowMax) |
| + return NULL; |
| + profile->GetPrefs()->SetInteger( |
| + prefs::kProfileAvatarTutorialShown, show_count + 1); |
| + } |
| + |
| + return CreateTutorialView( |
| + profiles::TUTORIAL_MODE_WELCOME_UPGRADE, |
| + l10n_util::GetStringFUTF16( |
| + IDS_PROFILES_WELCOME_UPGRADE_TUTORIAL_TITLE, avatar_item.name), |
| + l10n_util::GetStringUTF16( |
| + IDS_PROFILES_WELCOME_UPGRADE_TUTORIAL_CONTENT_TEXT), |
| + l10n_util::GetStringFUTF16( |
| + IDS_PROFILES_TUTORIAL_NOT_YOU_LINK, avatar_item.name), |
| + l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_WHATS_NEW_BUTTON), |
| + &tutorial_not_you_link_, |
| + &tutorial_see_whats_new_button_); |
| +} |
| + |
| +views::View* ProfileChooserView::CreateSigninConfirmationView(){ |
| + return CreateTutorialView( |
| + profiles::TUTORIAL_MODE_CONFIRM_SIGNIN, |
| + l10n_util::GetStringUTF16(IDS_PROFILES_CONFIRM_SIGNIN_TUTORIAL_TITLE), |
| + l10n_util::GetStringUTF16( |
| + IDS_PROFILES_CONFIRM_SIGNIN_TUTORIAL_CONTENT_TEXT), |
| + l10n_util::GetStringUTF16(IDS_PROFILES_SYNC_SETTINGS_LINK), |
| + l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_OK_BUTTON), |
| + &tutorial_sync_settings_link_, |
| + &tutorial_sync_settings_ok_button_); |
| } |