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

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

Issue 320473002: Added the "unmodifiable" property to chrome.bookmarks.BookmarkTreeNode. (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 49fc0433463f20ddd3c2b4c9a3fc42684e5d3f01..ec6f436da3c09fb580abc5c9c1693dc93cf671a2 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
+++ b/chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.cc
@@ -24,12 +24,14 @@ namespace bookmark_api_helpers {
namespace {
-void AddNodeHelper(const BookmarkNode* node,
+void AddNodeHelper(ChromeBookmarkClient* client,
+ const BookmarkNode* node,
std::vector<linked_ptr<BookmarkTreeNode> >* nodes,
bool recurse,
bool only_folders) {
if (node->IsVisible()) {
- linked_ptr<BookmarkTreeNode> new_node(GetBookmarkTreeNode(node,
+ linked_ptr<BookmarkTreeNode> new_node(GetBookmarkTreeNode(client,
+ node,
recurse,
only_folders));
nodes->push_back(new_node);
@@ -38,7 +40,8 @@ void AddNodeHelper(const BookmarkNode* node,
} // namespace
-BookmarkTreeNode* GetBookmarkTreeNode(const BookmarkNode* node,
+BookmarkTreeNode* GetBookmarkTreeNode(ChromeBookmarkClient* client,
+ const BookmarkNode* node,
bool recurse,
bool only_folders) {
BookmarkTreeNode* bookmark_tree_node = new BookmarkTreeNode;
@@ -70,13 +73,16 @@ BookmarkTreeNode* GetBookmarkTreeNode(const BookmarkNode* node,
new double(floor(node->date_added().ToDoubleT() * 1000)));
}
+ if (client->IsDescendantOfManagedNode(node))
+ bookmark_tree_node->unmodifiable = BookmarkTreeNode::UNMODIFIABLE_MANAGED;
+
if (recurse && node->is_folder()) {
std::vector<linked_ptr<BookmarkTreeNode> > children;
for (int i = 0; i < node->child_count(); ++i) {
const BookmarkNode* child = node->GetChild(i);
if (child->IsVisible() && (!only_folders || child->is_folder())) {
linked_ptr<BookmarkTreeNode> child_node(
- GetBookmarkTreeNode(child, true, only_folders));
+ GetBookmarkTreeNode(client, child, true, only_folders));
children.push_back(child_node);
}
}
@@ -86,16 +92,18 @@ BookmarkTreeNode* GetBookmarkTreeNode(const BookmarkNode* node,
return bookmark_tree_node;
}
-void AddNode(const BookmarkNode* node,
+void AddNode(ChromeBookmarkClient* client,
+ const BookmarkNode* node,
std::vector<linked_ptr<BookmarkTreeNode> >* nodes,
bool recurse) {
- return AddNodeHelper(node, nodes, recurse, false);
+ return AddNodeHelper(client, node, nodes, recurse, false);
}
-void AddNodeFoldersOnly(const BookmarkNode* node,
+void AddNodeFoldersOnly(ChromeBookmarkClient* client,
+ const BookmarkNode* node,
std::vector<linked_ptr<BookmarkTreeNode> >* nodes,
bool recurse) {
- return AddNodeHelper(node, nodes, recurse, true);
+ return AddNodeHelper(client, node, nodes, recurse, true);
}
bool RemoveNode(ChromeBookmarkClient* client,

Powered by Google App Engine
This is Rietveld 408576698