| Index: components/bookmarks/browser/bookmark_storage.h
|
| diff --git a/components/bookmarks/browser/bookmark_storage.h b/components/bookmarks/browser/bookmark_storage.h
|
| index c7bda05d23b318924e050b6d1d7abc6281ae35d4..20728a58ff4439fabb2d6331189782ad87f0a7ec 100644
|
| --- a/components/bookmarks/browser/bookmark_storage.h
|
| +++ b/components/bookmarks/browser/bookmark_storage.h
|
| @@ -5,10 +5,12 @@
|
| #ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_STORAGE_H_
|
| #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_STORAGE_H_
|
|
|
| +#include "base/callback_forward.h"
|
| #include "base/files/file_path.h"
|
| #include "base/files/important_file_writer.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "components/bookmarks/browser/bookmark_node.h"
|
|
|
| class BookmarkModel;
|
| @@ -21,6 +23,14 @@ namespace bookmarks {
|
|
|
| class BookmarkIndex;
|
|
|
| +// A list of BookmarkPermanentNodes that owns them.
|
| +typedef ScopedVector<BookmarkPermanentNode> BookmarkPermanentNodeList;
|
| +
|
| +// 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*)> LoadExtraCallback;
|
| +
|
| // BookmarkLoadDetails is used by BookmarkStorage when loading bookmarks.
|
| // BookmarkModel creates a BookmarkLoadDetails and passes it (including
|
| // ownership) to BookmarkStorage. BookmarkStorage loads the bookmarks (and
|
| @@ -34,10 +44,13 @@ class BookmarkLoadDetails {
|
| BookmarkLoadDetails(BookmarkPermanentNode* bb_node,
|
| BookmarkPermanentNode* other_folder_node,
|
| BookmarkPermanentNode* mobile_folder_node,
|
| + const LoadExtraCallback& load_extra_callback,
|
| BookmarkIndex* index,
|
| int64 max_id);
|
| ~BookmarkLoadDetails();
|
|
|
| + void LoadExtraNodes();
|
| +
|
| BookmarkPermanentNode* bb_node() { return bb_node_.get(); }
|
| BookmarkPermanentNode* release_bb_node() { return bb_node_.release(); }
|
| BookmarkPermanentNode* mobile_folder_node() {
|
| @@ -52,6 +65,12 @@ class BookmarkLoadDetails {
|
| BookmarkPermanentNode* release_other_folder_node() {
|
| return other_folder_node_.release();
|
| }
|
| + const BookmarkPermanentNodeList& extra_nodes() {
|
| + return extra_nodes_;
|
| + }
|
| + void release_extra_nodes(std::vector<BookmarkPermanentNode*>* extra_nodes) {
|
| + extra_nodes_.release(extra_nodes);
|
| + }
|
| BookmarkIndex* index() { return index_.get(); }
|
| BookmarkIndex* release_index() { return index_.release(); }
|
|
|
| @@ -96,6 +115,8 @@ class BookmarkLoadDetails {
|
| scoped_ptr<BookmarkPermanentNode> bb_node_;
|
| scoped_ptr<BookmarkPermanentNode> other_folder_node_;
|
| scoped_ptr<BookmarkPermanentNode> mobile_folder_node_;
|
| + LoadExtraCallback load_extra_callback_;
|
| + BookmarkPermanentNodeList extra_nodes_;
|
| scoped_ptr<BookmarkIndex> index_;
|
| BookmarkNode::MetaInfoMap model_meta_info_map_;
|
| int64 model_sync_transaction_version_;
|
|
|