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 a14ae00d55bc6f20cf433ab22ab119b7ee6385ae..b681a986d25b7155993ff363e9bf9664e52c34c6 100644 |
--- a/chrome/browser/services/gcm/gcm_profile_service.cc |
+++ b/chrome/browser/services/gcm/gcm_profile_service.cc |
@@ -9,12 +9,14 @@ |
#include "base/prefs/pref_service.h" |
#include "base/values.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/services/gcm/gcm_driver.h" |
#include "chrome/browser/signin/profile_identity_provider.h" |
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_version_info.h" |
#include "chrome/common/pref_names.h" |
+#include "components/gcm_driver/gcm_client_factory.h" |
#include "components/pref_registry/pref_registry_syncable.h" |
#include "components/signin/core/browser/signin_manager.h" |
#include "google_apis/gaia/identity_provider.h" |
@@ -74,42 +76,38 @@ void GCMProfileService::RegisterProfilePrefs( |
} |
GCMProfileService::GCMProfileService(Profile* profile) |
- : GCMDriver(scoped_ptr<IdentityProvider>(new ProfileIdentityProvider( |
- SigninManagerFactory::GetForProfile(profile), |
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
-#if defined(OS_ANDROID) |
- NULL))), |
-#else |
- LoginUIServiceFactory::GetForProfile(profile)))), |
-#endif |
- profile_(profile) { |
+ : profile_(profile) { |
DCHECK(!profile->IsOffTheRecord()); |
} |
GCMProfileService::~GCMProfileService() { |
} |
-void GCMProfileService::Shutdown() { |
- ShutdownService(); |
-} |
+void GCMProfileService::Initialize( |
+ scoped_ptr<GCMClientFactory> gcm_client_factory) { |
+ DCHECK(!driver_); |
-std::string GCMProfileService::SignedInUserName() const { |
- if (IsStarted()) |
- return identity_provider_->GetActiveUsername(); |
- return std::string(); |
-} |
- |
-bool GCMProfileService::ShouldStartAutomatically() const { |
- return GetGCMEnabledState(profile_) == ALWAYS_ENABLED; |
+ driver_.reset(new GCMDriver( |
Nicolas Zea
2014/05/19 21:04:06
I wonder if this entire section should be in a if
jianli
2014/05/19 23:03:48
Done.
jianli
2014/05/20 17:37:23
Indeed we still need to create GCMDriver instance
|
+ gcm_client_factory.Pass(), |
+ scoped_ptr<IdentityProvider>(new ProfileIdentityProvider( |
+ SigninManagerFactory::GetForProfile(profile_), |
+ ProfileOAuth2TokenServiceFactory::GetForProfile(profile_), |
+#if defined(OS_ANDROID) |
+ NULL)), |
+#else |
+ LoginUIServiceFactory::GetForProfile(profile_))), |
+#endif |
+ profile_->GetPath().Append(chrome::kGCMStoreDirname), |
+ profile_->GetRequestContext())); |
} |
-base::FilePath GCMProfileService::GetStorePath() const { |
- return profile_->GetPath().Append(chrome::kGCMStoreDirname); |
+void GCMProfileService::Shutdown() { |
+ if (driver_) |
+ driver_->Shutdown(); |
Nicolas Zea
2014/05/19 21:04:06
should we also driver_.reset() here?
jianli
2014/05/19 23:03:48
Done.
|
} |
-scoped_refptr<net::URLRequestContextGetter> |
-GCMProfileService::GetURLRequestContextGetter() const { |
- return profile_->GetRequestContext(); |
+void GCMProfileService::SetDriverForTesting(GCMDriver* driver) { |
+ driver_.reset(driver); |
} |
} // namespace gcm |