| 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..fff3dfdb867c7cbf897089c4e1603a62cfb92a5c 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;
|
| @@ -68,8 +69,13 @@ void InvalidationsMessageHandler::OnStateChange(
|
| }
|
|
|
| void InvalidationsMessageHandler::OnUpdateIds(
|
| - const base::DictionaryValue& newIds) {}
|
| -
|
| + std::string handlerName,
|
| + const syncer::ObjectIdSet& idsSet) {
|
| + scoped_ptr<base::ListValue> listOfObjects = ObjectIdSetToList(idsSet);
|
| + web_ui()->CallJavascriptFunction("chrome.invalidations.updateIds",
|
| + base::StringValue(handlerName),
|
| + *listOfObjects);
|
| +}
|
| void InvalidationsMessageHandler::OnDebugMessage(
|
| const base::DictionaryValue& details) {}
|
|
|
| @@ -79,3 +85,17 @@ void InvalidationsMessageHandler::OnInvalidation(
|
| web_ui()->CallJavascriptFunction("chrome.invalidations.logInvalidations",
|
| *invalidationsList);
|
| }
|
| +
|
| +scoped_ptr<base::ListValue> InvalidationsMessageHandler::ObjectIdSetToList(
|
| + const syncer::ObjectIdSet& idsSet) {
|
| + scoped_ptr<base::ListValue> list(new base::ListValue());
|
| +
|
| + for (syncer::ObjectIdSet::iterator it = idsSet.begin(); it != idsSet.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();
|
| +}
|
|
|