| Index: chrome/browser/ui/ash/session_state_delegate_chromeos.cc
|
| diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
|
| index c9bb73e8c67ec9560ebd93a0779b9b8e9c3740f5..95068d625de3b72572ae9da63a681ae62f0c3167 100644
|
| --- a/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
|
| +++ b/chrome/browser/ui/ash/session_state_delegate_chromeos.cc
|
| @@ -4,13 +4,16 @@
|
|
|
| #include "chrome/browser/ui/ash/session_state_delegate.h"
|
|
|
| +#include "ash/session_state_observer.h"
|
| #include "base/logging.h"
|
| #include "chrome/browser/chromeos/login/screen_locker.h"
|
| +#include "chrome/browser/chromeos/login/user.h"
|
| #include "chrome/browser/chromeos/login/user_manager.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/dbus/session_manager_client.h"
|
|
|
| SessionStateDelegate::SessionStateDelegate() {
|
| + chromeos::UserManager::Get()->AddSessionStateObserver(this);
|
| }
|
|
|
| SessionStateDelegate::~SessionStateDelegate() {
|
| @@ -72,8 +75,7 @@ const gfx::ImageSkia& SessionStateDelegate::GetUserImage(
|
| return chromeos::UserManager::Get()->GetLRULoggedInUsers()[index]->image();
|
| }
|
|
|
| -void SessionStateDelegate::GetLoggedInUsers(
|
| - ash::UserEmailList* users) {
|
| +void SessionStateDelegate::GetLoggedInUsers(ash::UserIdList* users) {
|
| const chromeos::UserList& logged_in_users =
|
| chromeos::UserManager::Get()->GetLoggedInUsers();
|
| for (chromeos::UserList::const_iterator it = logged_in_users.begin();
|
| @@ -83,6 +85,23 @@ void SessionStateDelegate::GetLoggedInUsers(
|
| }
|
| }
|
|
|
| -void SessionStateDelegate::SwitchActiveUser(const std::string& email) {
|
| - chromeos::UserManager::Get()->SwitchActiveUser(email);
|
| +void SessionStateDelegate::SwitchActiveUser(const std::string& user_id) {
|
| + chromeos::UserManager::Get()->SwitchActiveUser(user_id);
|
| +}
|
| +
|
| +void SessionStateDelegate::AddSessionStateObserver(
|
| + ash::SessionStateObserver* observer) {
|
| + session_state_observer_list_.AddObserver(observer);
|
| +}
|
| +
|
| +void SessionStateDelegate::RemoveSessionStateObserver(
|
| + ash::SessionStateObserver* observer) {
|
| + session_state_observer_list_.RemoveObserver(observer);
|
| +}
|
| +
|
| +void SessionStateDelegate::ActiveUserChanged(
|
| + const chromeos::User* active_user) {
|
| + FOR_EACH_OBSERVER(ash::SessionStateObserver,
|
| + session_state_observer_list_,
|
| + ActiveUserChanged(active_user->email()));
|
| }
|
|
|