oauth2_login_manager_factory.cc revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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 14namespace chromeos { 15 16OAuth2LoginManagerFactory::OAuth2LoginManagerFactory() 17 : BrowserContextKeyedServiceFactory( 18 "OAuth2LoginManager", 19 BrowserContextDependencyManager::GetInstance()) { 20 DependsOn(GlobalErrorServiceFactory::GetInstance()); 21 DependsOn(SigninManagerFactory::GetInstance()); 22 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); 23} 24 25OAuth2LoginManagerFactory::~OAuth2LoginManagerFactory() { 26} 27 28// static 29OAuth2LoginManager* OAuth2LoginManagerFactory::GetForProfile( 30 Profile* profile) { 31 return static_cast<OAuth2LoginManager*>( 32 GetInstance()->GetServiceForBrowserContext(profile, true)); 33} 34 35// static 36OAuth2LoginManagerFactory* 37 OAuth2LoginManagerFactory::GetInstance() { 38 return Singleton<OAuth2LoginManagerFactory>::get(); 39} 40 41KeyedService* 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