Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: chrome/browser/bookmarks/bookmark_extension_api.cc

Issue 10694085: Refactor extension event distribution to use Values instead of JSON strings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Build fix. Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 410267ed9ba57fa0c73b566c654fd5216c12cf80..d17f0a5d5644d57205ccc2c677cb071ab0739e7a 100644
--- a/chrome/browser/bookmarks/bookmark_extension_api.cc
+++ b/chrome/browser/bookmarks/bookmark_extension_api.cc
@@ -143,12 +143,12 @@ void BookmarkExtensionEventRouter::Init() {
model_->AddObserver(this);
}
-void BookmarkExtensionEventRouter::DispatchEvent(Profile *profile,
+void BookmarkExtensionEventRouter::DispatchEvent(Profile* profile,
const char* event_name,
- const std::string& json_args) {
+ ListValue* event_args) {
if (profile->GetExtensionEventRouter()) {
profile->GetExtensionEventRouter()->DispatchEventToRenderers(
- event_name, json_args, NULL, GURL());
+ event_name, event_args, NULL, GURL());
}
}
@@ -169,9 +169,9 @@ void BookmarkExtensionEventRouter::BookmarkNodeMoved(
int old_index,
const BookmarkNode* new_parent,
int new_index) {
- ListValue args;
+ 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()));
@@ -179,26 +179,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);
}
void BookmarkExtensionEventRouter::BookmarkNodeAdded(BookmarkModel* model,
const BookmarkNode* parent,
int index) {
- ListValue args;
+ 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())));
DictionaryValue* obj =
bookmark_extension_helpers::GetNodeDictionary(node, false, false);
- args.Append(obj);
+ args->Append(obj);
- std::string json_args;
- base::JSONWriter::Write(&args, &json_args);
- DispatchEvent(model->profile(), keys::kOnBookmarkCreated, json_args);
+ DispatchEvent(model->profile(), keys::kOnBookmarkCreated, args);
}
void BookmarkExtensionEventRouter::BookmarkNodeRemoved(
@@ -206,23 +202,21 @@ void BookmarkExtensionEventRouter::BookmarkNodeRemoved(
const BookmarkNode* parent,
int index,
const BookmarkNode* node) {
- ListValue args;
- args.Append(new StringValue(base::Int64ToString(node->id())));
+ 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);
}
void BookmarkExtensionEventRouter::BookmarkNodeChanged(
BookmarkModel* model, const BookmarkNode* node) {
- ListValue args;
- args.Append(new StringValue(base::Int64ToString(node->id())));
+ 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
@@ -233,11 +227,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);
}
void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged(
@@ -247,8 +239,8 @@ void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged(
void BookmarkExtensionEventRouter::BookmarkNodeChildrenReordered(
BookmarkModel* model, const BookmarkNode* node) {
- ListValue args;
- args.Append(new StringValue(base::Int64ToString(node->id())));
+ 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) {
@@ -258,33 +250,25 @@ 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);
}
void BookmarkExtensionEventRouter::
ExtensiveBookmarkChangesBeginning(BookmarkModel* model) {
- ListValue args;
- std::string json_args;
- base::JSONWriter::Write(&args, &json_args);
+ ListValue* args = new ListValue();
DispatchEvent(model->profile(),
keys::kOnBookmarkImportBegan,
- json_args);
+ args);
}
void BookmarkExtensionEventRouter::ExtensiveBookmarkChangesEnded(
BookmarkModel* model) {
- ListValue args;
- std::string json_args;
- base::JSONWriter::Write(&args, &json_args);
+ ListValue* args = new ListValue();
DispatchEvent(model->profile(),
keys::kOnBookmarkImportEnded,
- json_args);
+ args);
}
bool GetBookmarksFunction::RunImpl() {

Powered by Google App Engine
This is Rietveld 408576698