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

Unified Diff: chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc

Issue 330983002: Added option to bookmarkManagerPrivate.getMetaInfo() to get meta info from all bookmarks in a one f… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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/extensions/api/bookmarks/bookmark_api_helpers.cc
diff --git a/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc b/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
index ec6f436da3c09fb580abc5c9c1693dc93cf671a2..4d39f9969acb226c02e51119d146a25619e05a36 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
+++ b/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
@@ -134,5 +134,27 @@ bool RemoveNode(ChromeBookmarkClient* client,
return true;
}
+void GetMetaInfo(const BookmarkNode& node,
+ base::DictionaryValue* id_to_meta_info_map) {
+ if (!node.IsVisible())
+ return;
+
+ const BookmarkNode::MetaInfoMap* meta_info = node.GetMetaInfoMap();
+ base::DictionaryValue* value = new base::DictionaryValue();
+ if (meta_info) {
+ BookmarkNode::MetaInfoMap::const_iterator itr;
+ for (itr = meta_info->begin(); itr != meta_info->end(); ++itr) {
+ value->SetStringWithoutPathExpansion(itr->first, itr->second);
+ }
+ }
+ id_to_meta_info_map->Set(base::Int64ToString(node.id()), value);
+
+ if (node.is_folder()) {
+ for (int i = 0; i < node.child_count(); ++i) {
+ GetMetaInfo(*(node.GetChild(i)), id_to_meta_info_map);
+ }
+ }
+}
+
} // namespace bookmark_api_helpers
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698