| 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 4b90897c225bdbe7a0c968f8dbc0ab25815af527..aa757895cddd628a086dbd7afcfbc6ed0bf3727e 100644
|
| --- a/chrome/browser/services/gcm/gcm_profile_service.cc
|
| +++ b/chrome/browser/services/gcm/gcm_profile_service.cc
|
| @@ -16,6 +16,9 @@
|
| #include "components/gcm_driver/gcm_driver_android.h"
|
| #else
|
| #include "base/bind.h"
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/services/gcm/chromeos_gcm_app_handler.h"
|
| +#endif
|
| #include "base/files/file_path.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/services/gcm/gcm_account_tracker.h"
|
| @@ -35,6 +38,8 @@
|
|
|
| namespace gcm {
|
|
|
| +const char kGCMChromeOSAppHandlerId[] = "com.google.chrome.chromeos";
|
| +
|
| #if !defined(OS_ANDROID)
|
| // Identity observer only has actual work to do when the user is actually signed
|
| // in. It ensures that account tracker is taking
|
| @@ -165,6 +170,11 @@ GCMProfileService::GCMProfileService(
|
| profile_->GetPath().Append(chrome::kGCMStoreDirname),
|
| profile_->GetRequestContext());
|
|
|
| +#ifdef CHROMEOS
|
| + chromeos_app_handler_.reset(new gcm::ChromeOSGCMAppHandler);
|
| + driver_->AddAppHandler(kGCMChromeOSAppHandlerId, chromeos_app_handler_.get());
|
| +#endif
|
| +
|
| identity_observer_.reset(new IdentityObserver(
|
| profile, static_cast<gcm::GCMDriverDesktop*>(driver_.get())));
|
| }
|
| @@ -205,6 +215,9 @@ void GCMProfileService::Shutdown() {
|
| driver_->Shutdown();
|
| driver_.reset();
|
| }
|
| +#ifdef CHROMEOS
|
| + driver_->RemoveAppHandler(kGCMChromeOSAppHandlerId);
|
| +#endif
|
| }
|
|
|
| std::string GCMProfileService::SignedInUserName() const {
|
|
|