| Index: chrome/browser/services/gcm/gcm_profile_service.cc
|
| diff --git a/chrome/browser/services/gcm/gcm_profile_service.cc b/chrome/browser/services/gcm/gcm_profile_service.cc
|
| index 0de6385d77b6fe0d6f1fa820c404316e224569b5..0349d5493a7ccaec7653285a29566143204ee532 100644
|
| --- a/chrome/browser/services/gcm/gcm_profile_service.cc
|
| +++ b/chrome/browser/services/gcm/gcm_profile_service.cc
|
| @@ -4,7 +4,7 @@
|
|
|
| #include "chrome/browser/services/gcm/gcm_profile_service.h"
|
|
|
| -#include <map>
|
| +#include <vector>
|
|
|
| #include "base/logging.h"
|
| #include "base/prefs/pref_service.h"
|
| @@ -43,7 +43,7 @@ namespace gcm {
|
| // in. It ensures that account tracker is taking
|
| class GCMProfileService::IdentityObserver : public IdentityProvider::Observer {
|
| public:
|
| - IdentityObserver(Profile* profile, GCMDriverDesktop* driver);
|
| + IdentityObserver(Profile* profile, GCMDriver* driver);
|
| virtual ~IdentityObserver();
|
|
|
| // IdentityProvider::Observer:
|
| @@ -53,13 +53,14 @@ class GCMProfileService::IdentityObserver : public IdentityProvider::Observer {
|
| std::string SignedInUserName() const;
|
|
|
| // Called to inform IdentityObserver that a list of accounts was updated.
|
| - // |account_tokens| maps email addresses to OAuth2 access tokens.
|
| + // |account_tokens| is a list of email addresses, account IDs and OAuth2
|
| + // access tokens.
|
| void AccountsUpdated(
|
| - const std::map<std::string, std::string>& account_tokens);
|
| + const std::vector<GCMClient::AccountTokenInfo>& account_tokens);
|
|
|
| private:
|
| Profile* profile_;
|
| - GCMDriverDesktop* driver_;
|
| + GCMDriver* driver_;
|
| scoped_ptr<IdentityProvider> identity_provider_;
|
| scoped_ptr<GCMAccountTracker> gcm_account_tracker_;
|
|
|
| @@ -73,7 +74,7 @@ class GCMProfileService::IdentityObserver : public IdentityProvider::Observer {
|
| };
|
|
|
| GCMProfileService::IdentityObserver::IdentityObserver(Profile* profile,
|
| - GCMDriverDesktop* driver)
|
| + GCMDriver* driver)
|
| : profile_(profile), driver_(driver), weak_ptr_factory_(this) {
|
| identity_provider_.reset(new ProfileIdentityProvider(
|
| SigninManagerFactory::GetForProfile(profile),
|
| @@ -131,8 +132,8 @@ std::string GCMProfileService::IdentityObserver::SignedInUserName() const {
|
| }
|
|
|
| void GCMProfileService::IdentityObserver::AccountsUpdated(
|
| - const std::map<std::string, std::string>& account_tokens) {
|
| - driver_->SetAccountsForCheckin(account_tokens);
|
| + const std::vector<GCMClient::AccountTokenInfo>& account_tokens) {
|
| + driver_->SetAccountTokens(account_tokens);
|
| }
|
| #endif // !defined(OS_ANDROID)
|
|
|
| @@ -178,8 +179,7 @@ GCMProfileService::GCMProfileService(
|
| driver_->AddConnectionObserver(chromeos_connection_observer_.get());
|
| #endif
|
|
|
| - identity_observer_.reset(new IdentityObserver(
|
| - profile, static_cast<gcm::GCMDriverDesktop*>(driver_.get())));
|
| + identity_observer_.reset(new IdentityObserver(profile, driver_.get()));
|
| }
|
| #endif // defined(OS_ANDROID)
|
|
|
|
|