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 f55258026ec657bf0ba3466211ae3fa8ea3bc099..b234b60f74f38e93701838879f631660fd30ab4b 100644 |
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
@@ -491,7 +491,7 @@ void ProfileChooserView::ShowBubble( |
// It has to happen here to prevent the view system from creating an empty |
// container. |
if (view_mode == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER && |
- profiles::HasProfileSwitchTargets(browser->profile())) { |
+ !profiles::HasProfileSwitchTargets(browser->profile())) { |
return; |
} |
@@ -916,9 +916,12 @@ void ProfileChooserView::PopulateCompleteProfileChooserView( |
switch (tutorial_mode_) { |
case profiles::TUTORIAL_MODE_NONE: |
case profiles::TUTORIAL_MODE_WELCOME_UPGRADE: |
+ case profiles::TUTORIAL_MODE_RIGHT_CLICK_SWITCHING: |
tutorial_view = CreateWelcomeUpgradeTutorialViewIfNeeded( |
tutorial_mode_ == profiles::TUTORIAL_MODE_WELCOME_UPGRADE, |
item); |
+ if (!tutorial_view) |
Mike Lerman
2015/05/05 01:31:45
I understand what you're doing here, but the contr
anthonyvd
2015/05/05 16:19:17
Very good point, here's a small refactor :) Let me
Mike Lerman
2015/05/05 17:18:09
I love it! Thanks!
|
+ tutorial_view = CreateRightClickTutorialViewIfNeeded(); |
break; |
case profiles::TUTORIAL_MODE_CONFIRM_SIGNIN: |
tutorial_view = CreateSigninConfirmationView(); |
@@ -1003,10 +1006,13 @@ views::View* ProfileChooserView::CreateProfileChooserView( |
views::View* view = new views::View(); |
views::GridLayout* layout = CreateSingleColumnLayout(view, kFixedMenuWidth); |
- if (view_mode_ == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER) |
+ if (view_mode_ == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER) { |
PopulateMinimalProfileChooserView(layout, avatar_menu); |
- else |
+ // The user is using right-click switching, no need to tell them about it. |
+ profiles::SetFastUserSwitchingTutorialDismissedState(true); |
+ } else { |
PopulateCompleteProfileChooserView(layout, avatar_menu); |
+ } |
return view; |
} |
@@ -1019,6 +1025,10 @@ void ProfileChooserView::DismissTutorial() { |
signin_ui_util::kUpgradeWelcomeTutorialShowMax + 1); |
} |
+ if (tutorial_mode_ == profiles::TUTORIAL_MODE_RIGHT_CLICK_SWITCHING) { |
+ profiles::SetFastUserSwitchingTutorialDismissedState(true); |
+ } |
+ |
tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; |
ShowView(profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER, avatar_menu_.get()); |
} |
@@ -1643,6 +1653,26 @@ views::View* ProfileChooserView::CreateSigninErrorView() { |
&tutorial_close_button_); |
} |
+views::View* ProfileChooserView::CreateRightClickTutorialViewIfNeeded() { |
+ const bool dismissed = profiles::GetFastUserSwitchingTutorialDismissedState(); |
+ |
+ // Don't show the tutorial if it's already been dismissed for this profile or |
+ // if right-clicking wouldn't show any targets. |
+ if (dismissed || !profiles::HasProfileSwitchTargets(browser_->profile())) |
+ return nullptr; |
+ |
+ return CreateTutorialView( |
+ profiles::TUTORIAL_MODE_RIGHT_CLICK_SWITCHING, |
+ l10n_util::GetStringUTF16(IDS_PROFILES_RIGHT_CLICK_TUTORIAL_TITLE), |
+ l10n_util::GetStringUTF16(IDS_PROFILES_RIGHT_CLICK_TUTORIAL_CONTENT_TEXT), |
+ base::string16(), |
+ l10n_util::GetStringUTF16(IDS_PROFILES_TUTORIAL_OK_BUTTON), |
+ false, |
+ nullptr, |
+ &tutorial_sync_settings_ok_button_, |
+ nullptr); |
+} |
+ |
views::View* ProfileChooserView::CreateSwitchUserView() { |
views::View* view = new views::View(); |
views::GridLayout* layout = CreateSingleColumnLayout( |