Home | History | Annotate | Download | only in sync
      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