| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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/profiles/profile_window.h" | 5 #include "chrome/browser/profiles/profile_window.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 void LockProfile(Profile* profile) { | 311 void LockProfile(Profile* profile) { |
| 312 DCHECK(profile); | 312 DCHECK(profile); |
| 313 if (profile) { | 313 if (profile) { |
| 314 BrowserList::CloseAllBrowsersWithProfile( | 314 BrowserList::CloseAllBrowsersWithProfile( |
| 315 profile, base::Bind(&LockBrowserCloseSuccess)); | 315 profile, base::Bind(&LockBrowserCloseSuccess)); |
| 316 } | 316 } |
| 317 } | 317 } |
| 318 | 318 |
| 319 bool IsLockAvailable(Profile* profile) { | 319 bool IsLockAvailable(Profile* profile) { |
| 320 DCHECK(profile); | 320 DCHECK(profile); |
| 321 if (!switches::IsNewProfileManagement()) |
| 322 return false; |
| 323 |
| 321 const std::string& hosted_domain = profile->GetPrefs()-> | 324 const std::string& hosted_domain = profile->GetPrefs()-> |
| 322 GetString(prefs::kGoogleServicesHostedDomain); | 325 GetString(prefs::kGoogleServicesHostedDomain); |
| 323 return switches::IsNewProfileManagement() && | 326 // TODO(mlerman): Prohibit only users who authenticate using SAML. Until then, |
| 324 (hosted_domain == Profile::kNoHostedDomainFound || | 327 // prohibited users who use hosted domains (aside from google.com). |
| 325 hosted_domain == "google.com"); | 328 if (hosted_domain != Profile::kNoHostedDomainFound && |
| 329 hosted_domain != "google.com") { |
| 330 return false; |
| 331 } |
| 332 |
| 333 const ProfileInfoCache& cache = |
| 334 g_browser_process->profile_manager()->GetProfileInfoCache(); |
| 335 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) { |
| 336 if (cache.ProfileIsSupervisedAtIndex(i)) |
| 337 return true; |
| 338 } |
| 339 return false; |
| 326 } | 340 } |
| 327 | 341 |
| 328 void CreateGuestProfileForUserManager( | 342 void CreateGuestProfileForUserManager( |
| 329 const base::FilePath& profile_path_to_focus, | 343 const base::FilePath& profile_path_to_focus, |
| 330 profiles::UserManagerTutorialMode tutorial_mode, | 344 profiles::UserManagerTutorialMode tutorial_mode, |
| 331 profiles::UserManagerProfileSelected profile_open_action, | 345 profiles::UserManagerProfileSelected profile_open_action, |
| 332 const base::Callback<void(Profile*, const std::string&)>& callback) { | 346 const base::Callback<void(Profile*, const std::string&)>& callback) { |
| 333 // Create the guest profile, if necessary, and open the User Manager | 347 // Create the guest profile, if necessary, and open the User Manager |
| 334 // from the guest profile. | 348 // from the guest profile. |
| 335 g_browser_process->profile_manager()->CreateProfileAsync( | 349 g_browser_process->profile_manager()->CreateProfileAsync( |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 case BrowserWindow::AVATAR_BUBBLE_MODE_SHOW_ERROR: | 442 case BrowserWindow::AVATAR_BUBBLE_MODE_SHOW_ERROR: |
| 429 *bubble_view_mode = BUBBLE_VIEW_MODE_PROFILE_CHOOSER; | 443 *bubble_view_mode = BUBBLE_VIEW_MODE_PROFILE_CHOOSER; |
| 430 *tutorial_mode = TUTORIAL_MODE_SHOW_ERROR; | 444 *tutorial_mode = TUTORIAL_MODE_SHOW_ERROR; |
| 431 return; | 445 return; |
| 432 default: | 446 default: |
| 433 *bubble_view_mode = profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER; | 447 *bubble_view_mode = profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER; |
| 434 } | 448 } |
| 435 } | 449 } |
| 436 | 450 |
| 437 } // namespace profiles | 451 } // namespace profiles |
| OLD | NEW |