signin_manager_factory.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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/signin/signin_manager_factory.h" 6 7#include "chrome/browser/prefs/pref_service.h" 8#include "chrome/browser/profiles/profile_dependency_manager.h" 9#include "chrome/browser/signin/signin_manager.h" 10#include "chrome/browser/signin/token_service_factory.h" 11#include "chrome/common/pref_names.h" 12 13SigninManagerFactory::SigninManagerFactory() 14 : ProfileKeyedServiceFactory("SigninManager", 15 ProfileDependencyManager::GetInstance()) { 16 DependsOn(TokenServiceFactory::GetInstance()); 17} 18 19SigninManagerFactory::~SigninManagerFactory() {} 20 21// static 22SigninManager* SigninManagerFactory::GetForProfile(Profile* profile) { 23 return static_cast<SigninManager*>( 24 GetInstance()->GetServiceForProfile(profile, true)); 25} 26 27// static 28SigninManagerFactory* SigninManagerFactory::GetInstance() { 29 return Singleton<SigninManagerFactory>::get(); 30} 31 32void SigninManagerFactory::RegisterUserPrefs(PrefService* user_prefs) { 33 user_prefs->RegisterStringPref(prefs::kGoogleServicesLastUsername, "", 34 PrefService::UNSYNCABLE_PREF); 35 user_prefs->RegisterStringPref(prefs::kGoogleServicesUsername, "", 36 PrefService::UNSYNCABLE_PREF); 37 user_prefs->RegisterBooleanPref(prefs::kAutologinEnabled, true, 38 PrefService::UNSYNCABLE_PREF); 39 user_prefs->RegisterBooleanPref(prefs::kReverseAutologinEnabled, true, 40 PrefService::UNSYNCABLE_PREF); 41 user_prefs->RegisterListPref(prefs::kReverseAutologinRejectedEmailList, 42 new ListValue, PrefService::UNSYNCABLE_PREF); 43 user_prefs->RegisterBooleanPref(prefs::kIsGooglePlusUser, false, 44 PrefService::UNSYNCABLE_PREF); 45} 46 47// static 48void SigninManagerFactory::RegisterPrefs(PrefService* local_state) { 49 local_state->RegisterStringPref(prefs::kGoogleServicesUsernamePattern, "", 50 PrefService::UNSYNCABLE_PREF); 51} 52 53ProfileKeyedService* SigninManagerFactory::BuildServiceInstanceFor( 54 Profile* profile) const { 55 SigninManager* service = new SigninManager(); 56 service->Initialize(profile); 57 return service; 58} 59