Index: chrome/browser/signin/signin_manager_factory.cc |
diff --git a/chrome/browser/signin/signin_manager_factory.cc b/chrome/browser/signin/signin_manager_factory.cc |
index 11dd5e694039cc370c5c28239e128494b6b951ec..b7b30525b572756446e14f36c936bed91d31d995 100644 |
--- a/chrome/browser/signin/signin_manager_factory.cc |
+++ b/chrome/browser/signin/signin_manager_factory.cc |
@@ -21,6 +21,22 @@ SigninManagerFactory::SigninManagerFactory() |
SigninManagerFactory::~SigninManagerFactory() {} |
+#if defined(OS_CHROMEOS) |
+// static |
+SigninManagerBase* SigninManagerFactory::GetForProfileIfExists( |
+ Profile* profile) { |
+ return static_cast<SigninManagerBase*>( |
+ GetInstance()->GetServiceForProfile(profile, false)); |
+} |
+ |
+// static |
+SigninManagerBase* SigninManagerFactory::GetForProfile( |
+ Profile* profile) { |
+ return static_cast<SigninManagerBase*>( |
+ GetInstance()->GetServiceForProfile(profile, true)); |
+} |
+ |
+#else |
// static |
SigninManager* SigninManagerFactory::GetForProfile(Profile* profile) { |
return static_cast<SigninManager*>( |
@@ -32,6 +48,7 @@ SigninManager* SigninManagerFactory::GetForProfileIfExists(Profile* profile) { |
return static_cast<SigninManager*>( |
GetInstance()->GetServiceForProfile(profile, false)); |
} |
+#endif |
// static |
SigninManagerFactory* SigninManagerFactory::GetInstance() { |
@@ -62,7 +79,14 @@ void SigninManagerFactory::RegisterPrefs(PrefRegistrySimple* registry) { |
ProfileKeyedService* SigninManagerFactory::BuildServiceInstanceFor( |
Profile* profile) const { |
- SigninManager* service = new SigninManager(); |
+ |
+ SigninManagerBase* service = NULL; |
+#if defined(OS_CHROMEOS) |
+ service = new SigninManagerBase(); |
+#else |
+ service = new SigninManager(); |
+#endif |
+ |
service->Initialize(profile); |
return service; |
} |