| Index: chrome/browser/ui/webui/sync_internals_message_handler.cc
|
| diff --git a/chrome/browser/ui/webui/sync_internals_message_handler.cc b/chrome/browser/ui/webui/sync_internals_message_handler.cc
|
| index e7869c2f321c2880f898df4ace2228d6826f9ed0..3d4ddefc3add8251704a1a28e1fe7d2521188a1c 100644
|
| --- a/chrome/browser/ui/webui/sync_internals_message_handler.cc
|
| +++ b/chrome/browser/ui/webui/sync_internals_message_handler.cc
|
| @@ -15,12 +15,9 @@
|
| #include "content/public/browser/web_ui.h"
|
| #include "sync/internal_api/public/events/protocol_event.h"
|
| #include "sync/internal_api/public/util/weak_handle.h"
|
| -#include "sync/js/js_arg_list.h"
|
| #include "sync/js/js_event_details.h"
|
|
|
| -using syncer::JsArgList;
|
| using syncer::JsEventDetails;
|
| -using syncer::JsReplyHandler;
|
| using syncer::ModelTypeSet;
|
| using syncer::WeakHandle;
|
|
|
| @@ -56,7 +53,10 @@ void SyncInternalsMessageHandler::RegisterMessages() {
|
| base::Bind(&SyncInternalsMessageHandler::HandleRequestListOfTypes,
|
| base::Unretained(this)));
|
|
|
| - RegisterJsControllerCallback("getAllNodes");
|
| + web_ui()->RegisterMessageCallback(
|
| + "getAllNodes",
|
| + base::Bind(&SyncInternalsMessageHandler::HandleGetAllNodes,
|
| + base::Unretained(this)));
|
| }
|
|
|
| void SyncInternalsMessageHandler::HandleRegisterForEvents(
|
| @@ -95,14 +95,30 @@ void SyncInternalsMessageHandler::HandleRequestListOfTypes(
|
| event_details);
|
| }
|
|
|
| -void SyncInternalsMessageHandler::HandleJsReply(
|
| - const std::string& name, const JsArgList& args) {
|
| - DVLOG(1) << "Handling reply for " << name << " message"
|
| - << " with args " << args.ToString();
|
| - const std::string& reply_handler = "chrome.sync." + name + ".handleReply";
|
| - std::vector<const base::Value*> arg_list(args.Get().begin(),
|
| - args.Get().end());
|
| - web_ui()->CallJavascriptFunction(reply_handler, arg_list);
|
| +void SyncInternalsMessageHandler::HandleGetAllNodes(
|
| + const base::ListValue* args) {
|
| + DCHECK_EQ(1U, args->GetSize());
|
| + int request_id = 0;
|
| + bool success = args->GetInteger(0, &request_id);
|
| + DCHECK(success);
|
| +
|
| + ProfileSyncService* service = GetProfileSyncService();
|
| + if (service) {
|
| + service->GetAllNodes(
|
| + base::Bind(&SyncInternalsMessageHandler::OnReceivedAllNodes,
|
| + weak_ptr_factory_.GetWeakPtr(), request_id));
|
| + }
|
| +}
|
| +
|
| +void SyncInternalsMessageHandler::OnReceivedAllNodes(
|
| + int request_id,
|
| + scoped_ptr<base::ListValue> nodes) {
|
| + base::ListValue response_args;
|
| + response_args.Append(new base::FundamentalValue(request_id));
|
| + response_args.Append(nodes.release());
|
| +
|
| + web_ui()->CallJavascriptFunction("chrome.sync.getAllNodesCallback",
|
| + response_args);
|
| }
|
|
|
| void SyncInternalsMessageHandler::OnStateChanged() {
|
| @@ -129,15 +145,6 @@ void SyncInternalsMessageHandler::HandleJsEvent(
|
| details.Get());
|
| }
|
|
|
| -void SyncInternalsMessageHandler::RegisterJsControllerCallback(
|
| - const std::string& name) {
|
| - web_ui()->RegisterMessageCallback(
|
| - name,
|
| - base::Bind(&SyncInternalsMessageHandler::ForwardToJsController,
|
| - base::Unretained(this),
|
| - name));
|
| -}
|
| -
|
| void SyncInternalsMessageHandler::SendAboutInfo() {
|
| scoped_ptr<base::DictionaryValue> value =
|
| sync_ui_util::ConstructAboutInformation(GetProfileSyncService());
|
| @@ -147,20 +154,6 @@ void SyncInternalsMessageHandler::SendAboutInfo() {
|
| *value);
|
| }
|
|
|
| -void SyncInternalsMessageHandler::ForwardToJsController(
|
| - const std::string& name,
|
| - const base::ListValue* args) {
|
| - if (js_controller_) {
|
| - scoped_ptr<base::ListValue> args_copy(args->DeepCopy());
|
| - JsArgList js_arg_list(args_copy.get());
|
| - js_controller_->ProcessJsMessage(
|
| - name, js_arg_list,
|
| - MakeWeakHandle(weak_ptr_factory_.GetWeakPtr()));
|
| - } else {
|
| - DLOG(WARNING) << "No sync service; dropping message " << name;
|
| - }
|
| -}
|
| -
|
| // Gets the ProfileSyncService of the underlying original profile.
|
| // May return NULL (e.g., if sync is disabled on the command line).
|
| ProfileSyncService* SyncInternalsMessageHandler::GetProfileSyncService() {
|
|
|