Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/login/user_manager.h" | 5 #include "chrome/browser/chromeos/login/user_manager.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_util.h" | |
|
bartfab (slow)
2013/04/25 11:17:28
Nit: Not used.
Mattias Nissler (ping if slow)
2013/04/26 09:10:05
Done.
| |
| 8 #include "chrome/browser/chromeos/login/user_manager_impl.h" | 9 #include "chrome/browser/chromeos/login/user_manager_impl.h" |
| 10 #include "chrome/common/extensions/extension.h" | |
| 11 #include "google_apis/gaia/gaia_auth_util.h" | |
| 9 | 12 |
| 10 namespace chromeos { | 13 namespace chromeos { |
| 11 | 14 |
| 12 // static | 15 // static |
| 13 const char UserManager::kStubUser[] = "stub-user@example.com"; | 16 const char UserManager::kStubUser[] = "stub-user@example.com"; |
| 14 | 17 |
| 15 // static | 18 // static |
| 16 const char UserManager::kLocallyManagedUserDomain[] = | 19 const char UserManager::kLocallyManagedUserDomain[] = |
| 17 "locally-managed.localhost"; | 20 "locally-managed.localhost"; |
| 18 | 21 |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 47 UserManager::~UserManager() { | 50 UserManager::~UserManager() { |
| 48 } | 51 } |
| 49 | 52 |
| 50 // static | 53 // static |
| 51 UserManager* UserManager::SetForTesting(UserManager* user_manager) { | 54 UserManager* UserManager::SetForTesting(UserManager* user_manager) { |
| 52 UserManager* previous_user_manager = g_user_manager; | 55 UserManager* previous_user_manager = g_user_manager; |
| 53 g_user_manager = user_manager; | 56 g_user_manager = user_manager; |
| 54 return previous_user_manager; | 57 return previous_user_manager; |
| 55 } | 58 } |
| 56 | 59 |
| 60 // static | |
| 61 bool UserManager::ParseKioskAppUserId(const std::string& user_id, | |
| 62 std::string* app_id) { | |
| 63 if (gaia::ExtractDomainName(user_id) == kKioskAppUserDomain) { | |
| 64 const std::string candidate_app_id( | |
| 65 user_id.substr(0, user_id.size() - arraysize(kKioskAppUserDomain))); | |
|
bartfab (slow)
2013/04/25 11:17:28
Will that not leave a dangling "@" at the end of |
xiyuan
2013/04/25 17:26:32
I had the same question when looking at this. Then
Mattias Nissler (ping if slow)
2013/04/26 09:10:05
Obsolete
| |
| 66 if (extensions::Extension::IdIsValid(candidate_app_id)) { | |
|
bartfab (slow)
2013/04/25 11:17:28
Since you are explicitly storing the app ID in a d
xiyuan
2013/04/25 17:26:32
I don't see the the benefit of using an opaque ide
Mattias Nissler (ping if slow)
2013/04/26 09:10:05
Obsolete
Mattias Nissler (ping if slow)
2013/04/26 09:10:05
Some background from an offline discussion I had w
| |
| 67 *app_id = candidate_app_id; | |
| 68 return true; | |
| 69 } | |
| 70 } | |
| 71 | |
| 72 return false; | |
| 73 } | |
| 74 | |
| 75 // static | |
| 76 std::string UserManager::FormatKioskAppUserId(const std::string& app_id) { | |
| 77 DCHECK(extensions::Extension::IdIsValid(app_id)); | |
|
bartfab (slow)
2013/04/25 11:17:28
Same as above: Why does the local part need to be
Mattias Nissler (ping if slow)
2013/04/26 09:10:05
Obsolete
| |
| 78 return app_id + '@' + kKioskAppUserDomain; | |
| 79 } | |
| 80 | |
| 57 ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager) | 81 ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager) |
| 58 : previous_user_manager_(UserManager::SetForTesting(user_manager)) { | 82 : previous_user_manager_(UserManager::SetForTesting(user_manager)) { |
| 59 } | 83 } |
| 60 | 84 |
| 61 ScopedUserManagerEnabler::~ScopedUserManagerEnabler() { | 85 ScopedUserManagerEnabler::~ScopedUserManagerEnabler() { |
| 62 UserManager::Get()->Shutdown(); | 86 UserManager::Get()->Shutdown(); |
| 63 UserManager::Destroy(); | 87 UserManager::Destroy(); |
| 64 UserManager::SetForTesting(previous_user_manager_); | 88 UserManager::SetForTesting(previous_user_manager_); |
| 65 } | 89 } |
| 66 | 90 |
| 67 ScopedTestUserManager::ScopedTestUserManager() | 91 ScopedTestUserManager::ScopedTestUserManager() |
| 68 : initialized_user_manager_(false) { | 92 : initialized_user_manager_(false) { |
| 69 if (!UserManager::IsInitialized()) { | 93 if (!UserManager::IsInitialized()) { |
| 70 UserManager::Initialize(); | 94 UserManager::Initialize(); |
| 71 initialized_user_manager_ = true; | 95 initialized_user_manager_ = true; |
| 72 } | 96 } |
| 73 } | 97 } |
| 74 | 98 |
| 75 ScopedTestUserManager::~ScopedTestUserManager() { | 99 ScopedTestUserManager::~ScopedTestUserManager() { |
| 76 if (initialized_user_manager_) { | 100 if (initialized_user_manager_) { |
| 77 UserManager::Get()->Shutdown(); | 101 UserManager::Get()->Shutdown(); |
| 78 UserManager::Destroy(); | 102 UserManager::Destroy(); |
| 79 } | 103 } |
| 80 } | 104 } |
| 81 | 105 |
| 82 } // namespace chromeos | 106 } // namespace chromeos |
| OLD | NEW |