15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "components/signin/core/browser/signin_manager_base.h" 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "google_apis/gaia/gaia_constants.h" 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/supervised_user/supervised_user_constants.h" 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 15116680a4aac90f2aa7413d9095a592090648e557Ben MurdochSupervisedUserSigninManagerWrapper::SupervisedUserSigninManagerWrapper( 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch Profile* profile, 17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch SigninManagerBase* original) 18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch : profile_(profile), original_(original) {} 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 20116680a4aac90f2aa7413d9095a592090648e557Ben MurdochSupervisedUserSigninManagerWrapper::~SupervisedUserSigninManagerWrapper() { 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 23116680a4aac90f2aa7413d9095a592090648e557Ben MurdochSigninManagerBase* SupervisedUserSigninManagerWrapper::GetOriginal() { 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return original_; 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdochstd::string SupervisedUserSigninManagerWrapper::GetEffectiveUsername() const { 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) const std::string& auth_username = original_->GetAuthenticatedUsername(); 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) if (auth_username.empty() && profile_->IsSupervised()) 31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) return supervised_users::kSupervisedUserPseudoEmail; 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) return auth_username; 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdochstd::string SupervisedUserSigninManagerWrapper::GetAccountIdToUse() const { 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (!original_->IsAuthenticated() && profile_->IsSupervised()) 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) return supervised_users::kSupervisedUserPseudoEmail; 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return original_->GetAuthenticatedAccountId(); 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdochstd::string SupervisedUserSigninManagerWrapper::GetSyncScopeToUse() const { 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (!original_->IsAuthenticated() && profile_->IsSupervised()) 47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) return GaiaConstants::kChromeSyncSupervisedOAuth2Scope; 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return GaiaConstants::kChromeSyncOAuth2Scope; 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 51