| Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| index b4003f4cac9f4f0f4dad21b48bccd7644442ebb8..ea566e498807d29854923eba1f3b960dc52d4cef 100644
|
| --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
|
| @@ -469,11 +469,10 @@ void ChromeBrowserMainPartsChromeos::PreProfileInit() {
|
|
|
| // Initialize the screen locker now so that it can receive
|
| // LOGIN_USER_CHANGED notification from UserManager.
|
| - if (KioskModeSettings::Get()->IsKioskModeEnabled()) {
|
| + if (KioskModeSettings::Get()->IsKioskModeEnabled())
|
| KioskModeIdleLogout::Initialize();
|
| - } else {
|
| + else
|
| ScreenLocker::InitClass();
|
| - }
|
|
|
| // This forces the ProfileManager to be created and register for the
|
| // notification it needs to track the logged in user.
|
| @@ -779,6 +778,11 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
|
| power_prefs_.reset();
|
| event_rewriter_.reset();
|
|
|
| + // Let the ScreenLocker unregister itself from SessionManagerClient before
|
| + // DBusThreadManager is shut down.
|
| + if (!KioskModeSettings::Get()->IsKioskModeEnabled())
|
| + ScreenLocker::ShutDownClass();
|
| +
|
| // The XInput2 event listener needs to be shut down earlier than when
|
| // Singletons are finally destroyed in AtExitManager.
|
| XInputHierarchyChangedEventListener::GetInstance()->Stop();
|
|
|