Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 170 bool ProfileHelper::IsOwnerProfile(Profile* profile) { | 170 bool ProfileHelper::IsOwnerProfile(Profile* profile) { |
| 171 if (!profile) | 171 if (!profile) |
| 172 return false; | 172 return false; |
| 173 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); | 173 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); |
| 174 if (!user) | 174 if (!user) |
| 175 return false; | 175 return false; |
| 176 | 176 |
| 177 return user->email() == chromeos::UserManager::Get()->GetOwnerEmail(); | 177 return user->email() == chromeos::UserManager::Get()->GetOwnerEmail(); |
| 178 } | 178 } |
| 179 | 179 |
| 180 //static | 180 // static |
| 181 bool ProfileHelper::IsPrimaryProfile(Profile* profile) { | 181 bool ProfileHelper::IsPrimaryProfile(Profile* profile) { |
| 182 if (!profile) | 182 if (!profile) |
| 183 return false; | 183 return false; |
| 184 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); | 184 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); |
| 185 if (!user) | 185 if (!user) |
| 186 return false; | 186 return false; |
| 187 return user == chromeos::UserManager::Get()->GetPrimaryUser(); | 187 return user == chromeos::UserManager::Get()->GetPrimaryUser(); |
| 188 } | 188 } |
| 189 | 189 |
| 190 void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) { | 190 void ProfileHelper::ProfileStartup(Profile* profile, bool process_startup) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 236 | 236 |
| 237 Profile* ProfileHelper::GetProfileByUser(const user_manager::User* user) { | 237 Profile* ProfileHelper::GetProfileByUser(const user_manager::User* user) { |
| 238 // This map is non-empty only in tests. | 238 // This map is non-empty only in tests. |
| 239 if (!user_to_profile_for_testing_.empty()) { | 239 if (!user_to_profile_for_testing_.empty()) { |
| 240 std::map<const user_manager::User*, Profile*>::const_iterator it = | 240 std::map<const user_manager::User*, Profile*>::const_iterator it = |
| 241 user_to_profile_for_testing_.find(user); | 241 user_to_profile_for_testing_.find(user); |
| 242 return it == user_to_profile_for_testing_.end() ? NULL : it->second; | 242 return it == user_to_profile_for_testing_.end() ? NULL : it->second; |
| 243 } | 243 } |
| 244 | 244 |
| 245 Profile* profile = NULL; | 245 Profile* profile = NULL; |
| 246 if (user->is_profile_created()) | 246 if (user->is_profile_created()) |
|
Thiemo Nagel
2014/08/11 14:39:54
Nit: I think it would be more readable to turn the
dzhioev (left Google)
2014/08/12 14:56:28
Done.
| |
| 247 profile = ProfileHelper::GetProfileByUserIdHash(user->username_hash()); | 247 profile = ProfileHelper::GetProfileByUserIdHash(user->username_hash()); |
| 248 else | |
| 249 profile = ProfileManager::GetActiveUserProfile(); | |
| 250 | 248 |
| 251 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance | 249 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance |
| 252 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. | 250 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. |
| 251 if (profile && UserManager::Get()->IsLoggedInAsGuest()) | |
| 252 profile = profile->GetOffTheRecordProfile(); | |
| 253 return profile; | |
|
Nikita (slow)
2014/08/11 12:29:24
nit: Insert empty line before return.
dzhioev (left Google)
2014/08/12 14:56:28
Done.
| |
| 254 } | |
| 255 | |
| 256 Profile* ProfileHelper::GetProfileByUserUnsafe(const user_manager::User* user) { | |
| 257 // This map is non-empty only in tests. | |
| 258 if (!user_to_profile_for_testing_.empty()) { | |
| 259 std::map<const user_manager::User*, Profile*>::const_iterator it = | |
| 260 user_to_profile_for_testing_.find(user); | |
| 261 return it == user_to_profile_for_testing_.end() ? NULL : it->second; | |
| 262 } | |
| 263 | |
| 264 Profile* profile = NULL; | |
| 265 if (user->is_profile_created()) { | |
| 266 profile = ProfileHelper::GetProfileByUserIdHash(user->username_hash()); | |
| 267 } else { | |
| 268 LOG(WARNING) << "ProfileHelper::GetProfileByUserUnsafe is called when " | |
|
Nikita (slow)
2014/08/11 12:29:24
I don't think it's a good idea to commit this WARN
Thiemo Nagel
2014/08/11 14:39:54
How about DLOG() instead of LOG()?
dzhioev (left Google)
2014/08/12 14:56:28
Now this message shoots only once on adding user i
| |
| 269 "|user|'s profile is not created. It probably means that " | |
| 270 "something is wrong with a calling code. Please report in " | |
| 271 "http://crbug.com/361528 if you see this message."; | |
| 272 profile = ProfileManager::GetActiveUserProfile(); | |
| 273 } | |
| 274 | |
| 275 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance | |
| 276 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. | |
| 253 if (profile && UserManager::Get()->IsLoggedInAsGuest()) | 277 if (profile && UserManager::Get()->IsLoggedInAsGuest()) |
| 254 profile = profile->GetOffTheRecordProfile(); | 278 profile = profile->GetOffTheRecordProfile(); |
| 255 return profile; | 279 return profile; |
| 256 } | 280 } |
| 257 | 281 |
| 258 user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) { | 282 user_manager::User* ProfileHelper::GetUserByProfile(Profile* profile) { |
| 259 // This map is non-empty only in tests. | 283 // This map is non-empty only in tests. |
| 260 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { | 284 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { |
| 261 if (always_return_primary_user_for_testing) | 285 if (always_return_primary_user_for_testing) |
| 262 return const_cast<user_manager::User*>( | 286 return const_cast<user_manager::User*>( |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 365 ProfileHelper::SetProfileToUserForTestingEnabled(true); | 389 ProfileHelper::SetProfileToUserForTestingEnabled(true); |
| 366 } | 390 } |
| 367 | 391 |
| 368 void ProfileHelper::SetUserToProfileMappingForTesting( | 392 void ProfileHelper::SetUserToProfileMappingForTesting( |
| 369 const user_manager::User* user, | 393 const user_manager::User* user, |
| 370 Profile* profile) { | 394 Profile* profile) { |
| 371 user_to_profile_for_testing_[user] = profile; | 395 user_to_profile_for_testing_[user] = profile; |
| 372 } | 396 } |
| 373 | 397 |
| 374 } // namespace chromeos | 398 } // namespace chromeos |
| OLD | NEW |