Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index 627a732ba9bdc101375f08eaaba1042019408481..58e87f3d8f0799275a39f41516df152af12bcda7 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -30,6 +30,7 @@ |
#include "chrome/browser/net/chrome_cookie_notification_details.h" |
#include "chrome/browser/prefs/pref_service_syncable.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/services/gcm/gcm_driver.h" |
#include "chrome/browser/services/gcm/gcm_profile_service.h" |
#include "chrome/browser/services/gcm/gcm_profile_service_factory.h" |
#include "chrome/browser/signin/about_signin_internals_factory.h" |
@@ -1023,11 +1024,11 @@ void ProfileSyncService::OnExperimentsChanged( |
syncer::Experiments::ENABLED); |
gcm::GCMProfileService* gcm_profile_service = |
gcm::GCMProfileServiceFactory::GetForProfile(profile()); |
- if (gcm_profile_service) { |
+ if (gcm_profile_service && gcm_profile_service->driver()) { |
if (experiments.gcm_channel_state == syncer::Experiments::SUPPRESSED) |
- gcm_profile_service->Stop(); |
+ gcm_profile_service->driver()->Disable(); |
else |
- gcm_profile_service->Start(); |
+ gcm_profile_service->driver()->Enable(); |
} |
} else { |
profile()->GetPrefs()->ClearPref(prefs::kGCMChannelEnabled); |