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

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: Added support for extra nodes from the client 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
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
14 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) { 16 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel(bool index_urls) {
15 scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this, index_urls)); 17 scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this, index_urls));
16 bookmark_model->DoneLoading(bookmark_model->CreateLoadDetails(std::string())); 18 bookmark_model->DoneLoading(bookmark_model->CreateLoadDetails(std::string()));
17 return bookmark_model.Pass(); 19 return bookmark_model.Pass();
18 } 20 }
19 21
20 bool TestBookmarkClient::IsPermanentNodeVisible(int node_type) { 22 void TestBookmarkClient::SetExtraNodesToLoad(
21 DCHECK(node_type == BookmarkNode::BOOKMARK_BAR || 23 bookmarks::BookmarkPermanentNodeList extra_nodes) {
22 node_type == BookmarkNode::OTHER_NODE || 24 extra_nodes_to_load_ = extra_nodes.Pass();
23 node_type == BookmarkNode::MOBILE); 25 }
24 return node_type != BookmarkNode::MOBILE; 26
27 bool TestBookmarkClient::IsExtraNodeRoot(const BookmarkNode* node) {
28 for (size_t i = 0; i < extra_nodes_.size(); ++i) {
29 if (node == extra_nodes_[i])
30 return true;
31 }
32 return false;
33 }
34
35 bool TestBookmarkClient::IsAnExtraNode(const BookmarkNode* node) {
36 while (node && !IsExtraNodeRoot(node))
37 node = node->parent();
38 return IsExtraNodeRoot(node);
39 }
40
41 bool TestBookmarkClient::IsPermanentNodeVisible(const BookmarkNode* node) {
42 DCHECK(node->type() == BookmarkNode::BOOKMARK_BAR ||
43 node->type() == BookmarkNode::OTHER_NODE ||
44 node->type() == BookmarkNode::MOBILE ||
45 IsExtraNodeRoot(node));
46 return node->type() != BookmarkNode::MOBILE && !IsExtraNodeRoot(node);
25 } 47 }
26 48
27 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) { 49 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) {
28 } 50 }
29 51
52 bookmarks::LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback() {
53 return base::Bind(&TestBookmarkClient::LoadExtraNodes,
54 base::Passed(&extra_nodes_to_load_));
55 }
56
57 void TestBookmarkClient::ExtraNodesLoaded(
58 const std::vector<BookmarkPermanentNode*>& extra_nodes) {
59 extra_nodes_ = extra_nodes;
60 }
61
62 bool TestBookmarkClient::CanRemoveNode(const BookmarkNode* node) {
63 return !IsAnExtraNode(node);
64 }
65
66 bool TestBookmarkClient::CanSetTitle(const BookmarkNode* permanent_node) {
67 return IsExtraNodeRoot(permanent_node);
68 }
69
70 bool TestBookmarkClient::CanSyncNode(const BookmarkNode* node) {
71 return !IsAnExtraNode(node);
72 }
73
74 bool TestBookmarkClient::CanReorderChildren(const BookmarkNode* parent) {
75 return !IsAnExtraNode(parent);
76 }
77
78 // static
79 bookmarks::BookmarkPermanentNodeList TestBookmarkClient::LoadExtraNodes(
80 bookmarks::BookmarkPermanentNodeList extra_nodes,
81 int64* next_id) {
82 return extra_nodes.Pass();
83 }
84
30 } // namespace test 85 } // namespace test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698