OLD | NEW |
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" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "components/bookmarks/browser/bookmark_model.h" | 10 #include "components/bookmarks/browser/bookmark_model.h" |
11 #include "components/bookmarks/browser/bookmark_node.h" | 11 #include "components/bookmarks/browser/bookmark_node.h" |
12 #include "components/bookmarks/browser/bookmark_storage.h" | 12 #include "components/bookmarks/browser/bookmark_storage.h" |
13 | 13 |
14 namespace bookmarks { | 14 namespace bookmarks { |
15 | 15 |
16 TestBookmarkClient::TestBookmarkClient() {} | 16 // static |
17 | 17 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel( |
18 TestBookmarkClient::~TestBookmarkClient() {} | 18 BookmarkPermanentNodeList extra_nodes, |
19 | 19 TestBookmarkClient** client, |
20 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel() { | 20 bool no_load) { |
21 scoped_ptr<BookmarkModel> bookmark_model(new BookmarkModel(this)); | 21 DCHECK(!client || !*client); |
22 scoped_ptr<BookmarkLoadDetails> details = | 22 TestBookmarkClient* bookmark_client = new TestBookmarkClient; |
23 bookmark_model->CreateLoadDetails(std::string()); | 23 bookmark_client->SetExtraNodesToLoad(extra_nodes.Pass()); |
24 details->LoadExtraNodes(); | 24 scoped_ptr<BookmarkModel> bookmark_model( |
25 bookmark_model->DoneLoading(details.Pass()); | 25 new BookmarkModel(scoped_ptr<BookmarkClient>(bookmark_client))); |
| 26 if (!no_load) { |
| 27 scoped_ptr<BookmarkLoadDetails> details = |
| 28 bookmark_model->CreateLoadDetails(std::string()); |
| 29 details->LoadExtraNodes(); |
| 30 bookmark_model->DoneLoading(details.Pass()); |
| 31 } |
| 32 if (client) |
| 33 *client = bookmark_client; |
26 return bookmark_model.Pass(); | 34 return bookmark_model.Pass(); |
27 } | 35 } |
28 | 36 |
29 void TestBookmarkClient::SetExtraNodesToLoad( | 37 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel( |
30 BookmarkPermanentNodeList extra_nodes) { | 38 TestBookmarkClient** client) { |
31 extra_nodes_to_load_ = extra_nodes.Pass(); | 39 return CreateModel(BookmarkPermanentNodeList(), client, false); |
32 // Keep a copy in |extra_nodes_| for the accessor. | 40 } |
33 extra_nodes_ = extra_nodes_to_load_.get(); | 41 |
| 42 scoped_ptr<BookmarkModel> TestBookmarkClient::CreateModel() { |
| 43 return CreateModel(BookmarkPermanentNodeList(), nullptr, false); |
34 } | 44 } |
35 | 45 |
36 bool TestBookmarkClient::IsExtraNodeRoot(const BookmarkNode* node) { | 46 bool TestBookmarkClient::IsExtraNodeRoot(const BookmarkNode* node) { |
37 for (size_t i = 0; i < extra_nodes_.size(); ++i) { | 47 for (size_t i = 0; i < extra_nodes_.size(); ++i) { |
38 if (node == extra_nodes_[i]) | 48 if (node == extra_nodes_[i]) |
39 return true; | 49 return true; |
40 } | 50 } |
41 return false; | 51 return false; |
42 } | 52 } |
43 | 53 |
44 bool TestBookmarkClient::IsAnExtraNode(const BookmarkNode* node) { | 54 bool TestBookmarkClient::IsAnExtraNode(const BookmarkNode* node) { |
45 if (!node) | 55 if (!node) |
46 return false; | 56 return false; |
47 for (size_t i = 0; i < extra_nodes_.size(); ++i) { | 57 for (size_t i = 0; i < extra_nodes_.size(); ++i) { |
48 if (node->HasAncestor(extra_nodes_[i])) | 58 if (node->HasAncestor(extra_nodes_[i])) |
49 return true; | 59 return true; |
50 } | 60 } |
51 return false; | 61 return false; |
52 } | 62 } |
53 | 63 |
| 64 TestBookmarkClient::TestBookmarkClient() { |
| 65 } |
| 66 |
| 67 TestBookmarkClient::~TestBookmarkClient() { |
| 68 } |
| 69 |
| 70 void TestBookmarkClient::SetExtraNodesToLoad( |
| 71 BookmarkPermanentNodeList extra_nodes) { |
| 72 extra_nodes_to_load_ = extra_nodes.Pass(); |
| 73 // Keep a copy in |extra_nodes_| for the accessor. |
| 74 extra_nodes_ = extra_nodes_to_load_.get(); |
| 75 } |
| 76 |
| 77 void TestBookmarkClient::Init(BookmarkModel* bookmark_model) { |
| 78 } |
| 79 |
| 80 base::CancelableTaskTracker::TaskId |
| 81 TestBookmarkClient::GetFaviconImageForPageURL( |
| 82 const GURL& page_url, |
| 83 favicon_base::IconType type, |
| 84 const favicon_base::FaviconImageCallback& callback, |
| 85 base::CancelableTaskTracker* tracker) { |
| 86 return base::CancelableTaskTracker::kBadTaskId; |
| 87 } |
| 88 |
| 89 bool TestBookmarkClient::SupportsTypedCountForNodes() { |
| 90 return false; |
| 91 } |
| 92 |
| 93 void TestBookmarkClient::GetTypedCountForNodes( |
| 94 const NodeSet& nodes, |
| 95 NodeTypedCountPairs* node_typed_count_pairs) { |
| 96 NOTREACHED(); |
| 97 } |
| 98 |
54 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) { | 99 void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) { |
55 } | 100 } |
56 | 101 |
57 LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback( | 102 LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback( |
58 scoped_ptr<BookmarkPermanentNode> managed_node, | 103 scoped_ptr<BookmarkPermanentNode> managed_node, |
59 scoped_ptr<BookmarkPermanentNode> supervised_node, | 104 scoped_ptr<BookmarkPermanentNode> supervised_node, |
60 const ExtraNodeLoadedCallback& callback) { | 105 const ExtraNodeLoadedCallback& callback) { |
61 return base::Bind(&TestBookmarkClient::LoadExtraNodes, | 106 return base::Bind(&TestBookmarkClient::LoadExtraNodes, |
62 base::Passed(&extra_nodes_to_load_)); | 107 base::Passed(&extra_nodes_to_load_)); |
63 } | 108 } |
64 | 109 |
65 void TestBookmarkClient::DoneLoading(BookmarkPermanentNode* managed_node, | 110 void TestBookmarkClient::DoneLoading(BookmarkPermanentNode* managed_node, |
66 BookmarkPermanentNode* supervised_node) { | 111 BookmarkPermanentNode* supervised_node) { |
67 } | 112 } |
68 | 113 |
69 // static | 114 // static |
70 BookmarkPermanentNodeList TestBookmarkClient::LoadExtraNodes( | 115 BookmarkPermanentNodeList TestBookmarkClient::LoadExtraNodes( |
71 BookmarkPermanentNodeList extra_nodes, | 116 BookmarkPermanentNodeList extra_nodes, |
72 int64* next_id) { | 117 int64* next_id) { |
73 return extra_nodes.Pass(); | 118 return extra_nodes.Pass(); |
74 } | 119 } |
75 | 120 |
76 } // namespace bookmarks | 121 } // namespace bookmarks |
OLD | NEW |