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 15SupervisedUserSigninManagerWrapper::SupervisedUserSigninManagerWrapper( 16 Profile* profile, 17 SigninManagerBase* original) 18 : profile_(profile), original_(original) {} 19 20SupervisedUserSigninManagerWrapper::~SupervisedUserSigninManagerWrapper() { 21} 22 23SigninManagerBase* SupervisedUserSigninManagerWrapper::GetOriginal() { 24 return original_; 25} 26 27std::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 36std::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 44std::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