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

Unified Diff: components/bookmarks/browser/bookmark_storage.h

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
Index: components/bookmarks/browser/bookmark_storage.h
diff --git a/components/bookmarks/browser/bookmark_storage.h b/components/bookmarks/browser/bookmark_storage.h
index d5bb9e5654008b590a891a568af38f27bb49540f..2496e42c34f247464067efc5f85826a345ebfdc6 100644
--- a/components/bookmarks/browser/bookmark_storage.h
+++ b/components/bookmarks/browser/bookmark_storage.h
@@ -16,8 +16,8 @@
#include "base/files/important_file_writer.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_vector.h"
#include "base/memory/weak_ptr.h"
+#include "components/bookmarks/browser/bookmark_index.h"
#include "components/bookmarks/browser/bookmark_node.h"
namespace base {
@@ -26,16 +26,16 @@ class SequencedTaskRunner;
namespace bookmarks {
-class BookmarkIndex;
class BookmarkModel;
// A list of BookmarkPermanentNodes that owns them.
-typedef ScopedVector<BookmarkPermanentNode> BookmarkPermanentNodeList;
+using BookmarkPermanentNodeList =
+ std::vector<std::unique_ptr<BookmarkPermanentNode>>;
// A callback that generates a BookmarkPermanentNodeList, given a max ID to
// use. The max ID argument will be updated after any new nodes have been
// created and assigned IDs.
-typedef base::Callback<BookmarkPermanentNodeList(int64_t*)> LoadExtraCallback;
+using LoadExtraCallback = base::Callback<BookmarkPermanentNodeList(int64_t*)>;
// BookmarkLoadDetails is used by BookmarkStorage when loading bookmarks.
// BookmarkModel creates a BookmarkLoadDetails and passes it (including
@@ -58,27 +58,29 @@ class BookmarkLoadDetails {
void LoadExtraNodes();
BookmarkPermanentNode* bb_node() { return bb_node_.get(); }
- BookmarkPermanentNode* release_bb_node() { return bb_node_.release(); }
+ std::unique_ptr<BookmarkPermanentNode> owned_bb_node() {
+ return std::move(bb_node_);
+ }
BookmarkPermanentNode* mobile_folder_node() {
return mobile_folder_node_.get();
}
- BookmarkPermanentNode* release_mobile_folder_node() {
- return mobile_folder_node_.release();
+ std::unique_ptr<BookmarkPermanentNode> owned_mobile_folder_node() {
+ return std::move(mobile_folder_node_);
}
BookmarkPermanentNode* other_folder_node() {
return other_folder_node_.get();
}
- BookmarkPermanentNode* release_other_folder_node() {
- return other_folder_node_.release();
+ std::unique_ptr<BookmarkPermanentNode> owned_other_folder_node() {
+ return std::move(other_folder_node_);
}
const BookmarkPermanentNodeList& extra_nodes() {
return extra_nodes_;
}
- void release_extra_nodes(std::vector<BookmarkPermanentNode*>* extra_nodes) {
- extra_nodes_.release(extra_nodes);
+ BookmarkPermanentNodeList owned_extra_nodes() {
+ return std::move(extra_nodes_);
}
BookmarkIndex* index() { return index_.get(); }
- BookmarkIndex* release_index() { return index_.release(); }
+ std::unique_ptr<BookmarkIndex> owned_index() { return std::move(index_); }
const BookmarkNode::MetaInfoMap& model_meta_info_map() const {
return model_meta_info_map_;
« no previous file with comments | « components/bookmarks/browser/bookmark_model_unittest.cc ('k') | components/bookmarks/browser/bookmark_storage.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698