Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/browser/policy/cloud/user_policy_signin_service.h" | 5 #include "chrome/browser/policy/cloud/user_policy_signin_service.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/browser/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
| 13 #include "chrome/browser/managed_mode/managed_user_service.h" | |
|
Joao da Silva
2013/06/12 15:30:29
#ifdef managed mode
Bernhard Bauer
2013/06/12 19:01:39
Done.
| |
| 13 #include "chrome/browser/policy/browser_policy_connector.h" | 14 #include "chrome/browser/policy/browser_policy_connector.h" |
| 14 #include "chrome/browser/policy/cloud/cloud_policy_client.h" | 15 #include "chrome/browser/policy/cloud/cloud_policy_client.h" |
| 15 #include "chrome/browser/policy/cloud/cloud_policy_service.h" | 16 #include "chrome/browser/policy/cloud/cloud_policy_service.h" |
| 16 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" | 17 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" |
| 17 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" | 18 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" |
| 18 #include "chrome/browser/policy/cloud/user_info_fetcher.h" | 19 #include "chrome/browser/policy/cloud/user_info_fetcher.h" |
| 19 #include "chrome/browser/profiles/profile.h" | 20 #include "chrome/browser/profiles/profile.h" |
| 20 #include "chrome/browser/profiles/profile_manager.h" | 21 #include "chrome/browser/profiles/profile_manager.h" |
| 21 #include "chrome/browser/signin/signin_manager.h" | 22 #include "chrome/browser/signin/signin_manager.h" |
| 22 #include "chrome/browser/signin/signin_manager_factory.h" | 23 #include "chrome/browser/signin/signin_manager_factory.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 221 DCHECK_EQ(client, client_); | 222 DCHECK_EQ(client, client_); |
| 222 RequestCompleted(); | 223 RequestCompleted(); |
| 223 } | 224 } |
| 224 | 225 |
| 225 UserPolicySigninService::UserPolicySigninService( | 226 UserPolicySigninService::UserPolicySigninService( |
| 226 Profile* profile) | 227 Profile* profile) |
| 227 : profile_(profile), | 228 : profile_(profile), |
| 228 weak_factory_(this) { | 229 weak_factory_(this) { |
| 229 if (profile_->GetPrefs()->GetBoolean(prefs::kDisableCloudPolicyOnSignin)) | 230 if (profile_->GetPrefs()->GetBoolean(prefs::kDisableCloudPolicyOnSignin)) |
| 230 return; | 231 return; |
| 231 | 232 |
|
Joao da Silva
2013/06/12 15:30:29
The managed mode check should be here, and return
Bernhard Bauer
2013/06/12 19:01:39
Done.
| |
| 232 // Initialize/shutdown the UserCloudPolicyManager when the user signs out. | 233 // Initialize/shutdown the UserCloudPolicyManager when the user signs out. |
| 233 registrar_.Add(this, | 234 registrar_.Add(this, |
| 234 chrome::NOTIFICATION_GOOGLE_SIGNED_OUT, | 235 chrome::NOTIFICATION_GOOGLE_SIGNED_OUT, |
| 235 content::Source<Profile>(profile)); | 236 content::Source<Profile>(profile)); |
| 236 | 237 |
| 237 // Listen for an OAuth token to become available so we can register a client | 238 // Listen for an OAuth token to become available so we can register a client |
| 238 // if for some reason the client is not already registered (for example, if | 239 // if for some reason the client is not already registered (for example, if |
| 239 // the policy load failed during initial signin). | 240 // the policy load failed during initial signin). |
| 240 registrar_.Add(this, | 241 registrar_.Add(this, |
| 241 chrome::NOTIFICATION_TOKEN_AVAILABLE, | 242 chrome::NOTIFICATION_TOKEN_AVAILABLE, |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 392 ShutdownUserCloudPolicyManager(); | 393 ShutdownUserCloudPolicyManager(); |
| 393 else | 394 else |
| 394 InitializeForSignedInUser(); | 395 InitializeForSignedInUser(); |
| 395 break; | 396 break; |
| 396 } | 397 } |
| 397 case chrome::NOTIFICATION_TOKEN_AVAILABLE: { | 398 case chrome::NOTIFICATION_TOKEN_AVAILABLE: { |
| 398 const TokenService::TokenAvailableDetails& token_details = | 399 const TokenService::TokenAvailableDetails& token_details = |
| 399 *(content::Details<const TokenService::TokenAvailableDetails>( | 400 *(content::Details<const TokenService::TokenAvailableDetails>( |
| 400 details).ptr()); | 401 details).ptr()); |
| 401 if (token_details.service() == | 402 if (token_details.service() == |
| 402 GaiaConstants::kGaiaOAuth2LoginRefreshToken) { | 403 GaiaConstants::kGaiaOAuth2LoginRefreshToken && |
| 404 !ManagedUserService::ProfileIsManaged(profile_)) { | |
|
Joao da Silva
2013/06/12 15:30:29
#ifdef after moving
Bernhard Bauer
2013/06/12 19:01:39
Done.
| |
| 403 SigninManager* signin_manager = | 405 SigninManager* signin_manager = |
| 404 SigninManagerFactory::GetForProfile(profile_); | 406 SigninManagerFactory::GetForProfile(profile_); |
| 405 std::string username = signin_manager->GetAuthenticatedUsername(); | 407 std::string username = signin_manager->GetAuthenticatedUsername(); |
| 406 // Should not have GAIA tokens if the user isn't signed in. | 408 // Should not have GAIA tokens if the user isn't signed in. |
| 407 DCHECK(!username.empty()); | 409 DCHECK(!username.empty()); |
| 408 // TokenService now has a refresh token (implying that the user is | 410 // TokenService now has a refresh token (implying that the user is |
| 409 // signed in) so initialize the UserCloudPolicyManager. | 411 // signed in) so initialize the UserCloudPolicyManager. |
| 410 InitializeForSignedInUser(); | 412 InitializeForSignedInUser(); |
| 411 } | 413 } |
| 412 break; | 414 break; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 582 // before UserCloudPolicyManager shuts down the CloudPolicyClient. | 584 // before UserCloudPolicyManager shuts down the CloudPolicyClient. |
| 583 registration_helper_.reset(); | 585 registration_helper_.reset(); |
| 584 StopObserving(); | 586 StopObserving(); |
| 585 } | 587 } |
| 586 | 588 |
| 587 UserCloudPolicyManager* UserPolicySigninService::GetManager() { | 589 UserCloudPolicyManager* UserPolicySigninService::GetManager() { |
| 588 return UserCloudPolicyManagerFactory::GetForProfile(profile_); | 590 return UserCloudPolicyManagerFactory::GetForProfile(profile_); |
| 589 } | 591 } |
| 590 | 592 |
| 591 } // namespace policy | 593 } // namespace policy |
| OLD | NEW |