profile_oauth2_token_service_factory.cc revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/signin/profile_oauth2_token_service.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/signin/token_service_factory.h" 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/ui/global_error/global_error_service_factory.h" 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProfileOAuth2TokenServiceFactory::ProfileOAuth2TokenServiceFactory() 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) : BrowserContextKeyedServiceFactory( 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) "ProfileOAuth2TokenService", 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) BrowserContextDependencyManager::GetInstance()) { 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DependsOn(GlobalErrorServiceFactory::GetInstance()); 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DependsOn(TokenServiceFactory::GetInstance()); 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProfileOAuth2TokenServiceFactory::~ProfileOAuth2TokenServiceFactory() { 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if defined(OS_ANDROID) 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// static 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochAndroidProfileOAuth2TokenService* 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ProfileOAuth2TokenServiceFactory::GetForProfile(Profile* profile) { 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return static_cast<AndroidProfileOAuth2TokenService*>( 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch GetInstance()->GetServiceForBrowserContext(profile, true)); 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#else 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProfileOAuth2TokenService* ProfileOAuth2TokenServiceFactory::GetForProfile( 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Profile* profile) { 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return static_cast<ProfileOAuth2TokenService*>( 3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) GetInstance()->GetServiceForBrowserContext(profile, true)); 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif // defined(OS_ANDROID) 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProfileOAuth2TokenServiceFactory* 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ProfileOAuth2TokenServiceFactory::GetInstance() { 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return Singleton<ProfileOAuth2TokenServiceFactory>::get(); 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 4690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)BrowserContextKeyedService* 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)ProfileOAuth2TokenServiceFactory::BuildServiceInstanceFor( 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) content::BrowserContext* context) const { 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Profile* profile = static_cast<Profile*>(context); 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ProfileOAuth2TokenService* service; 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if defined(OS_ANDROID) 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) service = new AndroidProfileOAuth2TokenService(profile->GetRequestContext()); 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#else 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) service = new ProfileOAuth2TokenService(profile->GetRequestContext()); 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) service->Initialize(profile); 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return service; 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 59