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

Unified Diff: components/bookmarks/test/test_bookmark_client.cc

Issue 2379863002: Fix object ownership in ui/base/models. (Closed)
Patch Set: fix Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/bookmarks/test/test_bookmark_client.h ('k') | ui/app_list/search/mixer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 470f1c9927784cd33b4fdfeb0144682638120304..e6c485db3df85918a3ee006c926304df5da6c9dc 100644
--- a/components/bookmarks/test/test_bookmark_client.cc
+++ b/components/bookmarks/test/test_bookmark_client.cc
@@ -41,24 +41,23 @@ std::unique_ptr<BookmarkModel> TestBookmarkClient::CreateModelWithClient(
void TestBookmarkClient::SetExtraNodesToLoad(
BookmarkPermanentNodeList extra_nodes) {
- extra_nodes_to_load_ = std::move(extra_nodes);
- // Keep a copy in |extra_nodes_| for the acessor.
- extra_nodes_ = extra_nodes_to_load_.get();
+ extra_nodes_ = std::move(extra_nodes);
+ // Keep a copy of the nodes in |unowned_extra_nodes_| for the accessor
+ // functions.
+ for (const auto& node : extra_nodes_)
+ unowned_extra_nodes_.push_back(node.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;
+ return std::find(unowned_extra_nodes_.begin(), unowned_extra_nodes_.end(),
+ node) != unowned_extra_nodes_.end();
}
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]))
+ for (const auto* extra_node : unowned_extra_nodes_) {
+ if (node->HasAncestor(extra_node))
return true;
}
return false;
@@ -78,7 +77,7 @@ void TestBookmarkClient::RecordAction(const base::UserMetricsAction& action) {
LoadExtraCallback TestBookmarkClient::GetLoadExtraNodesCallback() {
return base::Bind(&TestBookmarkClient::LoadExtraNodes,
- base::Passed(&extra_nodes_to_load_));
+ base::Passed(&extra_nodes_));
}
bool TestBookmarkClient::CanSetPermanentNodeTitle(
« no previous file with comments | « components/bookmarks/test/test_bookmark_client.h ('k') | ui/app_list/search/mixer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698