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