Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: chrome/browser/invalidation/invalidation_service_factory.cc

Issue 183803026: Clean up InvalidationService test infrastructure. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/invalidation/invalidation_service_factory.h" 5 #include "chrome/browser/invalidation/invalidation_service_factory.h"
6 6
7 #include "base/prefs/pref_registry.h" 7 #include "base/prefs/pref_registry.h"
8 #include "chrome/browser/invalidation/fake_invalidation_service.h" 8 #include "chrome/browser/invalidation/fake_invalidation_service.h"
9 #include "chrome/browser/invalidation/invalidation_service.h" 9 #include "chrome/browser/invalidation/invalidation_service.h"
10 #include "chrome/browser/invalidation/invalidation_service_android.h" 10 #include "chrome/browser/invalidation/invalidation_service_android.h"
11 #include "chrome/browser/invalidation/invalidator_storage.h" 11 #include "chrome/browser/invalidation/invalidator_storage.h"
12 #include "chrome/browser/invalidation/p2p_invalidation_service.h"
13 #include "chrome/browser/invalidation/ticl_invalidation_service.h" 12 #include "chrome/browser/invalidation/ticl_invalidation_service.h"
14 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" 14 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
16 #include "chrome/browser/signin/profile_oauth2_token_service.h" 15 #include "chrome/browser/signin/profile_oauth2_token_service.h"
17 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 16 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
18 #include "chrome/browser/signin/signin_manager.h" 17 #include "chrome/browser/signin/signin_manager.h"
19 #include "chrome/browser/signin/signin_manager_factory.h" 18 #include "chrome/browser/signin/signin_manager_factory.h"
20 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h" 19 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h"
21 20
22 #if defined(OS_ANDROID) 21 #if defined(OS_ANDROID)
(...skipping 11 matching lines...) Expand all
34 33
35 // static 34 // static
36 InvalidationServiceFactory* InvalidationServiceFactory::GetInstance() { 35 InvalidationServiceFactory* InvalidationServiceFactory::GetInstance() {
37 return Singleton<InvalidationServiceFactory>::get(); 36 return Singleton<InvalidationServiceFactory>::get();
38 } 37 }
39 38
40 InvalidationServiceFactory::InvalidationServiceFactory() 39 InvalidationServiceFactory::InvalidationServiceFactory()
41 : BrowserContextKeyedServiceFactory( 40 : BrowserContextKeyedServiceFactory(
42 "InvalidationService", 41 "InvalidationService",
43 BrowserContextDependencyManager::GetInstance()), 42 BrowserContextDependencyManager::GetInstance()),
44 build_fake_invalidators_(false) { 43 testing_factory_(NULL) {
45 #if !defined(OS_ANDROID) 44 #if !defined(OS_ANDROID)
46 DependsOn(SigninManagerFactory::GetInstance()); 45 DependsOn(SigninManagerFactory::GetInstance());
47 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); 46 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance());
48 DependsOn(gcm::GCMProfileServiceFactory::GetInstance()); 47 DependsOn(gcm::GCMProfileServiceFactory::GetInstance());
49 #endif 48 #endif
50 } 49 }
51 50
52 InvalidationServiceFactory::~InvalidationServiceFactory() {} 51 InvalidationServiceFactory::~InvalidationServiceFactory() {}
53 52
54 namespace { 53 void InvalidationServiceFactory::RegisterTestingFactory(
55 54 TestingFactoryFunction testing_factory) {
56 BrowserContextKeyedService* BuildP2PInvalidationService( 55 testing_factory_ = testing_factory;
57 content::BrowserContext* context) {
58 Profile* profile = static_cast<Profile*>(context);
59 return new P2PInvalidationService(profile);
60 }
61
62 BrowserContextKeyedService* BuildFakeInvalidationService(
63 content::BrowserContext* context) {
64 return new FakeInvalidationService();
65 }
66
67 } // namespace
68
69 void InvalidationServiceFactory::SetBuildOnlyFakeInvalidatorsForTest(
70 bool test_mode_enabled) {
71 build_fake_invalidators_ = test_mode_enabled;
72 }
73
74 P2PInvalidationService*
75 InvalidationServiceFactory::BuildAndUseP2PInvalidationServiceForTest(
76 content::BrowserContext* context) {
77 BrowserContextKeyedService* service =
78 SetTestingFactoryAndUse(context, BuildP2PInvalidationService);
79 return static_cast<P2PInvalidationService*>(service);
80 } 56 }
81 57
82 BrowserContextKeyedService* InvalidationServiceFactory::BuildServiceInstanceFor( 58 BrowserContextKeyedService* InvalidationServiceFactory::BuildServiceInstanceFor(
83 content::BrowserContext* context) const { 59 content::BrowserContext* context) const {
84 Profile* profile = static_cast<Profile*>(context); 60 Profile* profile = static_cast<Profile*>(context);
85 61
86 if (build_fake_invalidators_) { 62 if (testing_factory_)
87 return BuildFakeInvalidationService(context); 63 return testing_factory_(context);
88 }
89 64
90 #if defined(OS_ANDROID) 65 #if defined(OS_ANDROID)
91 InvalidationServiceAndroid* service = new InvalidationServiceAndroid( 66 InvalidationServiceAndroid* service = new InvalidationServiceAndroid(
92 profile, 67 profile,
93 new InvalidationControllerAndroid()); 68 new InvalidationControllerAndroid());
94 return service; 69 return service;
95 #else 70 #else
96 SigninManagerBase* signin_manager = 71 SigninManagerBase* signin_manager =
97 SigninManagerFactory::GetForProfile(profile); 72 SigninManagerFactory::GetForProfile(profile);
98 ProfileOAuth2TokenService* oauth2_token_service = 73 ProfileOAuth2TokenService* oauth2_token_service =
99 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); 74 ProfileOAuth2TokenServiceFactory::GetForProfile(profile);
100 75
101 TiclInvalidationService* service = new TiclInvalidationService( 76 TiclInvalidationService* service = new TiclInvalidationService(
102 signin_manager, 77 signin_manager,
103 oauth2_token_service, 78 oauth2_token_service,
104 profile); 79 profile);
105 service->Init(); 80 service->Init();
106 return service; 81 return service;
107 #endif 82 #endif
108 } 83 }
109 84
110 void InvalidationServiceFactory::RegisterProfilePrefs( 85 void InvalidationServiceFactory::RegisterProfilePrefs(
111 user_prefs::PrefRegistrySyncable* registry) { 86 user_prefs::PrefRegistrySyncable* registry) {
112 InvalidatorStorage::RegisterProfilePrefs(registry); 87 InvalidatorStorage::RegisterProfilePrefs(registry);
113 } 88 }
114 89
115 } // namespace invalidation 90 } // namespace invalidation
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698