1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
7 #include "components/user_manager/user_manager.h"
11 ScopedUserManagerEnabler::ScopedUserManagerEnabler(
12 user_manager::UserManager
* user_manager
) {
13 if (user_manager::UserManager::GetForTesting())
14 user_manager::UserManager::GetForTesting()->Shutdown();
16 previous_user_manager_
=
17 user_manager::UserManager::SetForTesting(user_manager
);
20 ScopedUserManagerEnabler::~ScopedUserManagerEnabler() {
21 // Shutdown and destroy current UserManager instance that we track.
22 user_manager::UserManager::Get()->Shutdown();
23 delete user_manager::UserManager::Get();
24 user_manager::UserManager::SetInstance(NULL
);
26 user_manager::UserManager::SetForTesting(previous_user_manager_
);
29 } // namespace chromeos