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

Side by Side Diff: components/bookmarks/test/test_bookmark_client.cc

Issue 305973004: BookmarkClient can add extra nodes to BookmarkModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: renamed methods 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « components/bookmarks/test/test_bookmark_client.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/bookmarks/test/test_bookmark_client.h" 5 #include "components/bookmarks/test/test_bookmark_client.h"
6 6
7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
7 #include "base/logging.h" 9 #include "base/logging.h"
8 #include "components/bookmarks/browser/bookmark_model.h" 10 #include "components/bookmarks/browser/bookmark_model.h"
9 #include "components/bookmarks/browser/bookmark_node.h" 11 #include "components/bookmarks/browser/bookmark_node.h"
10 #include "components/bookmarks/browser/bookmark_storage.h" 12 #include "components/bookmarks/browser/bookmark_storage.h"
11 13
12 namespace test { 14 namespace test {
13 15
16 TestBookmarkClient::TestBookmarkClient() {}
17
18 TestBookmarkClient::~TestBookmarkClient() {}
19
14 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) { 20 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) {
15 scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this, index_urls)); 21 scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this, index_urls));
16 bookmark_model->DoneLoading(bookmark_model->CreateLoadDetails(std::string())); 22 bookmark_model->DoneLoading(bookmark_model->CreateLoadDetails(std::string()));
17 return bookmark_model.Pass(); 23 return bookmark_model.Pass();
18 } 24 }
19 25
20 bool TestBookmarkClient::IsPermanentNodeVisible(int node_type) { 26 void TestBookmarkClient::SetExtraNodesToLoad(
21 DCHECK(node_type == BookmarkNode::BOOKMARK_BAR || 27 bookmarks::BookmarkPermanentNodeList extra_nodes) {
22 node_type == BookmarkNode::OTHER_NODE || 28 extra_nodes_to_load_ = extra_nodes.Pass();
23 node_type == BookmarkNode::MOBILE); 29 // Keep a copy in |extra_nodes_| for the acessor.
24 return node_type != BookmarkNode::MOBILE; 30 extra_nodes_ = extra_nodes_to_load_.get();
31 }
32
33 bool TestBookmarkClient::IsExtraNodeRoot(const BookmarkNode* node) {
34 for (size_t i = 0; i < extra_nodes_.size(); ++i) {
35 if (node == extra_nodes_[i])
36 return true;
37 }
38 return false;
39 }
40
41 bool TestBookmarkClient::IsAnExtraNode(const BookmarkNode* node) {
42 if (!node)
43 return false;
44 for (size_t i = 0; i < extra_nodes_.size(); ++i) {
45 if (node->HasAncestor(extra_nodes_[i]))
46 return true;
47 }
48 return false;
49 }
50
51 bool TestBookmarkClient::IsPermanentNodeVisible(
52 const BookmarkPermanentNode* node) {
53 DCHECK(node->type() == BookmarkNode::BOOKMARK_BAR ||
54 node->type() == BookmarkNode::OTHER_NODE ||
55 node->type() == BookmarkNode::MOBILE ||
56 IsExtraNodeRoot(node));
57 return node->type() != BookmarkNode::MOBILE && !IsExtraNodeRoot(node);
25 } 58 }
26 59
27 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) { 60 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) {
28 } 61 }
29 62
63 bookmarks::LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback() {
64 return base::Bind(&TestBookmarkClient::LoadExtraNodes,
65 base::Passed(&extra_nodes_to_load_));
66 }
67
68 bool TestBookmarkClient::CanRemovePermanentNodeChildren(
69 const BookmarkNode* node) {
70 return !IsAnExtraNode(node);
71 }
72
73 bool TestBookmarkClient::CanSetPermanentNodeTitle(
74 const BookmarkNode* permanent_node) {
75 return IsExtraNodeRoot(permanent_node);
76 }
77
78 bool TestBookmarkClient::CanSyncNode(const BookmarkNode* node) {
79 return !IsAnExtraNode(node);
80 }
81
82 bool TestBookmarkClient::CanReorderChildren(const BookmarkNode* parent) {
83 return !IsAnExtraNode(parent);
84 }
85
86 // static
87 bookmarks::BookmarkPermanentNodeList TestBookmarkClient::LoadExtraNodes(
88 bookmarks::BookmarkPermanentNodeList extra_nodes,
89 int64* next_id) {
90 return extra_nodes.Pass();
91 }
92
30 } // namespace test 93 } // namespace test
OLDNEW
« no previous file with comments | « components/bookmarks/test/test_bookmark_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698