Index: ash/system/user/tray_user.cc |
diff --git a/ash/system/user/tray_user.cc b/ash/system/user/tray_user.cc |
index 0895d3bfacaea69bbeab863febd15b937ce19fcd..f0977e5b380280b86c05b67c8bd81b563b40d0ef 100644 |
--- a/ash/system/user/tray_user.cc |
+++ b/ash/system/user/tray_user.cc |
@@ -262,15 +262,8 @@ TrayUser::~TrayUser() { |
views::View* TrayUser::CreateTrayView(user::LoginStatus status) { |
avatar_.reset(new tray::RoundedImageView(kTrayRoundedBorderRadius)); |
- if (status != user::LOGGED_IN_NONE && status != user::LOGGED_IN_KIOSK && |
- status != user::LOGGED_IN_GUEST) { |
- avatar_->SetImage( |
- ash::Shell::GetInstance()->tray_delegate()->GetUserImage(), |
- gfx::Size(kUserIconSize, kUserIconSize)); |
- } else { |
- avatar_->SetVisible(false); |
- } |
avatar_->set_border(views::Border::CreateEmptyBorder(0, 6, 0, 0)); |
+ UpdateAfterLoginStatusChange(status); |
return avatar_.get(); |
} |
@@ -297,6 +290,18 @@ void TrayUser::DestroyDefaultView() { |
void TrayUser::DestroyDetailedView() { |
} |
+void TrayUser::UpdateAfterLoginStatusChange(user::LoginStatus status) { |
+ if (status != user::LOGGED_IN_NONE && status != user::LOGGED_IN_KIOSK && |
+ status != user::LOGGED_IN_GUEST) { |
+ avatar_->SetImage( |
+ ash::Shell::GetInstance()->tray_delegate()->GetUserImage(), |
+ gfx::Size(kUserIconSize, kUserIconSize)); |
+ avatar_->SetVisible(true); |
+ } else { |
+ avatar_->SetVisible(false); |
+ } |
+} |
+ |
void TrayUser::OnUserUpdate() { |
avatar_->SetImage( |
ash::Shell::GetInstance()->tray_delegate()->GetUserImage(), |