1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "chrome/browser/signin/chrome_signin_client_factory.h" 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/keyed_service/content/browser_context_dependency_manager.h" 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)ChromeSigninClientFactory::ChromeSigninClientFactory() 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) : BrowserContextKeyedServiceFactory( 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) "ChromeSigninClient", 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) BrowserContextDependencyManager::GetInstance()) {} 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)ChromeSigninClientFactory::~ChromeSigninClientFactory() {} 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// static 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)SigninClient* ChromeSigninClientFactory::GetForProfile(Profile* profile) { 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return static_cast<SigninClient*>( 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) GetInstance()->GetServiceForBrowserContext(profile, true)); 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// static 24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)ChromeSigninClientFactory* ChromeSigninClientFactory::GetInstance() { 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return Singleton<ChromeSigninClientFactory>::get(); 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)KeyedService* ChromeSigninClientFactory::BuildServiceInstanceFor( 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) content::BrowserContext* context) const { 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ChromeSigninClient* client = 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) new ChromeSigninClient(static_cast<Profile*>(context)); 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return client; 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 34