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

Unified Diff: chrome/browser/invalidation/invalidation_service_factory.cc

Issue 255443005: Remove Profile dependency from TiclInvalidationService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
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 0b62bad48c5e4cd053dcdd474294f55602807fea..4d289318496b03b08f15f5844346d1c5a4ff83f3 100644
--- a/chrome/browser/invalidation/invalidation_service_factory.cc
+++ b/chrome/browser/invalidation/invalidation_service_factory.cc
@@ -12,6 +12,8 @@
#include "chrome/browser/invalidation/invalidation_service_android.h"
#include "chrome/browser/invalidation/invalidator_storage.h"
#include "chrome/browser/invalidation/ticl_invalidation_service.h"
+#include "chrome/browser/invalidation/ticl_invalidation_service_profile_settings_provider.h"
+#include "chrome/browser/invalidation/ticl_invalidation_service_settings_provider.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/services/gcm/gcm_profile_service.h"
#include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
@@ -58,6 +60,12 @@ InvalidationService* InvalidationServiceFactory::GetForProfile(
return NULL;
}
#endif
+ if (profile->IsManaged()) {
dcheng 2014/04/24 18:26:54 Nit: Not sure why this is needed in this CL. Is th
bartfab (slow) 2014/04/24 19:14:48 This was previously handled by TiclInvalidationSer
+ // Managed profiles do not have GAIA credentials and do not support
+ // invalidation.
+ return NULL;
+ }
+
return static_cast<InvalidationService*>(
GetInstance()->GetServiceForBrowserContext(profile, true));
}
@@ -121,9 +129,10 @@ KeyedService* InvalidationServiceFactory::BuildServiceInstanceFor(
TiclInvalidationService* service = new TiclInvalidationService(
identity_provider.Pass(),
+ scoped_ptr<TiclInvalidationServiceSettingsProvider>(
+ new TiclInvalidationServiceProfileSettingsProvider(profile)),
gcm::GCMProfileServiceFactory::GetForProfile(profile),
- profile->GetRequestContext(),
- profile);
+ profile->GetRequestContext());
service->Init(scoped_ptr<syncer::InvalidationStateTracker>(
new InvalidatorStorage(profile->GetPrefs())));
return service;

Powered by Google App Engine
This is Rietveld 408576698