| Index: chrome/browser/drive/drive_notification_manager.cc
|
| diff --git a/chrome/browser/drive/drive_notification_manager.cc b/chrome/browser/drive/drive_notification_manager.cc
|
| index 1a4c82eb5962750028dd21cd8394b18c4a78c94a..ae94124e7bcc6545caa00099a9bbb232b7fd72ff 100644
|
| --- a/chrome/browser/drive/drive_notification_manager.cc
|
| +++ b/chrome/browser/drive/drive_notification_manager.cc
|
| @@ -6,9 +6,9 @@
|
|
|
| #include "base/metrics/histogram.h"
|
| #include "chrome/browser/drive/drive_notification_observer.h"
|
| +#include "chrome/browser/invalidation/invalidation_service.h"
|
| +#include "chrome/browser/invalidation/invalidation_service_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/sync/profile_sync_service.h"
|
| -#include "chrome/browser/sync/profile_sync_service_factory.h"
|
| #include "google/cacheinvalidation/types.pb.h"
|
|
|
| namespace drive {
|
| @@ -42,15 +42,16 @@ DriveNotificationManager::~DriveNotificationManager() {}
|
|
|
| void DriveNotificationManager::Shutdown() {
|
| // Unregister for Drive notifications.
|
| - ProfileSyncService* profile_sync_service =
|
| - ProfileSyncServiceFactory::GetForProfile(profile_);
|
| - if (!profile_sync_service || !push_notification_registered_) {
|
| + invalidation::InvalidationService* invalidation_service =
|
| + invalidation::InvalidationServiceFactory::GetForProfile(profile_);
|
| + if (!invalidation_service || !push_notification_registered_) {
|
| return;
|
| }
|
|
|
| - profile_sync_service->UpdateRegisteredInvalidationIds(
|
| - this, syncer::ObjectIdSet());
|
| - profile_sync_service->UnregisterInvalidationHandler(this);
|
| + // We unregister the handler without updating unregistering our IDs on
|
| + // purpose. See the class comment on the InvalidationService interface for
|
| + // more information.
|
| + invalidation_service->UnregisterInvalidationHandler(this);
|
| }
|
|
|
| void DriveNotificationManager::OnInvalidatorStateChange(
|
| @@ -76,9 +77,10 @@ void DriveNotificationManager::OnIncomingInvalidation(
|
|
|
| // TODO(dcheng): Only acknowledge the invalidation once the fetch has
|
| // completed. http://crbug.com/156843
|
| - ProfileSyncService* profile_sync_service =
|
| - ProfileSyncServiceFactory::GetForProfile(profile_);
|
| - profile_sync_service->AcknowledgeInvalidation(
|
| + invalidation::InvalidationService* invalidation_service =
|
| + invalidation::InvalidationServiceFactory::GetForProfile(profile_);
|
| + DCHECK(invalidation_service);
|
| + invalidation_service->AcknowledgeInvalidation(
|
| invalidation_map.begin()->first,
|
| invalidation_map.begin()->second.ack_handle);
|
|
|
| @@ -128,19 +130,19 @@ void DriveNotificationManager::NotifyObserversToUpdate(
|
| void DriveNotificationManager::RegisterDriveNotifications() {
|
| DCHECK(!push_notification_enabled_);
|
|
|
| - ProfileSyncService* profile_sync_service =
|
| - ProfileSyncServiceFactory::GetForProfile(profile_);
|
| - if (!profile_sync_service)
|
| + invalidation::InvalidationService* invalidation_service =
|
| + invalidation::InvalidationServiceFactory::GetForProfile(profile_);
|
| + if (!invalidation_service)
|
| return;
|
|
|
| - profile_sync_service->RegisterInvalidationHandler(this);
|
| + invalidation_service->RegisterInvalidationHandler(this);
|
| syncer::ObjectIdSet ids;
|
| ids.insert(invalidation::ObjectId(
|
| ipc::invalidation::ObjectSource::COSMO_CHANGELOG,
|
| kDriveInvalidationObjectId));
|
| - profile_sync_service->UpdateRegisteredInvalidationIds(this, ids);
|
| + invalidation_service->UpdateRegisteredInvalidationIds(this, ids);
|
| push_notification_registered_ = true;
|
| - OnInvalidatorStateChange(profile_sync_service->GetInvalidatorState());
|
| + OnInvalidatorStateChange(invalidation_service->GetInvalidatorState());
|
|
|
| UMA_HISTOGRAM_BOOLEAN("Drive.PushNotificationRegistered",
|
| push_notification_registered_);
|
|
|