| 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 |