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/chromeos/login/signin/oauth2_login_manager_factory.h" 6 7 #include "chrome/browser/chromeos/login/signin/oauth2_login_manager.h" 8 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 10 #include "chrome/browser/signin/signin_manager_factory.h" 11 #include "chrome/browser/ui/global_error/global_error_service_factory.h" 12 #include "components/keyed_service/content/browser_context_dependency_manager.h" 13 14 namespace chromeos { 15 16 OAuth2LoginManagerFactory::OAuth2LoginManagerFactory() 17 : BrowserContextKeyedServiceFactory( 18 "OAuth2LoginManager", 19 BrowserContextDependencyManager::GetInstance()) { 20 DependsOn(GlobalErrorServiceFactory::GetInstance()); 21 DependsOn(SigninManagerFactory::GetInstance()); 22 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); 23 } 24 25 OAuth2LoginManagerFactory::~OAuth2LoginManagerFactory() { 26 } 27 28 // static 29 OAuth2LoginManager* OAuth2LoginManagerFactory::GetForProfile( 30 Profile* profile) { 31 return static_cast<OAuth2LoginManager*>( 32 GetInstance()->GetServiceForBrowserContext(profile, true)); 33 } 34 35 // static 36 OAuth2LoginManagerFactory* 37 OAuth2LoginManagerFactory::GetInstance() { 38 return Singleton<OAuth2LoginManagerFactory>::get(); 39 } 40 41 KeyedService* OAuth2LoginManagerFactory::BuildServiceInstanceFor( 42 content::BrowserContext* context) const { 43 Profile* profile = static_cast<Profile*>(context); 44 OAuth2LoginManager* service; 45 service = new OAuth2LoginManager(profile); 46 return service; 47 } 48 49 } // namespace chromeos 50