Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / invalidation / invalidation_service_android.cc
index ad30aaa..5c62ecf 100644 (file)
@@ -4,10 +4,11 @@
 
 #include "chrome/browser/invalidation/invalidation_service_android.h"
 
+#include "base/callback.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/invalidation/invalidation_controller_android.h"
+#include "components/invalidation/object_id_invalidation_map.h"
 #include "content/public/browser/notification_service.h"
-#include "sync/notifier/object_id_invalidation_map.h"
 
 namespace invalidation {
 
@@ -15,7 +16,8 @@ InvalidationServiceAndroid::InvalidationServiceAndroid(
     Profile* profile,
     InvalidationControllerAndroid* invalidation_controller)
     : invalidator_state_(syncer::INVALIDATIONS_ENABLED),
-      invalidation_controller_(invalidation_controller) {
+      invalidation_controller_(invalidation_controller),
+      logger_() {
   DCHECK(CalledOnValidThread());
   DCHECK(invalidation_controller);
   registrar_.Add(this, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE,
@@ -28,6 +30,7 @@ void InvalidationServiceAndroid::RegisterInvalidationHandler(
     syncer::InvalidationHandler* handler) {
   DCHECK(CalledOnValidThread());
   invalidator_registrar_.RegisterHandler(handler);
+  logger_.OnRegistration(handler->GetOwnerName());
 }
 
 void InvalidationServiceAndroid::UpdateRegisteredInvalidationIds(
@@ -37,12 +40,14 @@ void InvalidationServiceAndroid::UpdateRegisteredInvalidationIds(
   invalidator_registrar_.UpdateRegisteredIds(handler, ids);
   invalidation_controller_->SetRegisteredObjectIds(
       invalidator_registrar_.GetAllRegisteredIds());
+  logger_.OnUpdateIds(invalidator_registrar_.GetSanitizedHandlersIdsMap());
 }
 
 void InvalidationServiceAndroid::UnregisterInvalidationHandler(
     syncer::InvalidationHandler* handler) {
   DCHECK(CalledOnValidThread());
   invalidator_registrar_.UnregisterHandler(handler);
+  logger_.OnUnregistration(handler->GetOwnerName());
 }
 
 syncer::InvalidatorState
@@ -56,6 +61,18 @@ std::string InvalidationServiceAndroid::GetInvalidatorClientId() const {
   return invalidation_controller_->GetInvalidatorClientId();
 }
 
+InvalidationLogger* InvalidationServiceAndroid::GetInvalidationLogger() {
+  return &logger_;
+}
+
+void InvalidationServiceAndroid::RequestDetailedStatus(
+    base::Callback<void(const base::DictionaryValue&)> return_callback) const {
+}
+
+IdentityProvider* InvalidationServiceAndroid::GetIdentityProvider() {
+  return NULL;
+}
+
 void InvalidationServiceAndroid::Observe(
     int type,
     const content::NotificationSource& source,
@@ -77,6 +94,7 @@ void InvalidationServiceAndroid::Observe(
 
   invalidator_registrar_.DispatchInvalidationsToHandlers(
       effective_invalidation_map);
+  logger_.OnInvalidation(effective_invalidation_map);
 }
 
 void InvalidationServiceAndroid::TriggerStateChangeForTest(