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