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 19d9d4e4653656b87181cedc4e36ea81d47f5afa..07ac4cfb3fa106d984fdac4863121747fad52155 100644 |
--- a/chrome/browser/automation/automation_provider_observers.cc |
+++ b/chrome/browser/automation/automation_provider_observers.cc |
@@ -1403,10 +1403,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); |
} |
@@ -1425,11 +1427,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; |
} |