Chromium Code Reviews| 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_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ | 5 #ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ |
| 6 #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ | 6 #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 155 | 155 |
| 156 // Sets the URL of |node|. | 156 // Sets the URL of |node|. |
| 157 void SetURL(const BookmarkNode* node, const GURL& url); | 157 void SetURL(const BookmarkNode* node, const GURL& url); |
| 158 | 158 |
| 159 // Sets the date added time of |node|. | 159 // Sets the date added time of |node|. |
| 160 void SetDateAdded(const BookmarkNode* node, base::Time date_added); | 160 void SetDateAdded(const BookmarkNode* node, base::Time date_added); |
| 161 | 161 |
| 162 // Returns the set of nodes with the |url|. | 162 // Returns the set of nodes with the |url|. |
| 163 void GetNodesByURL(const GURL& url, std::vector<const BookmarkNode*>* nodes); | 163 void GetNodesByURL(const GURL& url, std::vector<const BookmarkNode*>* nodes); |
| 164 | 164 |
| 165 // Returns the most recently added node for the |url|. Returns NULL if |url| | 165 // Returns the most recently added user node for the |url|; urls from any |
| 166 // is not bookmarked. | 166 // nodes that are not editable by the user are never returned by this call. |
| 167 const BookmarkNode* GetMostRecentlyAddedNodeForURL(const GURL& url); | 167 // Returns NULL if |url| is not bookmarked. |
| 168 const BookmarkNode* GetMostRecentlyAddedUserNodeForURL(const GURL& url); | |
| 168 | 169 |
| 169 // Returns true if there are bookmarks, otherwise returns false. | 170 // Returns true if there are bookmarks, otherwise returns false. |
| 170 // This method is thread safe. | 171 // This method is thread safe. |
| 171 bool HasBookmarks(); | 172 bool HasBookmarks(); |
| 172 | 173 |
| 173 // Returns true if there is a bookmark with the |url|. | 174 // Returns true if there is a bookmark with the |url|. |
| 174 // This method is thread safe. | 175 // This method is thread safe. |
| 175 // See BookmarkService for more details on this. | 176 // See BookmarkService for more details on this. |
| 176 virtual bool IsBookmarked(const GURL& url) OVERRIDE; | 177 virtual bool IsBookmarked(const GURL& url) OVERRIDE; |
| 177 | 178 |
| 179 // Same as IsBookmarked() but only returns true if at least one of the | |
| 180 // bookmarks found can be edited by the user. | |
| 181 bool IsBookmarkedByUser(const GURL& url); | |
|
sky
2014/06/05 23:46:47
Move this to bookmark_utils.
Joao da Silva
2014/06/06 15:41:03
Done.
| |
| 182 | |
| 178 // Returns all the bookmarked urls and their titles. | 183 // Returns all the bookmarked urls and their titles. |
| 179 // This method is thread safe. | 184 // This method is thread safe. |
| 180 // See BookmarkService for more details on this. | 185 // See BookmarkService for more details on this. |
| 181 virtual void GetBookmarks( | 186 virtual void GetBookmarks( |
| 182 std::vector<BookmarkService::URLAndTitle>* urls) OVERRIDE; | 187 std::vector<BookmarkService::URLAndTitle>* urls) OVERRIDE; |
| 183 | 188 |
| 184 // Blocks until loaded; this is NOT invoked on the main thread. | 189 // Blocks until loaded; this is NOT invoked on the main thread. |
| 185 // See BookmarkService for more details on this. | 190 // See BookmarkService for more details on this. |
| 186 virtual void BlockTillLoaded() OVERRIDE; | 191 virtual void BlockTillLoaded() OVERRIDE; |
| 187 | 192 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 289 | 294 |
| 290 // Used to order BookmarkNodes by URL. | 295 // Used to order BookmarkNodes by URL. |
| 291 class NodeURLComparator { | 296 class NodeURLComparator { |
| 292 public: | 297 public: |
| 293 bool operator()(const BookmarkNode* n1, const BookmarkNode* n2) const { | 298 bool operator()(const BookmarkNode* n1, const BookmarkNode* n2) const { |
| 294 return n1->url() < n2->url(); | 299 return n1->url() < n2->url(); |
| 295 } | 300 } |
| 296 }; | 301 }; |
| 297 | 302 |
| 298 // Implementation of IsBookmarked. Before calling this the caller must obtain | 303 // Implementation of IsBookmarked. Before calling this the caller must obtain |
| 299 // a lock on |url_lock_|. | 304 // a lock on |url_lock_|. If |only_by_editable_nodes| is true then bookmarks |
| 300 bool IsBookmarkedNoLock(const GURL& url); | 305 // that the user can't edit are skipped while searching for |url|. |
| 306 bool IsBookmarkedNoLock(const GURL& url, bool only_by_editable_nodes); | |
| 301 | 307 |
| 302 // Removes the node from internal maps and recurses through all children. If | 308 // Removes the node from internal maps and recurses through all children. If |
| 303 // the node is a url, its url is added to removed_urls. | 309 // the node is a url, its url is added to removed_urls. |
| 304 // | 310 // |
| 305 // This does NOT delete the node. | 311 // This does NOT delete the node. |
| 306 void RemoveNode(BookmarkNode* node, std::set<GURL>* removed_urls); | 312 void RemoveNode(BookmarkNode* node, std::set<GURL>* removed_urls); |
| 307 | 313 |
| 308 // Invoked when loading is finished. Sets |loaded_| and notifies observers. | 314 // Invoked when loading is finished. Sets |loaded_| and notifies observers. |
| 309 // BookmarkModel takes ownership of |details|. | 315 // BookmarkModel takes ownership of |details|. |
| 310 void DoneLoading(scoped_ptr<bookmarks::BookmarkLoadDetails> details); | 316 void DoneLoading(scoped_ptr<bookmarks::BookmarkLoadDetails> details); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 417 | 423 |
| 418 // See description of IsDoingExtensiveChanges above. | 424 // See description of IsDoingExtensiveChanges above. |
| 419 int extensive_changes_; | 425 int extensive_changes_; |
| 420 | 426 |
| 421 scoped_ptr<BookmarkExpandedStateTracker> expanded_state_tracker_; | 427 scoped_ptr<BookmarkExpandedStateTracker> expanded_state_tracker_; |
| 422 | 428 |
| 423 DISALLOW_COPY_AND_ASSIGN(BookmarkModel); | 429 DISALLOW_COPY_AND_ASSIGN(BookmarkModel); |
| 424 }; | 430 }; |
| 425 | 431 |
| 426 #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ | 432 #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_MODEL_H_ |
| OLD | NEW |