Index: ash/system/user/tray_user.cc |
diff --git a/ash/system/user/tray_user.cc b/ash/system/user/tray_user.cc |
index e3c0697a9c4321d3f3b116f9831efed0de9c008f..2b7dc563f978e0d8cdb1126bbd3881eca213413b 100644 |
--- a/ash/system/user/tray_user.cc |
+++ b/ash/system/user/tray_user.cc |
@@ -273,6 +273,9 @@ class UserView : public views::View, |
// The view of the user card. |
views::View* user_card_view_; |
+ // This is the owner system tray item of this view. |
+ SystemTrayItem* owner_; |
+ |
// True if |user_card_view_| is a |UserView| - otherwise it is only a |
// |views::View|. |
bool is_user_card_; |
@@ -595,6 +598,7 @@ UserView::UserView(SystemTrayItem* owner, |
MultiProfileIndex index) |
: multiprofile_index_(index), |
user_card_view_(NULL), |
+ owner_(owner), |
is_user_card_(false), |
logout_button_(NULL), |
add_user_visible_but_disabled_(false) { |
@@ -710,6 +714,9 @@ void UserView::ButtonPressed(views::Button* sender, const ui::Event& event) { |
ash::SessionStateDelegate* delegate = |
ash::Shell::GetInstance()->session_state_delegate(); |
delegate->SwitchActiveUser(delegate->GetUserEmail(multiprofile_index_)); |
+ // Since the user list is about to change |
bartfab (slow)
2013/06/03 09:26:52
Nit: Any particular reason for breaking the line h
Nikita (slow)
2013/06/03 09:46:54
Done.
|
+ // the system menu should get closed. |
+ owner_->system_tray()->CloseSystemBubble(); |
} |
} else if (add_menu_option_.get() && |
sender == add_menu_option_->GetContentsView()) { |