1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" 6 7 #include "chrome/browser/profiles/profile.h" 8 #include "components/signin/core/browser/signin_manager_base.h" 9 #include "google_apis/gaia/gaia_constants.h" 10 11 #if defined(ENABLE_MANAGED_USERS) 12 #include "chrome/browser/supervised_user/supervised_user_constants.h" 13 #endif 14 15 SupervisedUserSigninManagerWrapper::SupervisedUserSigninManagerWrapper( 16 Profile* profile, 17 SigninManagerBase* original) 18 : profile_(profile), original_(original) {} 19 20 SupervisedUserSigninManagerWrapper::~SupervisedUserSigninManagerWrapper() { 21 } 22 23 SigninManagerBase* SupervisedUserSigninManagerWrapper::GetOriginal() { 24 return original_; 25 } 26 27 std::string SupervisedUserSigninManagerWrapper::GetEffectiveUsername() const { 28 const std::string& auth_username = original_->GetAuthenticatedUsername(); 29 #if defined(ENABLE_MANAGED_USERS) 30 if (auth_username.empty() && profile_->IsSupervised()) 31 return supervised_users::kSupervisedUserPseudoEmail; 32 #endif 33 return auth_username; 34 } 35 36 std::string SupervisedUserSigninManagerWrapper::GetAccountIdToUse() const { 37 #if defined(ENABLE_MANAGED_USERS) 38 if (!original_->IsAuthenticated() && profile_->IsSupervised()) 39 return supervised_users::kSupervisedUserPseudoEmail; 40 #endif 41 return original_->GetAuthenticatedAccountId(); 42 } 43 44 std::string SupervisedUserSigninManagerWrapper::GetSyncScopeToUse() const { 45 #if defined(ENABLE_MANAGED_USERS) 46 if (!original_->IsAuthenticated() && profile_->IsSupervised()) 47 return GaiaConstants::kChromeSyncSupervisedOAuth2Scope; 48 #endif 49 return GaiaConstants::kChromeSyncOAuth2Scope; 50 } 51