Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: chrome/test/base/testing_profile_manager.cc

Issue 847733005: Move User Manager onto a System profile. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/base/testing_profile_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/test/base/testing_profile_manager.h" 5 #include "chrome/test/base/testing_profile_manager.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/prefs/pref_service_syncable.h" 9 #include "chrome/browser/prefs/pref_service_syncable.h"
10 #include "chrome/browser/profiles/profile_info_cache.h" 10 #include "chrome/browser/profiles/profile_info_cache.h"
11 #include "chrome/browser/profiles/profile_manager.h" 11 #include "chrome/browser/profiles/profile_manager.h"
12 #include "chrome/common/chrome_constants.h" 12 #include "chrome/common/chrome_constants.h"
13 #include "chrome/test/base/testing_browser_process.h" 13 #include "chrome/test/base/testing_browser_process.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 #if defined(OS_CHROMEOS) 16 #if defined(OS_CHROMEOS)
17 #include "chrome/browser/chromeos/profiles/profile_helper.h" 17 #include "chrome/browser/chromeos/profiles/profile_helper.h"
18 #endif 18 #endif
19 19
20 const char kGuestProfileName[] = "Guest"; 20 const char kGuestProfileName[] = "Guest";
21 const char kSystemProfileName[] = "System";
21 22
22 namespace testing { 23 namespace testing {
23 24
24 class ProfileManager : public ::ProfileManagerWithoutInit { 25 class ProfileManager : public ::ProfileManagerWithoutInit {
25 public: 26 public:
26 explicit ProfileManager(const base::FilePath& user_data_dir) 27 explicit ProfileManager(const base::FilePath& user_data_dir)
27 : ::ProfileManagerWithoutInit(user_data_dir) {} 28 : ::ProfileManagerWithoutInit(user_data_dir) {}
28 29
29 protected: 30 protected:
30 Profile* CreateProfileHelper(const base::FilePath& file_path) override { 31 Profile* CreateProfileHelper(const base::FilePath& file_path) override {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 TestingProfile::Builder().BuildIncognito(profile); 130 TestingProfile::Builder().BuildIncognito(profile);
130 131
131 profile_manager_->AddProfile(profile); // Takes ownership. 132 profile_manager_->AddProfile(profile); // Takes ownership.
132 profile_manager_->SetGuestProfilePrefs(profile); 133 profile_manager_->SetGuestProfilePrefs(profile);
133 134
134 testing_profiles_.insert(std::make_pair(kGuestProfileName, profile)); 135 testing_profiles_.insert(std::make_pair(kGuestProfileName, profile));
135 136
136 return profile; 137 return profile;
137 } 138 }
138 139
140 TestingProfile* TestingProfileManager::CreateSystemProfile() {
141 DCHECK(called_set_up_);
142
143 // Create the profile and register it.
144 TestingProfile::Builder builder;
145 builder.SetPath(ProfileManager::GetSystemProfilePath());
146
147 // Add the guest profile to the profile manager, but not to the info cache.
noms (inactive) 2015/01/23 01:03:51 nit: s/guest/system
Mike Lerman 2015/01/23 17:42:27 Done.
148 TestingProfile* profile = builder.Build().release();
149 profile->set_profile_name(kSystemProfileName);
150
151 profile_manager_->AddProfile(profile); // Takes ownership.
152
153 testing_profiles_.insert(std::make_pair(kSystemProfileName, profile));
154
155 return profile;
156 }
157
139 void TestingProfileManager::DeleteTestingProfile(const std::string& name) { 158 void TestingProfileManager::DeleteTestingProfile(const std::string& name) {
140 DCHECK(called_set_up_); 159 DCHECK(called_set_up_);
141 160
142 TestingProfilesMap::iterator it = testing_profiles_.find(name); 161 TestingProfilesMap::iterator it = testing_profiles_.find(name);
143 DCHECK(it != testing_profiles_.end()); 162 DCHECK(it != testing_profiles_.end());
144 163
145 TestingProfile* profile = it->second; 164 TestingProfile* profile = it->second;
146 165
147 ProfileInfoCache& cache = profile_manager_->GetProfileInfoCache(); 166 ProfileInfoCache& cache = profile_manager_->GetProfileInfoCache();
148 cache.DeleteProfileFromCache(profile->GetPath()); 167 cache.DeleteProfileFromCache(profile->GetPath());
(...skipping 14 matching lines...) Expand all
163 182
164 void TestingProfileManager::DeleteGuestProfile() { 183 void TestingProfileManager::DeleteGuestProfile() {
165 DCHECK(called_set_up_); 184 DCHECK(called_set_up_);
166 185
167 TestingProfilesMap::iterator it = testing_profiles_.find(kGuestProfileName); 186 TestingProfilesMap::iterator it = testing_profiles_.find(kGuestProfileName);
168 DCHECK(it != testing_profiles_.end()); 187 DCHECK(it != testing_profiles_.end());
169 188
170 profile_manager_->profiles_info_.erase(ProfileManager::GetGuestProfilePath()); 189 profile_manager_->profiles_info_.erase(ProfileManager::GetGuestProfilePath());
171 } 190 }
172 191
192 void TestingProfileManager::DeleteSystemProfile() {
193 DCHECK(called_set_up_);
194
195 TestingProfilesMap::iterator it = testing_profiles_.find(kSystemProfileName);
196 DCHECK(it != testing_profiles_.end());
197
198 profile_manager_->profiles_info_.erase(
199 ProfileManager::GetSystemProfilePath());
200 }
201
173 void TestingProfileManager::DeleteProfileInfoCache() { 202 void TestingProfileManager::DeleteProfileInfoCache() {
174 profile_manager_->profile_info_cache_.reset(NULL); 203 profile_manager_->profile_info_cache_.reset(NULL);
175 } 204 }
176 205
177 void TestingProfileManager::SetLoggedIn(bool logged_in) { 206 void TestingProfileManager::SetLoggedIn(bool logged_in) {
178 profile_manager_->logged_in_ = logged_in; 207 profile_manager_->logged_in_ = logged_in;
179 } 208 }
180 209
181 void TestingProfileManager::UpdateLastUser(Profile* last_active) { 210 void TestingProfileManager::UpdateLastUser(Profile* last_active) {
182 #if !defined(OS_ANDROID) && !defined(OS_IOS) 211 #if !defined(OS_ANDROID) && !defined(OS_IOS)
(...skipping 21 matching lines...) Expand all
204 << "ProfileManager already exists"; 233 << "ProfileManager already exists";
205 234
206 // Set up the directory for profiles. 235 // Set up the directory for profiles.
207 ASSERT_TRUE(profiles_dir_.CreateUniqueTempDir()); 236 ASSERT_TRUE(profiles_dir_.CreateUniqueTempDir());
208 237
209 profile_manager_ = new testing::ProfileManager(profiles_dir_.path()); 238 profile_manager_ = new testing::ProfileManager(profiles_dir_.path());
210 browser_process_->SetProfileManager(profile_manager_); // Takes ownership. 239 browser_process_->SetProfileManager(profile_manager_); // Takes ownership.
211 240
212 called_set_up_ = true; 241 called_set_up_ = true;
213 } 242 }
OLDNEW
« no previous file with comments | « chrome/test/base/testing_profile_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698