| Index: chrome/browser/bookmarks/bookmark_extension_api.cc
|
| diff --git a/chrome/browser/bookmarks/bookmark_extension_api.cc b/chrome/browser/bookmarks/bookmark_extension_api.cc
|
| index 6ddd5a928e4839be06d3546cad4bd61c89b003f3..e9f7cc4adf79320510a913e86ef290092fa37bef 100644
|
| --- a/chrome/browser/bookmarks/bookmark_extension_api.cc
|
| +++ b/chrome/browser/bookmarks/bookmark_extension_api.cc
|
| @@ -148,12 +148,14 @@ void BookmarkExtensionEventRouter::Init() {
|
| model_->AddObserver(this);
|
| }
|
|
|
| -void BookmarkExtensionEventRouter::DispatchEvent(Profile *profile,
|
| - const char* event_name,
|
| - const std::string& json_args) {
|
| +void BookmarkExtensionEventRouter::DispatchEvent(
|
| + Profile* profile,
|
| + const char* event_name,
|
| + scoped_ptr<ListValue> event_args) {
|
| if (profile->GetExtensionEventRouter()) {
|
| profile->GetExtensionEventRouter()->DispatchEventToRenderers(
|
| - event_name, json_args, NULL, GURL(), extensions::EventFilteringInfo());
|
| + event_name, event_args.Pass(), NULL, GURL(),
|
| + extensions::EventFilteringInfo());
|
| }
|
| }
|
|
|
| @@ -174,9 +176,9 @@ void BookmarkExtensionEventRouter::BookmarkNodeMoved(
|
| int old_index,
|
| const BookmarkNode* new_parent,
|
| int new_index) {
|
| - ListValue args;
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| const BookmarkNode* node = new_parent->GetChild(new_index);
|
| - args.Append(new StringValue(base::Int64ToString(node->id())));
|
| + args->Append(new StringValue(base::Int64ToString(node->id())));
|
| DictionaryValue* object_args = new DictionaryValue();
|
| object_args->SetString(keys::kParentIdKey,
|
| base::Int64ToString(new_parent->id()));
|
| @@ -184,26 +186,22 @@ void BookmarkExtensionEventRouter::BookmarkNodeMoved(
|
| object_args->SetString(keys::kOldParentIdKey,
|
| base::Int64ToString(old_parent->id()));
|
| object_args->SetInteger(keys::kOldIndexKey, old_index);
|
| - args.Append(object_args);
|
| + args->Append(object_args);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| - DispatchEvent(model->profile(), keys::kOnBookmarkMoved, json_args);
|
| + DispatchEvent(model->profile(), keys::kOnBookmarkMoved, args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::BookmarkNodeAdded(BookmarkModel* model,
|
| const BookmarkNode* parent,
|
| int index) {
|
| - ListValue args;
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| const BookmarkNode* node = parent->GetChild(index);
|
| - args.Append(new StringValue(base::Int64ToString(node->id())));
|
| + args->Append(new StringValue(base::Int64ToString(node->id())));
|
| scoped_ptr<BookmarkTreeNode> tree_node(
|
| bookmark_extension_helpers::GetBookmarkTreeNode(node, false, false));
|
| - args.Append(tree_node->ToValue().release());
|
| + args->Append(tree_node->ToValue().release());
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| - DispatchEvent(model->profile(), keys::kOnBookmarkCreated, json_args);
|
| + DispatchEvent(model->profile(), keys::kOnBookmarkCreated, args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::BookmarkNodeRemoved(
|
| @@ -211,23 +209,21 @@ void BookmarkExtensionEventRouter::BookmarkNodeRemoved(
|
| const BookmarkNode* parent,
|
| int index,
|
| const BookmarkNode* node) {
|
| - ListValue args;
|
| - args.Append(new StringValue(base::Int64ToString(node->id())));
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| + args->Append(new StringValue(base::Int64ToString(node->id())));
|
| DictionaryValue* object_args = new DictionaryValue();
|
| object_args->SetString(keys::kParentIdKey,
|
| base::Int64ToString(parent->id()));
|
| object_args->SetInteger(keys::kIndexKey, index);
|
| - args.Append(object_args);
|
| + args->Append(object_args);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| - DispatchEvent(model->profile(), keys::kOnBookmarkRemoved, json_args);
|
| + DispatchEvent(model->profile(), keys::kOnBookmarkRemoved, args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::BookmarkNodeChanged(
|
| BookmarkModel* model, const BookmarkNode* node) {
|
| - ListValue args;
|
| - args.Append(new StringValue(base::Int64ToString(node->id())));
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| + args->Append(new StringValue(base::Int64ToString(node->id())));
|
|
|
| // TODO(erikkay) The only three things that BookmarkModel sends this
|
| // notification for are title, url and favicon. Since we're currently
|
| @@ -238,11 +234,9 @@ void BookmarkExtensionEventRouter::BookmarkNodeChanged(
|
| object_args->SetString(keys::kTitleKey, node->GetTitle());
|
| if (node->is_url())
|
| object_args->SetString(keys::kUrlKey, node->url().spec());
|
| - args.Append(object_args);
|
| + args->Append(object_args);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| - DispatchEvent(model->profile(), keys::kOnBookmarkChanged, json_args);
|
| + DispatchEvent(model->profile(), keys::kOnBookmarkChanged, args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged(
|
| @@ -252,8 +246,8 @@ void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged(
|
|
|
| void BookmarkExtensionEventRouter::BookmarkNodeChildrenReordered(
|
| BookmarkModel* model, const BookmarkNode* node) {
|
| - ListValue args;
|
| - args.Append(new StringValue(base::Int64ToString(node->id())));
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| + args->Append(new StringValue(base::Int64ToString(node->id())));
|
| int childCount = node->child_count();
|
| ListValue* children = new ListValue();
|
| for (int i = 0; i < childCount; ++i) {
|
| @@ -263,33 +257,26 @@ void BookmarkExtensionEventRouter::BookmarkNodeChildrenReordered(
|
| }
|
| DictionaryValue* reorder_info = new DictionaryValue();
|
| reorder_info->Set(keys::kChildIdsKey, children);
|
| - args.Append(reorder_info);
|
| + args->Append(reorder_info);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| - DispatchEvent(model->profile(),
|
| - keys::kOnBookmarkChildrenReordered,
|
| - json_args);
|
| + DispatchEvent(model->profile(), keys::kOnBookmarkChildrenReordered,
|
| + args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::
|
| ExtensiveBookmarkChangesBeginning(BookmarkModel* model) {
|
| - ListValue args;
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| DispatchEvent(model->profile(),
|
| keys::kOnBookmarkImportBegan,
|
| - json_args);
|
| + args.Pass());
|
| }
|
|
|
| void BookmarkExtensionEventRouter::ExtensiveBookmarkChangesEnded(
|
| BookmarkModel* model) {
|
| - ListValue args;
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| + scoped_ptr<ListValue> args(new ListValue());
|
| DispatchEvent(model->profile(),
|
| keys::kOnBookmarkImportEnded,
|
| - json_args);
|
| + args.Pass());
|
| }
|
|
|
| bool GetBookmarksFunction::RunImpl() {
|
|
|