Chromium Code Reviews| Index: chrome/browser/chromeos/accessibility/magnification_manager.cc |
| diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.cc b/chrome/browser/chromeos/accessibility/magnification_manager.cc |
| index 388715d9fa8da2f158e32b37b66934f08446942f..b9ae9b3cf4004c491a12cc85eacfff376bae53ef 100644 |
| --- a/chrome/browser/chromeos/accessibility/magnification_manager.cc |
| +++ b/chrome/browser/chromeos/accessibility/magnification_manager.cc |
| @@ -8,7 +8,6 @@ |
| #include <memory> |
| #include "ash/common/accessibility_types.h" |
| -#include "ash/common/session/session_state_observer.h" |
| #include "ash/magnifier/magnification_controller.h" |
| #include "ash/magnifier/partial_magnification_controller.h" |
| #include "ash/shell.h" |
| @@ -22,6 +21,7 @@ |
| #include "chrome/common/pref_names.h" |
| #include "components/prefs/pref_member.h" |
| #include "components/prefs/pref_service.h" |
| +#include "components/user_manager/user_manager.h" |
| #include "content/public/browser/focused_node_details.h" |
| #include "content/public/browser/notification_details.h" |
| #include "content/public/browser/notification_observer.h" |
| @@ -29,17 +29,16 @@ |
| #include "content/public/browser/notification_service.h" |
| #include "content/public/browser/notification_source.h" |
| -class AccountId; |
| - |
| namespace chromeos { |
| namespace { |
| static MagnificationManager* g_magnification_manager = NULL; |
| } |
| -class MagnificationManagerImpl : public MagnificationManager, |
| - public content::NotificationObserver, |
| - public ash::SessionStateObserver { |
| +class MagnificationManagerImpl |
| + : public MagnificationManager, |
| + public content::NotificationObserver, |
| + public user_manager::UserManager::UserSessionStateObserver { |
| public: |
| MagnificationManagerImpl() |
| : profile_(NULL), |
| @@ -65,6 +64,8 @@ class MagnificationManagerImpl : public MagnificationManager, |
| ~MagnificationManagerImpl() override { |
| CHECK(this == g_magnification_manager); |
| + |
| + session_state_observer_.reset(); |
|
James Cook
2017/02/27 21:20:28
ditto
xiyuan
2017/02/27 22:16:22
Removed, same as the one in AccessibilityManager
|
| } |
| // MagnificationManager implimentation: |
| @@ -108,8 +109,8 @@ class MagnificationManagerImpl : public MagnificationManager, |
| void SetProfileForTest(Profile* profile) override { SetProfile(profile); } |
| - // SessionStateObserver overrides: |
| - void ActiveUserChanged(const AccountId& account_id) override { |
| + // user_manager::UserManager::UserSessionStateObserver overrides: |
| + void ActiveUserChanged(const user_manager::User* active_user) override { |
| SetProfile(ProfileManager::GetActiveUserProfile()); |
| } |
| @@ -258,9 +259,9 @@ class MagnificationManagerImpl : public MagnificationManager, |
| SetProfile(ProfileManager::GetActiveUserProfile()); |
| // Add a session state observer to be able to monitor session changes. |
| - if (!session_state_observer_.get() && ash::Shell::HasInstance()) |
| + if (!session_state_observer_.get()) |
| session_state_observer_.reset( |
| - new ash::ScopedSessionStateObserver(this)); |
| + new user_manager::ScopedUserSessionStateObserver(this)); |
| break; |
| case chrome::NOTIFICATION_PROFILE_DESTROYED: { |
| // Update |profile_| when exiting a session or shutting down. |
| @@ -294,7 +295,8 @@ class MagnificationManagerImpl : public MagnificationManager, |
| content::NotificationRegistrar registrar_; |
| std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_; |
| - std::unique_ptr<ash::ScopedSessionStateObserver> session_state_observer_; |
| + std::unique_ptr<user_manager::ScopedUserSessionStateObserver> |
| + session_state_observer_; |
| DISALLOW_COPY_AND_ASSIGN(MagnificationManagerImpl); |
| }; |