Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1601)

Unified Diff: chrome/browser/ui/webui/invalidations_message_handler.cc

Issue 159773006: [invalidations] Added table with registered objectsIds (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@about_invalidations_clean
Patch Set: Change constness of iterators for android clang Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/invalidations_message_handler.cc
diff --git a/chrome/browser/ui/webui/invalidations_message_handler.cc b/chrome/browser/ui/webui/invalidations_message_handler.cc
index 6a55ec56893dd1a5aa1edc5c9702df7a6ad788ad..3ddde3c8cfc6a5823cdf288bb354ab5df5a3d19b 100644
--- a/chrome/browser/ui/webui/invalidations_message_handler.cc
+++ b/chrome/browser/ui/webui/invalidations_message_handler.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/invalidation/invalidation_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/web_ui.h"
+#include "sync/notifier/invalidation_handler.h"
namespace invalidation {
class InvalidationLogger;
@@ -20,11 +21,11 @@ class ObjectIdInvalidationMap;
} // namespace syncer
InvalidationsMessageHandler::InvalidationsMessageHandler()
- : logger_(NULL), isRegistered(false) {}
+ : logger_(NULL) {}
InvalidationsMessageHandler::~InvalidationsMessageHandler() {
if (logger_)
- logger_->UnregisterForDebug(this);
+ logger_->UnregisterObserver(this);
}
void InvalidationsMessageHandler::RegisterMessages() {
@@ -36,14 +37,14 @@ void InvalidationsMessageHandler::RegisterMessages() {
void InvalidationsMessageHandler::UIReady(const base::ListValue* args) {
Profile* profile = Profile::FromWebUI(web_ui());
- if (!isRegistered && profile) {
+ if (profile) {
invalidation::InvalidationService* invalidation_service =
invalidation::InvalidationServiceFactory::GetForProfile(profile);
if (invalidation_service)
logger_ = invalidation_service->GetInvalidationLogger();
if (logger_) {
- logger_->RegisterForDebug(this);
- isRegistered = true;
+ if (!logger_->IsObserverRegistered(this))
+ logger_->RegisterObserver(this);
}
}
UpdateContent(args);
@@ -55,27 +56,46 @@ void InvalidationsMessageHandler::UpdateContent(const base::ListValue* args) {
}
void InvalidationsMessageHandler::OnUnregistration(
- const base::DictionaryValue& newRegistrationState) {}
+ const base::DictionaryValue& details) {}
void InvalidationsMessageHandler::OnRegistration(
- const base::DictionaryValue& newRegistrationState) {}
+ const base::DictionaryValue& details) {}
void InvalidationsMessageHandler::OnStateChange(
- const syncer::InvalidatorState& newState) {
- std::string state(syncer::InvalidatorStateToString(newState));
+ const syncer::InvalidatorState& new_state) {
+ std::string state(syncer::InvalidatorStateToString(new_state));
web_ui()->CallJavascriptFunction("chrome.invalidations.updateState",
base::StringValue(state));
}
void InvalidationsMessageHandler::OnUpdateIds(
- const base::DictionaryValue& newIds) {}
-
+ const std::string& handler_name,
+ const syncer::ObjectIdSet& ids_set) {
+ scoped_ptr<base::ListValue> list_of_objects = ObjectIdSetToList(ids_set);
+ web_ui()->CallJavascriptFunction("chrome.invalidations.updateIds",
+ base::StringValue(handler_name),
+ *list_of_objects);
+}
void InvalidationsMessageHandler::OnDebugMessage(
const base::DictionaryValue& details) {}
void InvalidationsMessageHandler::OnInvalidation(
- const syncer::ObjectIdInvalidationMap& newInvalidations) {
- scoped_ptr<base::ListValue> invalidationsList = newInvalidations.ToValue();
+ const syncer::ObjectIdInvalidationMap& new_invalidations) {
+ scoped_ptr<base::ListValue> invalidations_list = new_invalidations.ToValue();
web_ui()->CallJavascriptFunction("chrome.invalidations.logInvalidations",
- *invalidationsList);
+ *invalidations_list);
+}
+
+scoped_ptr<base::ListValue> InvalidationsMessageHandler::ObjectIdSetToList(
+ const syncer::ObjectIdSet& ids_set) {
+ scoped_ptr<base::ListValue> list(new base::ListValue());
+
+ for (syncer::ObjectIdSet::const_iterator it = ids_set.begin();
+ it != ids_set.end(); ++it) {
+ scoped_ptr<base::DictionaryValue> dic(new base::DictionaryValue);
+ dic->SetString("name", it->name());
+ dic->SetInteger("source", it->source());
+ list->Append(dic.release());
+ }
+ return list.Pass();
}
« no previous file with comments | « chrome/browser/ui/webui/invalidations_message_handler.h ('k') | chrome/test/data/webui/about_invalidations_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698