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/signin/signin_tracker_factory.h" 6 7 #include "chrome/browser/signin/account_reconcilor_factory.h" 8 #include "chrome/browser/signin/chrome_signin_client_factory.h" 9 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 10 #include "chrome/browser/signin/signin_manager_factory.h" 11 #include "components/signin/core/common/profile_management_switches.h" 12 13 SigninTrackerFactory::SigninTrackerFactory() {} 14 SigninTrackerFactory::~SigninTrackerFactory() {} 15 16 // static 17 scoped_ptr<SigninTracker> SigninTrackerFactory::CreateForProfile( 18 Profile* profile, 19 SigninTracker::Observer* observer) { 20 // Determine whether to use the AccountReconcilor. 21 AccountReconcilor* account_reconcilor = NULL; 22 if (!switches::IsEnableWebBasedSignin() && 23 switches::IsEnableAccountConsistency()) 24 account_reconcilor = AccountReconcilorFactory::GetForProfile(profile); 25 26 return scoped_ptr<SigninTracker>(new SigninTracker( 27 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), 28 SigninManagerFactory::GetForProfile(profile), 29 account_reconcilor, 30 ChromeSigninClientFactory::GetForProfile(profile), 31 observer)); 32 } 33