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 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ | 5 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ |
6 #define COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ | 6 #define COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 class EnhancedBookmarkModelObserver; | 32 class EnhancedBookmarkModelObserver; |
33 | 33 |
34 // Wrapper around BookmarkModel providing utility functions for enhanced | 34 // Wrapper around BookmarkModel providing utility functions for enhanced |
35 // bookmarks. | 35 // bookmarks. |
36 class EnhancedBookmarkModel : public KeyedService, | 36 class EnhancedBookmarkModel : public KeyedService, |
37 public BaseBookmarkModelObserver { | 37 public BaseBookmarkModelObserver { |
38 public: | 38 public: |
39 EnhancedBookmarkModel(BookmarkModel* bookmark_model, | 39 EnhancedBookmarkModel(BookmarkModel* bookmark_model, |
40 const std::string& version); | 40 const std::string& version); |
41 virtual ~EnhancedBookmarkModel(); | 41 ~EnhancedBookmarkModel() override; |
42 | 42 |
43 virtual void Shutdown() override; | 43 void Shutdown() override; |
44 | 44 |
45 void AddObserver(EnhancedBookmarkModelObserver* observer); | 45 void AddObserver(EnhancedBookmarkModelObserver* observer); |
46 void RemoveObserver(EnhancedBookmarkModelObserver* observer); | 46 void RemoveObserver(EnhancedBookmarkModelObserver* observer); |
47 | 47 |
48 // Moves |node| to |new_parent| and inserts it at the given |index|. | 48 // Moves |node| to |new_parent| and inserts it at the given |index|. |
49 void Move(const BookmarkNode* node, | 49 void Move(const BookmarkNode* node, |
50 const BookmarkNode* new_parent, | 50 const BookmarkNode* new_parent, |
51 int index); | 51 int index); |
52 | 52 |
53 // Adds a new folder node at the specified position. | 53 // Adds a new folder node at the specified position. |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 // Returns the version string to use when setting stars.version. | 132 // Returns the version string to use when setting stars.version. |
133 std::string GetVersionString(); | 133 std::string GetVersionString(); |
134 | 134 |
135 private: | 135 private: |
136 FRIEND_TEST_ALL_PREFIXES(::EnhancedBookmarkModelTest, SetMultipleMetaInfo); | 136 FRIEND_TEST_ALL_PREFIXES(::EnhancedBookmarkModelTest, SetMultipleMetaInfo); |
137 | 137 |
138 typedef std::map<std::string, const BookmarkNode*> IdToNodeMap; | 138 typedef std::map<std::string, const BookmarkNode*> IdToNodeMap; |
139 typedef std::map<const BookmarkNode*, std::string> NodeToIdMap; | 139 typedef std::map<const BookmarkNode*, std::string> NodeToIdMap; |
140 | 140 |
141 // BaseBookmarkModelObserver: | 141 // BaseBookmarkModelObserver: |
142 virtual void BookmarkModelChanged() override; | 142 void BookmarkModelChanged() override; |
143 virtual void BookmarkModelLoaded(BookmarkModel* model, | 143 void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override; |
144 bool ids_reassigned) override; | 144 void BookmarkNodeAdded(BookmarkModel* model, |
145 virtual void BookmarkNodeAdded(BookmarkModel* model, | 145 const BookmarkNode* parent, |
146 const BookmarkNode* parent, | 146 int index) override; |
147 int index) override; | 147 void BookmarkNodeRemoved(BookmarkModel* model, |
148 virtual void BookmarkNodeRemoved(BookmarkModel* model, | 148 const BookmarkNode* parent, |
149 const BookmarkNode* parent, | 149 int old_index, |
150 int old_index, | 150 const BookmarkNode* node, |
151 const BookmarkNode* node, | 151 const std::set<GURL>& removed_urls) override; |
| 152 void OnWillChangeBookmarkMetaInfo(BookmarkModel* model, |
| 153 const BookmarkNode* node) override; |
| 154 void BookmarkMetaInfoChanged(BookmarkModel* model, |
| 155 const BookmarkNode* node) override; |
| 156 void BookmarkAllUserNodesRemoved(BookmarkModel* model, |
152 const std::set<GURL>& removed_urls) override; | 157 const std::set<GURL>& removed_urls) override; |
153 virtual void OnWillChangeBookmarkMetaInfo(BookmarkModel* model, | |
154 const BookmarkNode* node) override; | |
155 virtual void BookmarkMetaInfoChanged(BookmarkModel* model, | |
156 const BookmarkNode* node) override; | |
157 virtual void BookmarkAllUserNodesRemoved( | |
158 BookmarkModel* model, | |
159 const std::set<GURL>& removed_urls) override; | |
160 | 158 |
161 // Initialize the mapping from remote ids to nodes. | 159 // Initialize the mapping from remote ids to nodes. |
162 void InitializeIdMap(); | 160 void InitializeIdMap(); |
163 | 161 |
164 // Adds a node to the id map if it has a (unique) remote id. Must be followed | 162 // Adds a node to the id map if it has a (unique) remote id. Must be followed |
165 // by a (Schedule)ResetDuplicateRemoteIds call when done adding nodes. | 163 // by a (Schedule)ResetDuplicateRemoteIds call when done adding nodes. |
166 void AddToIdMap(const BookmarkNode* node); | 164 void AddToIdMap(const BookmarkNode* node); |
167 | 165 |
168 // If there are nodes that needs to reset their remote ids, schedules | 166 // If there are nodes that needs to reset their remote ids, schedules |
169 // ResetDuplicateRemoteIds to be run asynchronously. | 167 // ResetDuplicateRemoteIds to be run asynchronously. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 | 203 |
206 std::string version_; | 204 std::string version_; |
207 std::string version_suffix_; | 205 std::string version_suffix_; |
208 | 206 |
209 base::WeakPtrFactory<EnhancedBookmarkModel> weak_ptr_factory_; | 207 base::WeakPtrFactory<EnhancedBookmarkModel> weak_ptr_factory_; |
210 }; | 208 }; |
211 | 209 |
212 } // namespace enhanced_bookmarks | 210 } // namespace enhanced_bookmarks |
213 | 211 |
214 #endif // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ | 212 #endif // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_H_ |
OLD | NEW |