Index: chrome/browser/invalidation/invalidation_service_factory.cc |
diff --git a/chrome/browser/invalidation/invalidation_service_factory.cc b/chrome/browser/invalidation/invalidation_service_factory.cc |
index d5d3b173bdda8f1c69fe2a543ed2fc3246f06b09..33aad2500ad71a1999cfd8d235f9cb5df4758fb0 100644 |
--- a/chrome/browser/invalidation/invalidation_service_factory.cc |
+++ b/chrome/browser/invalidation/invalidation_service_factory.cc |
@@ -4,8 +4,11 @@ |
#include "chrome/browser/invalidation/invalidation_service_factory.h" |
-#include "chrome/browser/invalidation/invalidation_frontend.h" |
+#include "base/prefs/pref_registry.h" |
+#include "chrome/browser/invalidation/fake_invalidation_service.h" |
+#include "chrome/browser/invalidation/invalidation_service.h" |
#include "chrome/browser/invalidation/invalidation_service_android.h" |
+#include "chrome/browser/invalidation/invalidator_storage.h" |
#include "chrome/browser/invalidation/p2p_invalidation_service.h" |
#include "chrome/browser/invalidation/ticl_invalidation_service.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -18,14 +21,12 @@ class TokenService; |
namespace invalidation { |
-// TODO(rlarocque): Re-enable this once InvalidationFrontend can |
-// extend ProfileKeyedService. |
-// // static |
-// InvalidationFrontend* InvalidationServiceFactory::GetForProfile( |
-// Profile* profile) { |
-// return static_cast<InvalidationFrontend*>( |
-// GetInstance()->GetServiceForProfile(profile, true)); |
-// } |
+// static |
+InvalidationService* InvalidationServiceFactory::GetForProfile( |
+ Profile* profile) { |
+ return static_cast<InvalidationService*>( |
+ GetInstance()->GetServiceForProfile(profile, true)); |
+} |
// static |
InvalidationServiceFactory* InvalidationServiceFactory::GetInstance() { |
@@ -43,12 +44,42 @@ InvalidationServiceFactory::InvalidationServiceFactory() |
InvalidationServiceFactory::~InvalidationServiceFactory() {} |
-// static |
-ProfileKeyedService* |
-InvalidationServiceFactory::BuildP2PInvalidationServiceFor(Profile* profile) { |
+namespace { |
+ |
+ProfileKeyedService* BuildP2PInvalidationService( |
+ content::BrowserContext* context) { |
+ Profile* profile = static_cast<Profile*>(context); |
return new P2PInvalidationService(profile); |
} |
+ProfileKeyedService* BuildFakeInvalidationService( |
+ content::BrowserContext* context) { |
+ return new FakeInvalidationService(); |
+} |
+ |
+} // namespace |
+ |
+void InvalidationServiceFactory::SetFakeInvalidationServiceForTest( |
+ content::BrowserContext* context) { |
+ SetTestingFactory(context, BuildFakeInvalidationService); |
+} |
+ |
+P2PInvalidationService* |
+InvalidationServiceFactory::BuildAndUseP2PInvalidationServiceForTest( |
+ content::BrowserContext* context) { |
+ ProfileKeyedService* service = |
+ SetTestingFactoryAndUse(context, BuildP2PInvalidationService); |
+ return static_cast<P2PInvalidationService*>(service); |
+} |
+ |
+FakeInvalidationService* |
+InvalidationServiceFactory::BuildAndUseFakeInvalidationServiceForTest( |
+ content::BrowserContext* context) { |
+ ProfileKeyedService* service = |
+ SetTestingFactoryAndUse(context, BuildFakeInvalidationService); |
+ return static_cast<FakeInvalidationService*>(service); |
+} |
+ |
ProfileKeyedService* InvalidationServiceFactory::BuildServiceInstanceFor( |
content::BrowserContext* context) const { |
Profile* profile = static_cast<Profile*>(context); |
@@ -67,4 +98,9 @@ ProfileKeyedService* InvalidationServiceFactory::BuildServiceInstanceFor( |
#endif |
} |
+void InvalidationServiceFactory::RegisterUserPrefs( |
+ user_prefs::PrefRegistrySyncable* registry) { |
+ InvalidatorStorage::RegisterUserPrefs(registry); |
+} |
+ |
} // namespace invalidation |