Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3208)

Unified Diff: chrome/browser/ui/views/profiles/profile_chooser_view.cc

Issue 471023003: Make sure the new confirmation bubble is always shown upon signin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 d1dbe58e9890d3673b4cd76c5872305e7b6fb179..91060381333e500e37516e59a99421e45154e5f8 100644
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc
@@ -457,16 +457,22 @@ bool ProfileChooserView::close_on_deactivate_for_testing_ = true;
// static
void ProfileChooserView::ShowBubble(
profiles::BubbleViewMode view_mode,
+ profiles::TutorialMode tutorial_mode,
const signin::ManageAccountsParams& manage_accounts_params,
views::View* anchor_view,
views::BubbleBorder::Arrow arrow,
views::BubbleBorder::BubbleAlignment border_alignment,
Browser* browser) {
- if (IsShowing())
+ if (IsShowing()) {
+ if (tutorial_mode != profiles::TUTORIAL_MODE_NONE) {
+ profile_bubble_->tutorial_mode_ = tutorial_mode;
+ profile_bubble_->ShowView(view_mode, profile_bubble_->avatar_menu_.get());
+ }
return;
+ }
profile_bubble_ = new ProfileChooserView(anchor_view, arrow, browser,
- view_mode, manage_accounts_params.service_type);
+ view_mode, tutorial_mode, manage_accounts_params.service_type);
views::BubbleDelegateView::CreateBubble(profile_bubble_);
profile_bubble_->set_close_on_deactivate(close_on_deactivate_for_testing_);
profile_bubble_->SetAlignment(border_alignment);
@@ -489,11 +495,12 @@ ProfileChooserView::ProfileChooserView(views::View* anchor_view,
views::BubbleBorder::Arrow arrow,
Browser* browser,
profiles::BubbleViewMode view_mode,
+ profiles::TutorialMode tutorial_mode,
signin::GAIAServiceType service_type)
: BubbleDelegateView(anchor_view, arrow),
browser_(browser),
view_mode_(view_mode),
- tutorial_mode_(profiles::TUTORIAL_MODE_NONE),
+ tutorial_mode_(tutorial_mode),
gaia_service_type_(service_type) {
// Reset the default margins inherited from the BubbleDelegateView.
// Add a small bottom inset so that the bubble's rounded corners show up.
@@ -545,7 +552,6 @@ void ProfileChooserView::ResetView() {
tutorial_sync_settings_link_ = NULL;
tutorial_see_whats_new_button_ = NULL;
tutorial_not_you_link_ = NULL;
- tutorial_mode_ = profiles::TUTORIAL_MODE_NONE;
}
void ProfileChooserView::Init() {
@@ -580,11 +586,8 @@ void ProfileChooserView::OnAvatarMenuChanged(
void ProfileChooserView::OnRefreshTokenAvailable(
const std::string& account_id) {
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() ?
@@ -618,8 +621,6 @@ void ProfileChooserView::ShowView(profiles::BubbleViewMode view_to_display,
return;
}
- // Records the last tutorial mode.
- profiles::TutorialMode last_tutorial_mode = tutorial_mode_;
ResetView();
RemoveAllChildViews(true);
view_mode_ = view_to_display;
@@ -645,7 +646,7 @@ void ProfileChooserView::ShowView(profiles::BubbleViewMode view_to_display,
break;
default:
layout = CreateSingleColumnLayout(this, kFixedMenuWidth);
- sub_view = CreateProfileChooserView(avatar_menu, last_tutorial_mode);
+ sub_view = CreateProfileChooserView(avatar_menu);
}
layout->StartRow(1, 0);
layout->AddView(sub_view);
@@ -839,8 +840,7 @@ bool ProfileChooserView::HandleKeyEvent(views::Textfield* sender,
}
views::View* ProfileChooserView::CreateProfileChooserView(
- AvatarMenu* avatar_menu,
- profiles::TutorialMode last_tutorial_mode) {
+ AvatarMenu* avatar_menu) {
// TODO(guohui, noms): the view should be customized based on whether new
// profile management preview is enabled or not.
@@ -859,11 +859,11 @@ views::View* ProfileChooserView::CreateProfileChooserView(
switches::IsNewProfileManagement() && item.signed_in);
current_profile_view = CreateCurrentProfileView(item, false);
if (view_mode_ == profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER) {
- switch (last_tutorial_mode) {
+ switch (tutorial_mode_) {
case profiles::TUTORIAL_MODE_NONE:
case profiles::TUTORIAL_MODE_WELCOME_UPGRADE:
tutorial_view = CreateWelcomeUpgradeTutorialViewIfNeeded(
- last_tutorial_mode == profiles::TUTORIAL_MODE_WELCOME_UPGRADE,
+ tutorial_mode_ == profiles::TUTORIAL_MODE_WELCOME_UPGRADE,
item);
break;
case profiles::TUTORIAL_MODE_CONFIRM_SIGNIN:
@@ -885,6 +885,8 @@ views::View* ProfileChooserView::CreateProfileChooserView(
// TODO(mlerman): update UMA stats for the new tutorial.
layout->StartRow(1, 0);
layout->AddView(tutorial_view);
+ } else {
+ tutorial_mode_ = profiles::TUTORIAL_MODE_NONE;
}
if (!current_profile_view) {
« no previous file with comments | « chrome/browser/ui/views/profiles/profile_chooser_view.h ('k') | chrome/browser/ui/webui/signin/inline_login_handler_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698