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..6869c3ce9a2506444cddae17cc38d5711192e870 100644 |
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
@@ -518,6 +518,19 @@ bool ProfileChooserView::IsShowing() { |
} |
// static |
+ProfileChooserView::ShowingType ProfileChooserView::IsShowingInBrowser( |
+ const Browser* browser) { |
+ if (profile_bubble_ == nullptr) { |
+ return IS_NOT_SHOWING; |
+ } else { |
msw
2015/05/19 22:57:48
nit: no else after return; drop curly braces.
gogerald1
2015/05/19 23:35:13
Done.
|
+ if (profile_bubble_->browser_ == browser || browser == nullptr) |
+ return IS_SHOWING; |
+ else |
msw
2015/05/19 22:57:48
ditto nit: no else after return.
gogerald1
2015/05/19 23:35:13
Done.
|
+ return IS_SHOWING_IN_ANOTHER_BROWSER; |
+ } |
+} |
+ |
+// static |
void ProfileChooserView::Hide() { |
if (IsShowing()) |
profile_bubble_->GetWidget()->Close(); |
@@ -686,6 +699,15 @@ void ProfileChooserView::ShowView(profiles::BubbleViewMode view_to_display, |
if (view_mode_ != profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER) |
tutorial_mode_ = profiles::TUTORIAL_MODE_NONE; |
+ if (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 || |
+ tutorial_mode_ == profiles::TUTORIAL_MODE_CONFIRM_SIGNIN) { |
+ profile_bubble_->set_close_on_deactivate(false); |
+ } else { |
+ profile_bubble_->set_close_on_deactivate(close_on_deactivate_for_testing_); |
+ } |
+ |
layout->StartRow(1, 0); |
layout->AddView(sub_view); |
Layout(); |