| Index: chrome/browser/automation/automation_provider_observers.cc
|
| diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc
|
| index f6401143b41afaba7d176908380fac6276976d12..d3ed5f8900c51424f0d0ff34ad375030657365b7 100644
|
| --- a/chrome/browser/automation/automation_provider_observers.cc
|
| +++ b/chrome/browser/automation/automation_provider_observers.cc
|
| @@ -1402,10 +1402,12 @@ AutomationProviderBookmarkModelObserver::
|
| AutomationProviderBookmarkModelObserver(
|
| AutomationProvider* provider,
|
| IPC::Message* reply_message,
|
| - BookmarkModel* model)
|
| + BookmarkModel* model,
|
| + bool use_json_interface)
|
| : automation_provider_(provider->AsWeakPtr()),
|
| reply_message_(reply_message),
|
| - model_(model) {
|
| + model_(model),
|
| + use_json_interface_(use_json_interface) {
|
| model_->AddObserver(this);
|
| }
|
|
|
| @@ -1424,11 +1426,20 @@ void AutomationProviderBookmarkModelObserver::BookmarkModelBeingDeleted(
|
| ReplyAndDelete(false);
|
| }
|
|
|
| +IPC::Message* AutomationProviderBookmarkModelObserver::ReleaseReply() {
|
| + return reply_message_.release();
|
| +}
|
| +
|
| void AutomationProviderBookmarkModelObserver::ReplyAndDelete(bool success) {
|
| if (automation_provider_) {
|
| - AutomationMsg_WaitForBookmarkModelToLoad::WriteReplyParams(
|
| - reply_message_.get(), success);
|
| - automation_provider_->Send(reply_message_.release());
|
| + if (use_json_interface_) {
|
| + AutomationJSONReply(automation_provider_,
|
| + reply_message_.release()).SendSuccess(NULL);
|
| + } else {
|
| + AutomationMsg_WaitForBookmarkModelToLoad::WriteReplyParams(
|
| + reply_message_.get(), success);
|
| + automation_provider_->Send(reply_message_.release());
|
| + }
|
| }
|
| delete this;
|
| }
|
|
|