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 67e33c07dc9b7ec18e4c4ee86afd54ac215918b8..0d0ab4c5f370b3298463a05c1cc8814ed853801f 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() { |
@@ -59,7 +76,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; |
} |