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..fcbf281bcb91ba17c3740d75b8c767d4471b2ed3 100644 |
--- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
+++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc |
@@ -518,6 +518,18 @@ bool ProfileChooserView::IsShowing() { |
} |
// static |
+ProfileChooserView::ShowingType ProfileChooserView::IsShowingInBrowser( |
+ const Browser* browser) { |
+ if (profile_bubble_ == nullptr) |
+ return IS_NOT_SHOWING; |
+ |
+ if (profile_bubble_->browser_ == browser || browser == nullptr) |
+ return IS_SHOWING; |
+ |
+ return IS_SHOWING_IN_ANOTHER_BROWSER; |
+} |
+ |
+// static |
void ProfileChooserView::Hide() { |
if (IsShowing()) |
profile_bubble_->GetWidget()->Close(); |
@@ -686,6 +698,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(); |