OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/signin/signin_manager_factory.h" | 5 #include "chrome/browser/signin/signin_manager_factory.h" |
6 | 6 |
7 #include "base/prefs/pref_registry_simple.h" | 7 #include "base/prefs/pref_registry_simple.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/signin/account_tracker_service_factory.h" | 10 #include "chrome/browser/signin/account_tracker_service_factory.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 91 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
92 registry->RegisterInt64Pref( | 92 registry->RegisterInt64Pref( |
93 prefs::kGoogleServicesRefreshTokenAnnotateScheduledTime, | 93 prefs::kGoogleServicesRefreshTokenAnnotateScheduledTime, |
94 base::Time().ToInternalValue(), | 94 base::Time().ToInternalValue(), |
95 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 95 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
96 registry->RegisterStringPref( | 96 registry->RegisterStringPref( |
97 prefs::kGoogleServicesSigninScopedDeviceId, | 97 prefs::kGoogleServicesSigninScopedDeviceId, |
98 std::string(), | 98 std::string(), |
99 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 99 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
100 registry->RegisterStringPref( | 100 registry->RegisterStringPref( |
| 101 prefs::kGoogleServicesAccountId, |
| 102 std::string(), |
| 103 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 104 registry->RegisterStringPref( |
101 prefs::kGoogleServicesUserAccountId, | 105 prefs::kGoogleServicesUserAccountId, |
102 std::string(), | 106 std::string(), |
103 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 107 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
104 registry->RegisterStringPref( | |
105 prefs::kGoogleServicesUsername, | |
106 std::string(), | |
107 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
108 registry->RegisterBooleanPref( | 108 registry->RegisterBooleanPref( |
109 prefs::kAutologinEnabled, | 109 prefs::kAutologinEnabled, |
110 true, | 110 true, |
111 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 111 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
112 registry->RegisterBooleanPref( | 112 registry->RegisterBooleanPref( |
113 prefs::kReverseAutologinEnabled, | 113 prefs::kReverseAutologinEnabled, |
114 true, | 114 true, |
115 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 115 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
116 registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList, | 116 registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList, |
117 new base::ListValue, | 117 new base::ListValue, |
118 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 118 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
119 registry->RegisterInt64Pref( | 119 registry->RegisterInt64Pref( |
120 prefs::kSignedInTime, | 120 prefs::kSignedInTime, |
121 base::Time().ToInternalValue(), | 121 base::Time().ToInternalValue(), |
122 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 122 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 123 |
123 LocalAuth::RegisterLocalAuthPrefs(registry); | 124 LocalAuth::RegisterLocalAuthPrefs(registry); |
| 125 |
| 126 // Deprecated prefs: will be removed in a future release. |
| 127 registry->RegisterStringPref( |
| 128 prefs::kGoogleServicesUsername, |
| 129 std::string(), |
| 130 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
124 } | 131 } |
125 | 132 |
126 // static | 133 // static |
127 void SigninManagerFactory::RegisterPrefs(PrefRegistrySimple* registry) { | 134 void SigninManagerFactory::RegisterPrefs(PrefRegistrySimple* registry) { |
128 registry->RegisterStringPref(prefs::kGoogleServicesUsernamePattern, | 135 registry->RegisterStringPref(prefs::kGoogleServicesUsernamePattern, |
129 std::string()); | 136 std::string()); |
130 } | 137 } |
131 | 138 |
132 void SigninManagerFactory::AddObserver(Observer* observer) { | 139 void SigninManagerFactory::AddObserver(Observer* observer) { |
133 observer_list_.AddObserver(observer); | 140 observer_list_.AddObserver(observer); |
134 } | 141 } |
135 | 142 |
136 void SigninManagerFactory::RemoveObserver(Observer* observer) { | 143 void SigninManagerFactory::RemoveObserver(Observer* observer) { |
137 observer_list_.RemoveObserver(observer); | 144 observer_list_.RemoveObserver(observer); |
138 } | 145 } |
139 | 146 |
140 void SigninManagerFactory::NotifyObserversOfSigninManagerCreationForTesting( | 147 void SigninManagerFactory::NotifyObserversOfSigninManagerCreationForTesting( |
141 SigninManagerBase* manager) { | 148 SigninManagerBase* manager) { |
142 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(manager)); | 149 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(manager)); |
143 } | 150 } |
144 | 151 |
145 KeyedService* SigninManagerFactory::BuildServiceInstanceFor( | 152 KeyedService* SigninManagerFactory::BuildServiceInstanceFor( |
146 content::BrowserContext* context) const { | 153 content::BrowserContext* context) const { |
147 SigninManagerBase* service = NULL; | 154 SigninManagerBase* service = NULL; |
148 Profile* profile = static_cast<Profile*>(context); | 155 Profile* profile = static_cast<Profile*>(context); |
149 SigninClient* client = | 156 SigninClient* client = |
150 ChromeSigninClientFactory::GetInstance()->GetForProfile(profile); | 157 ChromeSigninClientFactory::GetInstance()->GetForProfile(profile); |
151 #if defined(OS_CHROMEOS) | 158 #if defined(OS_CHROMEOS) |
152 service = new SigninManagerBase(client); | 159 service = new SigninManagerBase( |
| 160 client, |
| 161 AccountTrackerServiceFactory::GetForProfile(profile)); |
153 #else | 162 #else |
154 service = new SigninManager( | 163 service = new SigninManager( |
155 client, | 164 client, |
156 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), | 165 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
157 AccountTrackerServiceFactory::GetForProfile(profile), | 166 AccountTrackerServiceFactory::GetForProfile(profile), |
158 GaiaCookieManagerServiceFactory::GetForProfile(profile)); | 167 GaiaCookieManagerServiceFactory::GetForProfile(profile)); |
159 #endif | 168 #endif |
160 service->Initialize(g_browser_process->local_state()); | 169 service->Initialize(g_browser_process->local_state()); |
161 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(service)); | 170 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(service)); |
162 return service; | 171 return service; |
163 } | 172 } |
164 | 173 |
165 void SigninManagerFactory::BrowserContextShutdown( | 174 void SigninManagerFactory::BrowserContextShutdown( |
166 content::BrowserContext* context) { | 175 content::BrowserContext* context) { |
167 SigninManagerBase* manager = static_cast<SigninManagerBase*>( | 176 SigninManagerBase* manager = static_cast<SigninManagerBase*>( |
168 GetServiceForBrowserContext(context, false)); | 177 GetServiceForBrowserContext(context, false)); |
169 if (manager) | 178 if (manager) |
170 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerShutdown(manager)); | 179 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerShutdown(manager)); |
171 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); | 180 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); |
172 } | 181 } |
OLD | NEW |