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

Side by Side Diff: chrome/browser/chromeos/profiles/profile_helper.cc

Issue 898003002: [Cleanup] Const-correct the profile() method for the EasyUnlockService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/profiles/profile_helper.h" 5 #include "chrome/browser/chromeos/profiles/profile_helper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/browsing_data/browsing_data_helper.h" 10 #include "chrome/browser/browsing_data/browsing_data_helper.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 } 102 }
103 103
104 // static 104 // static
105 Profile* ProfileHelper::GetSigninProfile() { 105 Profile* ProfileHelper::GetSigninProfile() {
106 ProfileManager* profile_manager = g_browser_process->profile_manager(); 106 ProfileManager* profile_manager = g_browser_process->profile_manager();
107 return profile_manager->GetProfile(GetSigninProfileDir())-> 107 return profile_manager->GetProfile(GetSigninProfileDir())->
108 GetOffTheRecordProfile(); 108 GetOffTheRecordProfile();
109 } 109 }
110 110
111 // static 111 // static
112 std::string ProfileHelper::GetUserIdHashFromProfile(Profile* profile) { 112 std::string ProfileHelper::GetUserIdHashFromProfile(const Profile* profile) {
113 if (!profile) 113 if (!profile)
114 return std::string(); 114 return std::string();
115 115
116 std::string profile_dir = profile->GetPath().BaseName().value(); 116 std::string profile_dir = profile->GetPath().BaseName().value();
117 117
118 // Don't strip prefix if the dir is not supposed to be prefixed. 118 // Don't strip prefix if the dir is not supposed to be prefixed.
119 if (!ShouldAddProfileDirPrefix(profile_dir)) 119 if (!ShouldAddProfileDirPrefix(profile_dir))
120 return profile_dir; 120 return profile_dir;
121 121
122 // Check that profile directory starts with the correct prefix. 122 // Check that profile directory starts with the correct prefix.
(...skipping 10 matching lines...) Expand all
133 // static 133 // static
134 base::FilePath ProfileHelper::GetUserProfileDir( 134 base::FilePath ProfileHelper::GetUserProfileDir(
135 const std::string& user_id_hash) { 135 const std::string& user_id_hash) {
136 CHECK(!user_id_hash.empty()); 136 CHECK(!user_id_hash.empty());
137 return ShouldAddProfileDirPrefix(user_id_hash) 137 return ShouldAddProfileDirPrefix(user_id_hash)
138 ? base::FilePath(chrome::kProfileDirPrefix + user_id_hash) 138 ? base::FilePath(chrome::kProfileDirPrefix + user_id_hash)
139 : base::FilePath(user_id_hash); 139 : base::FilePath(user_id_hash);
140 } 140 }
141 141
142 // static 142 // static
143 bool ProfileHelper::IsSigninProfile(Profile* profile) { 143 bool ProfileHelper::IsSigninProfile(const Profile* profile) {
144 return profile->GetPath().BaseName().value() == chrome::kInitialProfile; 144 return profile->GetPath().BaseName().value() == chrome::kInitialProfile;
145 } 145 }
146 146
147 // static 147 // static
148 bool ProfileHelper::IsOwnerProfile(Profile* profile) { 148 bool ProfileHelper::IsOwnerProfile(Profile* profile) {
149 if (!profile) 149 if (!profile)
150 return false; 150 return false;
151 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); 151 const user_manager::User* user =
152 ProfileHelper::Get()->GetUserByProfile(profile);
152 if (!user) 153 if (!user)
153 return false; 154 return false;
154 155
155 return user->email() == user_manager::UserManager::Get()->GetOwnerEmail(); 156 return user->email() == user_manager::UserManager::Get()->GetOwnerEmail();
156 } 157 }
157 158
158 // static 159 // static
159 bool ProfileHelper::IsPrimaryProfile(Profile* profile) { 160 bool ProfileHelper::IsPrimaryProfile(const Profile* profile) {
160 if (!profile) 161 if (!profile)
161 return false; 162 return false;
162 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); 163 const user_manager::User* user =
164 ProfileHelper::Get()->GetUserByProfile(profile);
163 if (!user) 165 if (!user)
164 return false; 166 return false;
165 return user == user_manager::UserManager::Get()->GetPrimaryUser(); 167 return user == user_manager::UserManager::Get()->GetPrimaryUser();
166 } 168 }
167 169
168 void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) { 170 void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) {
169 // Initialize Chrome OS preferences like touch pad sensitivity. For the 171 // Initialize Chrome OS preferences like touch pad sensitivity. For the
170 // preferences to work in the guest mode, the initialization has to be 172 // preferences to work in the guest mode, the initialization has to be
171 // done after |profile| is switched to the incognito profile (which 173 // done after |profile| is switched to the incognito profile (which
172 // is actually GuestSessionProfile in the guest mode). See the 174 // is actually GuestSessionProfile in the guest mode). See the
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 profile = ProfileManager::GetActiveUserProfile(); 255 profile = ProfileManager::GetActiveUserProfile();
254 } 256 }
255 257
256 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance 258 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance
257 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. 259 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used.
258 if (profile && user_manager::UserManager::Get()->IsLoggedInAsGuest()) 260 if (profile && user_manager::UserManager::Get()->IsLoggedInAsGuest())
259 profile = profile->GetOffTheRecordProfile(); 261 profile = profile->GetOffTheRecordProfile();
260 return profile; 262 return profile;
261 } 263 }
262 264
263 user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) { 265 const user_manager::User* ProfileHelper::GetUserByProfile(
266 const Profile* profile) const {
264 // This map is non-empty only in tests. 267 // This map is non-empty only in tests.
265 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { 268 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) {
266 if (always_return_primary_user_for_testing) 269 if (always_return_primary_user_for_testing)
267 return const_cast<user_manager::User*>( 270 return user_manager::UserManager::Get()->GetPrimaryUser();
268 user_manager::UserManager::Get()->GetPrimaryUser());
269 271
270 const std::string& user_name = profile->GetProfileUserName(); 272 const std::string& user_name = profile->GetProfileUserName();
271 for (user_manager::UserList::const_iterator it = 273 for (user_manager::UserList::const_iterator it =
272 user_list_for_testing_.begin(); 274 user_list_for_testing_.begin();
273 it != user_list_for_testing_.end(); 275 it != user_list_for_testing_.end();
274 ++it) { 276 ++it) {
275 if ((*it)->email() == user_name) 277 if ((*it)->email() == user_name)
276 return *it; 278 return *it;
277 } 279 }
278 280
279 // In case of test setup we should always default to primary user. 281 // In case of test setup we should always default to primary user.
280 return const_cast<user_manager::User*>( 282 return user_manager::UserManager::Get()->GetPrimaryUser();
281 user_manager::UserManager::Get()->GetPrimaryUser());
282 } 283 }
283 284
284 DCHECK(!content::BrowserThread::IsThreadInitialized( 285 DCHECK(!content::BrowserThread::IsThreadInitialized(
285 content::BrowserThread::UI) || 286 content::BrowserThread::UI) ||
286 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 287 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
287 if (ProfileHelper::IsSigninProfile(profile)) 288 if (ProfileHelper::IsSigninProfile(profile))
288 return NULL; 289 return NULL;
289 290
290 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); 291 user_manager::UserManager* user_manager = user_manager::UserManager::Get();
291 292
(...skipping 15 matching lines...) Expand all
307 users.begin(), users.end(), UsernameHashMatcher(username_hash)); 308 users.begin(), users.end(), UsernameHashMatcher(username_hash));
308 if (pos != users.end()) 309 if (pos != users.end())
309 return *pos; 310 return *pos;
310 311
311 // Many tests do not have their users registered with UserManager and 312 // Many tests do not have their users registered with UserManager and
312 // runs here. If |active_user_| matches |profile|, returns it. 313 // runs here. If |active_user_| matches |profile|, returns it.
313 const user_manager::User* active_user = user_manager->GetActiveUser(); 314 const user_manager::User* active_user = user_manager->GetActiveUser();
314 return active_user && 315 return active_user &&
315 ProfileHelper::GetProfilePathByUserIdHash( 316 ProfileHelper::GetProfilePathByUserIdHash(
316 active_user->username_hash()) == profile->GetPath() 317 active_user->username_hash()) == profile->GetPath()
317 ? const_cast<user_manager::User*>(active_user) 318 ? active_user
318 : NULL; 319 : NULL;
319 } 320 }
320 321
322 user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) const {
323 return const_cast<user_manager::User*>(
324 GetUserByProfile(static_cast<const Profile*>(profile)));
325 }
326
321 //////////////////////////////////////////////////////////////////////////////// 327 ////////////////////////////////////////////////////////////////////////////////
322 // ProfileHelper, BrowsingDataRemover::Observer implementation: 328 // ProfileHelper, BrowsingDataRemover::Observer implementation:
323 329
324 void ProfileHelper::OnBrowsingDataRemoverDone() { 330 void ProfileHelper::OnBrowsingDataRemoverDone() {
325 signin_profile_clear_requested_ = false; 331 signin_profile_clear_requested_ = false;
326 for (size_t i = 0; i < on_clear_callbacks_.size(); ++i) { 332 for (size_t i = 0; i < on_clear_callbacks_.size(); ++i) {
327 if (!on_clear_callbacks_[i].is_null()) 333 if (!on_clear_callbacks_[i].is_null())
328 on_clear_callbacks_[i].Run(); 334 on_clear_callbacks_[i].Run();
329 } 335 }
330 on_clear_callbacks_.clear(); 336 on_clear_callbacks_.clear();
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 user_to_profile_for_testing_[user] = profile; 382 user_to_profile_for_testing_[user] = profile;
377 } 383 }
378 384
379 // static 385 // static
380 std::string ProfileHelper::GetUserIdHashByUserIdForTesting( 386 std::string ProfileHelper::GetUserIdHashByUserIdForTesting(
381 const std::string& user_id) { 387 const std::string& user_id) {
382 return user_id + kUserIdHashSuffix; 388 return user_id + kUserIdHashSuffix;
383 } 389 }
384 390
385 } // namespace chromeos 391 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/profiles/profile_helper.h ('k') | chrome/browser/policy/profile_policy_connector_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698