| 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..ad6b6b652d1ec8f562aa34d15083033d17306183 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"
|
| @@ -11,20 +13,81 @@
|
|
|
| namespace test {
|
|
|
| +TestBookmarkClient::TestBookmarkClient() {}
|
| +
|
| +TestBookmarkClient::~TestBookmarkClient() {}
|
| +
|
| scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) {
|
| scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this, index_urls));
|
| bookmark_model->DoneLoading(bookmark_model->CreateLoadDetails(std::string()));
|
| 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();
|
| + // Keep a copy in |extra_nodes_| for the acessor.
|
| + extra_nodes_ = extra_nodes_to_load_.get();
|
| +}
|
| +
|
| +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) {
|
| + if (!node)
|
| + return false;
|
| + for (size_t i = 0; i < extra_nodes_.size(); ++i) {
|
| + if (node->HasAncestor(extra_nodes_[i]))
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +bool TestBookmarkClient::IsPermanentNodeVisible(
|
| + const BookmarkPermanentNode* 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_));
|
| +}
|
| +
|
| +bool TestBookmarkClient::CanRemovePermanentNodeChildren(
|
| + const BookmarkNode* node) {
|
| + return !IsAnExtraNode(node);
|
| +}
|
| +
|
| +bool TestBookmarkClient::CanSetPermanentNodeTitle(
|
| + 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
|
|
|