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

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

Issue 116533006: Control invalidations network channel from TiclInvalidationService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 7 years 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/ticl_invalidation_service.cc
diff --git a/chrome/browser/invalidation/ticl_invalidation_service.cc b/chrome/browser/invalidation/ticl_invalidation_service.cc
index f5b053f2a2e7ed967fb6dd1c4c98abee709a64ef..410439e17f0fa3aa347c5bb7207422a3ababbdc1 100644
--- a/chrome/browser/invalidation/ticl_invalidation_service.cc
+++ b/chrome/browser/invalidation/ticl_invalidation_service.cc
@@ -80,7 +80,7 @@ void TiclInvalidationService::Init() {
}
if (IsReadyToStart()) {
- StartInvalidator();
+ StartInvalidator(PUSH_CLIENT_CHANNEL);
}
notification_registrar_.Add(this,
@@ -189,7 +189,7 @@ void TiclInvalidationService::OnGetTokenSuccess(
request_access_token_backoff_.Reset();
access_token_ = access_token;
if (!IsStarted() && IsReadyToStart()) {
- StartInvalidator();
+ StartInvalidator(PUSH_CLIENT_CHANNEL);
} else {
UpdateInvalidatorCredentials();
}
@@ -247,7 +247,7 @@ void TiclInvalidationService::OnRefreshTokenAvailable(
const std::string& account_id) {
if (oauth2_token_service_->GetPrimaryAccountId() == account_id) {
if (!IsStarted() && IsReadyToStart()) {
- StartInvalidator();
+ StartInvalidator(PUSH_CLIENT_CHANNEL);
}
}
}
@@ -330,7 +330,8 @@ bool TiclInvalidationService::IsStarted() {
return invalidator_.get() != NULL;
}
-void TiclInvalidationService::StartInvalidator() {
+void TiclInvalidationService::StartInvalidator(
+ InvalidationNetworkChannel network_channel) {
DCHECK(CalledOnValidThread());
DCHECK(!invalidator_);
DCHECK(invalidator_storage_);
@@ -344,18 +345,38 @@ void TiclInvalidationService::StartInvalidator() {
return;
}
- notifier::NotifierOptions options =
- ParseNotifierOptions(*CommandLine::ForCurrentProcess());
- options.request_context_getter = profile_->GetRequestContext();
- options.auth_mechanism = "X-OAUTH2";
+ syncer::NetworkChannelCreator network_channel_creator;
+
+ switch (network_channel) {
+ case PUSH_CLIENT_CHANNEL: {
+ notifier::NotifierOptions options =
+ ParseNotifierOptions(*CommandLine::ForCurrentProcess());
+ options.request_context_getter = profile_->GetRequestContext();
+ options.auth_mechanism = "X-OAUTH2";
+ DCHECK_EQ(notifier::NOTIFICATION_SERVER, options.notification_method);
+ network_channel_creator =
+ syncer::NonBlockingInvalidator::MakePushClientChannelCreator(options);
+ break;
+ }
+ case GCM_NETWORK_CHANNEL: {
+ network_channel_creator =
+ syncer::NonBlockingInvalidator::MakeGCMNetworkChannelCreator();
+ break;
+ }
+ default: {
+ NOTREACHED();
+ return;
+ }
+ }
invalidator_.reset(new syncer::NonBlockingInvalidator(
- options,
+ network_channel_creator,
invalidator_storage_->GetInvalidatorClientId(),
invalidator_storage_->GetSavedInvalidations(),
invalidator_storage_->GetBootstrapData(),
syncer::WeakHandle<syncer::InvalidationStateTracker>(
invalidator_storage_->AsWeakPtr()),
- content::GetUserAgent(GURL())));
+ content::GetUserAgent(GURL()),
+ profile_->GetRequestContext()));
UpdateInvalidatorCredentials();

Powered by Google App Engine
This is Rietveld 408576698