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( |
| 105 prefs::kGoogleServicesLastAccountId, |
| 106 std::string(), |
| 107 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 108 registry->RegisterStringPref( |
101 prefs::kGoogleServicesUserAccountId, | 109 prefs::kGoogleServicesUserAccountId, |
102 std::string(), | 110 std::string(), |
103 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 111 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
104 registry->RegisterStringPref( | |
105 prefs::kGoogleServicesUsername, | |
106 std::string(), | |
107 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
108 registry->RegisterBooleanPref( | 112 registry->RegisterBooleanPref( |
109 prefs::kAutologinEnabled, | 113 prefs::kAutologinEnabled, |
110 true, | 114 true, |
111 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 115 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
112 registry->RegisterBooleanPref( | 116 registry->RegisterBooleanPref( |
113 prefs::kReverseAutologinEnabled, | 117 prefs::kReverseAutologinEnabled, |
114 true, | 118 true, |
115 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 119 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
116 registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList, | 120 registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList, |
117 new base::ListValue, | 121 new base::ListValue, |
118 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 122 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
119 registry->RegisterInt64Pref( | 123 registry->RegisterInt64Pref( |
120 prefs::kSignedInTime, | 124 prefs::kSignedInTime, |
121 base::Time().ToInternalValue(), | 125 base::Time().ToInternalValue(), |
122 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 126 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 127 |
123 LocalAuth::RegisterLocalAuthPrefs(registry); | 128 LocalAuth::RegisterLocalAuthPrefs(registry); |
| 129 |
| 130 // Deprecated prefs: will be removed in a future release. |
| 131 registry->RegisterStringPref( |
| 132 prefs::kGoogleServicesUsername, |
| 133 std::string(), |
| 134 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
124 } | 135 } |
125 | 136 |
126 // static | 137 // static |
127 void SigninManagerFactory::RegisterPrefs(PrefRegistrySimple* registry) { | 138 void SigninManagerFactory::RegisterPrefs(PrefRegistrySimple* registry) { |
128 registry->RegisterStringPref(prefs::kGoogleServicesUsernamePattern, | 139 registry->RegisterStringPref(prefs::kGoogleServicesUsernamePattern, |
129 std::string()); | 140 std::string()); |
130 } | 141 } |
131 | 142 |
132 void SigninManagerFactory::AddObserver(Observer* observer) { | 143 void SigninManagerFactory::AddObserver(Observer* observer) { |
133 observer_list_.AddObserver(observer); | 144 observer_list_.AddObserver(observer); |
134 } | 145 } |
135 | 146 |
136 void SigninManagerFactory::RemoveObserver(Observer* observer) { | 147 void SigninManagerFactory::RemoveObserver(Observer* observer) { |
137 observer_list_.RemoveObserver(observer); | 148 observer_list_.RemoveObserver(observer); |
138 } | 149 } |
139 | 150 |
140 void SigninManagerFactory::NotifyObserversOfSigninManagerCreationForTesting( | 151 void SigninManagerFactory::NotifyObserversOfSigninManagerCreationForTesting( |
141 SigninManagerBase* manager) { | 152 SigninManagerBase* manager) { |
142 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(manager)); | 153 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(manager)); |
143 } | 154 } |
144 | 155 |
145 KeyedService* SigninManagerFactory::BuildServiceInstanceFor( | 156 KeyedService* SigninManagerFactory::BuildServiceInstanceFor( |
146 content::BrowserContext* context) const { | 157 content::BrowserContext* context) const { |
147 SigninManagerBase* service = NULL; | 158 SigninManagerBase* service = NULL; |
148 Profile* profile = static_cast<Profile*>(context); | 159 Profile* profile = static_cast<Profile*>(context); |
149 SigninClient* client = | 160 SigninClient* client = |
150 ChromeSigninClientFactory::GetInstance()->GetForProfile(profile); | 161 ChromeSigninClientFactory::GetInstance()->GetForProfile(profile); |
151 #if defined(OS_CHROMEOS) | 162 #if defined(OS_CHROMEOS) |
152 service = new SigninManagerBase(client); | 163 service = new SigninManagerBase( |
| 164 client, |
| 165 AccountTrackerServiceFactory::GetForProfile(profile)); |
153 #else | 166 #else |
154 service = new SigninManager( | 167 service = new SigninManager( |
155 client, | 168 client, |
156 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), | 169 ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
157 AccountTrackerServiceFactory::GetForProfile(profile), | 170 AccountTrackerServiceFactory::GetForProfile(profile), |
158 GaiaCookieManagerServiceFactory::GetForProfile(profile)); | 171 GaiaCookieManagerServiceFactory::GetForProfile(profile)); |
159 #endif | 172 #endif |
160 service->Initialize(g_browser_process->local_state()); | 173 service->Initialize(g_browser_process->local_state()); |
161 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(service)); | 174 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerCreated(service)); |
162 return service; | 175 return service; |
163 } | 176 } |
164 | 177 |
165 void SigninManagerFactory::BrowserContextShutdown( | 178 void SigninManagerFactory::BrowserContextShutdown( |
166 content::BrowserContext* context) { | 179 content::BrowserContext* context) { |
167 SigninManagerBase* manager = static_cast<SigninManagerBase*>( | 180 SigninManagerBase* manager = static_cast<SigninManagerBase*>( |
168 GetServiceForBrowserContext(context, false)); | 181 GetServiceForBrowserContext(context, false)); |
169 if (manager) | 182 if (manager) |
170 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerShutdown(manager)); | 183 FOR_EACH_OBSERVER(Observer, observer_list_, SigninManagerShutdown(manager)); |
171 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); | 184 BrowserContextKeyedServiceFactory::BrowserContextShutdown(context); |
172 } | 185 } |
OLD | NEW |