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

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

Issue 179843002: Make invalidations work for Chrome OS Kiosk Apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge error leading to uninitialized memory access. 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/invalidation/gcm_invalidation_bridge.cc
diff --git a/chrome/browser/invalidation/gcm_invalidation_bridge.cc b/chrome/browser/invalidation/gcm_invalidation_bridge.cc
index 1f63a283a3ec7986b566f54808500adf110a8103..75c1ff5b5f7ce7a54a40a774a770615bf6197927 100644
--- a/chrome/browser/invalidation/gcm_invalidation_bridge.cc
+++ b/chrome/browser/invalidation/gcm_invalidation_bridge.cc
@@ -7,8 +7,8 @@
#include "base/single_thread_task_runner.h"
#include "base/thread_task_runner_handle.h"
#include "chrome/browser/invalidation/gcm_invalidation_bridge.h"
+#include "chrome/browser/invalidation/invalidation_auth_provider.h"
#include "chrome/browser/services/gcm/gcm_profile_service.h"
-#include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager.h"
#include "chrome/browser/signin/signin_manager_factory.h"
@@ -147,20 +147,18 @@ void GCMInvalidationBridge::Core::OnIncomingMessage(
message_callback_.Run(message, echo_token);
}
-GCMInvalidationBridge::GCMInvalidationBridge(Profile* profile)
+GCMInvalidationBridge::GCMInvalidationBridge(
+ gcm::GCMProfileService* gcm_profile_service,
+ InvalidationAuthProvider* auth_provider)
: OAuth2TokenService::Consumer("gcm_network_channel"),
- profile_(profile),
+ gcm_profile_service_(gcm_profile_service),
+ auth_provider_(auth_provider),
subscribed_for_incoming_messages_(false),
weak_factory_(this) {}
GCMInvalidationBridge::~GCMInvalidationBridge() {
- if (subscribed_for_incoming_messages_) {
- gcm::GCMProfileService* gcm_profile_service =
- gcm::GCMProfileServiceFactory::GetForProfile(profile_);
- DCHECK(gcm_profile_service);
-
- gcm_profile_service->RemoveAppHandler(kInvalidationsAppId);
- }
+ if (subscribed_for_incoming_messages_)
+ gcm_profile_service_->RemoveAppHandler(kInvalidationsAppId);
}
scoped_ptr<syncer::GCMNetworkChannelDelegate>
@@ -194,15 +192,11 @@ void GCMInvalidationBridge::RequestToken(
error,
access_token));
}
- ProfileOAuth2TokenService* token_service =
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile_);
request_token_callback_ = callback;
- SigninManagerBase* signin_manager =
- SigninManagerFactory::GetForProfile(profile_);
- std::string account_id = signin_manager->GetAuthenticatedAccountId();
OAuth2TokenService::ScopeSet scopes;
scopes.insert(GaiaConstants::kChromeSyncOAuth2Scope);
- access_token_request_ = token_service->StartRequest(account_id, scopes, this);
+ access_token_request_ = auth_provider_->GetTokenService()->StartRequest(
+ auth_provider_->GetAccountId(), scopes, this);
}
void GCMInvalidationBridge::OnGetTokenSuccess(
@@ -239,29 +233,23 @@ void GCMInvalidationBridge::OnGetTokenFailure(
}
void GCMInvalidationBridge::InvalidateToken(const std::string& token) {
- ProfileOAuth2TokenService* token_service =
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile_);
DCHECK(CalledOnValidThread());
- SigninManagerBase* signin_manager =
- SigninManagerFactory::GetForProfile(profile_);
- std::string account_id = signin_manager->GetAuthenticatedAccountId();
OAuth2TokenService::ScopeSet scopes;
scopes.insert(GaiaConstants::kChromeSyncOAuth2Scope);
- token_service->InvalidateToken(account_id, scopes, token);
+ auth_provider_->GetTokenService()->InvalidateToken(
+ auth_provider_->GetAccountId(), scopes, token);
}
void GCMInvalidationBridge::Register(
syncer::GCMNetworkChannelDelegate::RegisterCallback callback) {
DCHECK(CalledOnValidThread());
// No-op if GCMClient is disabled.
- gcm::GCMProfileService* gcm_profile_service =
- gcm::GCMProfileServiceFactory::GetForProfile(profile_);
- if (gcm_profile_service == NULL)
+ if (gcm_profile_service_ == NULL)
return;
std::vector<std::string> sender_ids;
sender_ids.push_back(kInvalidationsSenderId);
- gcm_profile_service->Register(
+ gcm_profile_service_->Register(
kInvalidationsAppId,
sender_ids,
base::Bind(&GCMInvalidationBridge::RegisterFinished,
@@ -285,13 +273,11 @@ void GCMInvalidationBridge::RegisterFinished(
void GCMInvalidationBridge::SubscribeForIncomingMessages() {
// No-op if GCMClient is disabled.
- gcm::GCMProfileService* gcm_profile_service =
- gcm::GCMProfileServiceFactory::GetForProfile(profile_);
- if (gcm_profile_service == NULL)
+ if (gcm_profile_service_ == NULL)
return;
DCHECK(!subscribed_for_incoming_messages_);
- gcm_profile_service->AddAppHandler(kInvalidationsAppId, this);
+ gcm_profile_service_->AddAppHandler(kInvalidationsAppId, this);
subscribed_for_incoming_messages_ = true;
}
« no previous file with comments | « chrome/browser/invalidation/gcm_invalidation_bridge.h ('k') | chrome/browser/invalidation/gcm_invalidation_bridge_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698