Chromium Code Reviews| Index: chrome/browser/ui/app_list/app_list_service_impl.cc |
| diff --git a/chrome/browser/ui/app_list/app_list_service_impl.cc b/chrome/browser/ui/app_list/app_list_service_impl.cc |
| index 8b5c91422bc3020ad6c4d5bd64f7bb065c7ddcbf..23f22882930b2635774298db51ae5d0883667602 100644 |
| --- a/chrome/browser/ui/app_list/app_list_service_impl.cc |
| +++ b/chrome/browser/ui/app_list/app_list_service_impl.cc |
| @@ -18,6 +18,7 @@ |
| #include "chrome/browser/ui/app_list/app_list_view_delegate.h" |
| #include "chrome/browser/ui/app_list/profile_loader.h" |
| #include "chrome/browser/ui/app_list/profile_store.h" |
| +#include "chrome/browser/ui/user_manager.h" |
|
tapted
2015/01/27 02:52:55
nit: unsued I think
Mike Lerman
2015/01/27 14:59:49
Done.
|
| #include "chrome/common/chrome_constants.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/pref_names.h" |
| @@ -123,6 +124,7 @@ class ProfileStoreImpl : public ProfileStore { |
| } |
| Profile* GetProfileByPath(const base::FilePath& path) override { |
| + DCHECK(!IsProfileLocked(path)); |
| return profile_manager_->GetProfileByPath(path); |
| } |
| @@ -138,6 +140,14 @@ class ProfileStoreImpl : public ProfileStore { |
| profile_info.ProfileIsSupervisedAtIndex(profile_index); |
| } |
| + bool IsProfileLocked(const base::FilePath& profile_path) override { |
| + ProfileInfoCache& profile_info = |
| + g_browser_process->profile_manager()->GetProfileInfoCache(); |
| + size_t profile_index = profile_info.GetIndexOfProfileWithPath(profile_path); |
| + return profile_index != std::string::npos && |
| + profile_info.ProfileIsSigninRequiredAtIndex(profile_index); |
| + } |
| + |
| private: |
| ProfileManager* profile_manager_; |
| base::WeakPtrFactory<ProfileStoreImpl> weak_factory_; |