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/barrier_closure.h" | 7 #include "base/barrier_closure.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 | 159 |
160 // static | 160 // static |
161 bool ProfileHelper::IsOwnerProfile(Profile* profile) { | 161 bool ProfileHelper::IsOwnerProfile(Profile* profile) { |
162 if (!profile) | 162 if (!profile) |
163 return false; | 163 return false; |
164 const user_manager::User* user = | 164 const user_manager::User* user = |
165 ProfileHelper::Get()->GetUserByProfile(profile); | 165 ProfileHelper::Get()->GetUserByProfile(profile); |
166 if (!user) | 166 if (!user) |
167 return false; | 167 return false; |
168 | 168 |
169 return user->email() == user_manager::UserManager::Get()->GetOwnerEmail(); | 169 return user->GetUserID() == user_manager::UserManager::Get()->GetOwnerID(); |
170 } | 170 } |
171 | 171 |
172 // static | 172 // static |
173 bool ProfileHelper::IsPrimaryProfile(const Profile* profile) { | 173 bool ProfileHelper::IsPrimaryProfile(const Profile* profile) { |
174 if (!profile) | 174 if (!profile) |
175 return false; | 175 return false; |
176 const user_manager::User* user = | 176 const user_manager::User* user = |
177 ProfileHelper::Get()->GetUserByProfile(profile); | 177 ProfileHelper::Get()->GetUserByProfile(profile); |
178 if (!user) | 178 if (!user) |
179 return false; | 179 return false; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 } | 274 } |
275 | 275 |
276 Profile* profile = NULL; | 276 Profile* profile = NULL; |
277 if (user->is_profile_created()) { | 277 if (user->is_profile_created()) { |
278 profile = ProfileHelper::GetProfileByUserIdHash(user->username_hash()); | 278 profile = ProfileHelper::GetProfileByUserIdHash(user->username_hash()); |
279 } else { | 279 } else { |
280 LOG(WARNING) << "ProfileHelper::GetProfileByUserUnsafe is called when " | 280 LOG(WARNING) << "ProfileHelper::GetProfileByUserUnsafe is called when " |
281 "|user|'s profile is not created. It probably means that " | 281 "|user|'s profile is not created. It probably means that " |
282 "something is wrong with a calling code. Please report in " | 282 "something is wrong with a calling code. Please report in " |
283 "http://crbug.com/361528 if you see this message. user_id: " | 283 "http://crbug.com/361528 if you see this message. user_id: " |
284 << user->email(); | 284 << user->GetUserID().GetUserEmail(); |
285 profile = ProfileManager::GetActiveUserProfile(); | 285 profile = ProfileManager::GetActiveUserProfile(); |
286 } | 286 } |
287 | 287 |
288 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance | 288 // GetActiveUserProfile() or GetProfileByUserIdHash() returns a new instance |
289 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. | 289 // of ProfileImpl(), but actually its OffTheRecordProfile() should be used. |
290 if (profile && user_manager::UserManager::Get()->IsLoggedInAsGuest()) | 290 if (profile && user_manager::UserManager::Get()->IsLoggedInAsGuest()) |
291 profile = profile->GetOffTheRecordProfile(); | 291 profile = profile->GetOffTheRecordProfile(); |
292 return profile; | 292 return profile; |
293 } | 293 } |
294 | 294 |
295 const user_manager::User* ProfileHelper::GetUserByProfile( | 295 const user_manager::User* ProfileHelper::GetUserByProfile( |
296 const Profile* profile) const { | 296 const Profile* profile) const { |
297 // This map is non-empty only in tests. | 297 // This map is non-empty only in tests. |
298 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { | 298 if (enable_profile_to_user_testing || !user_list_for_testing_.empty()) { |
299 if (always_return_primary_user_for_testing) | 299 if (always_return_primary_user_for_testing) |
300 return user_manager::UserManager::Get()->GetPrimaryUser(); | 300 return user_manager::UserManager::Get()->GetPrimaryUser(); |
301 | 301 |
302 const std::string& user_name = profile->GetProfileUserName(); | 302 const user_manager::UserID user_id = user_manager::UserID::FromUserEmail(pro
file->GetProfileUserName()); |
303 for (user_manager::UserList::const_iterator it = | 303 for (user_manager::UserList::const_iterator it = |
304 user_list_for_testing_.begin(); | 304 user_list_for_testing_.begin(); |
305 it != user_list_for_testing_.end(); | 305 it != user_list_for_testing_.end(); |
306 ++it) { | 306 ++it) { |
307 if ((*it)->email() == user_name) | 307 if ((*it)->GetUserID() == user_id) |
308 return *it; | 308 return *it; |
309 } | 309 } |
310 | 310 |
311 // In case of test setup we should always default to primary user. | 311 // In case of test setup we should always default to primary user. |
312 return user_manager::UserManager::Get()->GetPrimaryUser(); | 312 return user_manager::UserManager::Get()->GetPrimaryUser(); |
313 } | 313 } |
314 | 314 |
315 DCHECK(!content::BrowserThread::IsThreadInitialized( | 315 DCHECK(!content::BrowserThread::IsThreadInitialized( |
316 content::BrowserThread::UI) || | 316 content::BrowserThread::UI) || |
317 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); | 317 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 user_to_profile_for_testing_[user] = profile; | 421 user_to_profile_for_testing_[user] = profile; |
422 } | 422 } |
423 | 423 |
424 // static | 424 // static |
425 std::string ProfileHelper::GetUserIdHashByUserIdForTesting( | 425 std::string ProfileHelper::GetUserIdHashByUserIdForTesting( |
426 const std::string& user_id) { | 426 const std::string& user_id) { |
427 return user_id + kUserIdHashSuffix; | 427 return user_id + kUserIdHashSuffix; |
428 } | 428 } |
429 | 429 |
430 } // namespace chromeos | 430 } // namespace chromeos |
OLD | NEW |