Index: components/bookmarks/test/test_bookmark_client.cc |
diff --git a/components/bookmarks/test/test_bookmark_client.cc b/components/bookmarks/test/test_bookmark_client.cc |
index 6151032d9661bc01101eddbb60cf7a5d40791f24..4d853f2a91aabca77c4e5c1a34e001de72ab569f 100644 |
--- a/components/bookmarks/test/test_bookmark_client.cc |
+++ b/components/bookmarks/test/test_bookmark_client.cc |
@@ -4,6 +4,8 @@ |
#include "components/bookmarks/test/test_bookmark_client.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "components/bookmarks/browser/bookmark_model.h" |
#include "components/bookmarks/browser/bookmark_node.h" |
@@ -17,14 +19,67 @@ scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) { |
return bookmark_model.Pass(); |
} |
-bool TestBookmarkClient::IsPermanentNodeVisible(int node_type) { |
- DCHECK(node_type == BookmarkNode::BOOKMARK_BAR || |
- node_type == BookmarkNode::OTHER_NODE || |
- node_type == BookmarkNode::MOBILE); |
- return node_type != BookmarkNode::MOBILE; |
+void TestBookmarkClient::SetExtraNodesToLoad( |
+ bookmarks::BookmarkPermanentNodeList extra_nodes) { |
+ extra_nodes_to_load_ = extra_nodes.Pass(); |
+} |
+ |
+bool TestBookmarkClient::IsExtraNodeRoot(const BookmarkNode* node) { |
+ for (size_t i = 0; i < extra_nodes_.size(); ++i) { |
+ if (node == extra_nodes_[i]) |
+ return true; |
+ } |
+ return false; |
+} |
+ |
+bool TestBookmarkClient::IsAnExtraNode(const BookmarkNode* node) { |
+ while (node && !IsExtraNodeRoot(node)) |
+ node = node->parent(); |
+ return IsExtraNodeRoot(node); |
+} |
+ |
+bool TestBookmarkClient::IsPermanentNodeVisible(const BookmarkNode* node) { |
+ DCHECK(node->type() == BookmarkNode::BOOKMARK_BAR || |
+ node->type() == BookmarkNode::OTHER_NODE || |
+ node->type() == BookmarkNode::MOBILE || |
+ IsExtraNodeRoot(node)); |
+ return node->type() != BookmarkNode::MOBILE && !IsExtraNodeRoot(node); |
} |
void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) { |
} |
+bookmarks::LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback() { |
+ return base::Bind(&TestBookmarkClient::LoadExtraNodes, |
+ base::Passed(&extra_nodes_to_load_)); |
+} |
+ |
+void TestBookmarkClient::ExtraNodesLoaded( |
+ const std::vector<BookmarkPermanentNode*>& extra_nodes) { |
+ extra_nodes_ = extra_nodes; |
+} |
+ |
+bool TestBookmarkClient::CanRemoveNode(const BookmarkNode* node) { |
+ return !IsAnExtraNode(node); |
+} |
+ |
+bool TestBookmarkClient::CanSetTitle(const BookmarkNode* permanent_node) { |
+ return IsExtraNodeRoot(permanent_node); |
+} |
+ |
+bool TestBookmarkClient::CanSyncNode(const BookmarkNode* node) { |
+ return !IsAnExtraNode(node); |
+} |
+ |
+bool TestBookmarkClient::CanReorderChildren(const BookmarkNode* parent) { |
+ return !IsAnExtraNode(parent); |
+} |
+ |
+// static |
+bookmarks::BookmarkPermanentNodeList TestBookmarkClient::LoadExtraNodes( |
+ bookmarks::BookmarkPermanentNodeList extra_nodes, |
+ int64* next_id) { |
+ return extra_nodes.Pass(); |
+} |
+ |
} // namespace test |