| 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_UTILS_H_ | 5 #ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UTILS_H_ |
| 6 #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UTILS_H_ | 6 #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UTILS_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/strings/string16.h" | 11 #include "base/strings/string16.h" |
| 12 #include "base/strings/utf_offset_string_conversions.h" | 12 #include "base/strings/utf_offset_string_conversions.h" |
| 13 #include "components/bookmarks/browser/bookmark_node_data.h" | 13 #include "components/bookmarks/browser/bookmark_node_data.h" |
| 14 | 14 |
| 15 class BookmarkClient; | |
| 16 class BookmarkModel; | 15 class BookmarkModel; |
| 17 class BookmarkNode; | 16 class BookmarkNode; |
| 18 class GURL; | 17 class GURL; |
| 19 | 18 |
| 20 namespace user_prefs { | 19 namespace user_prefs { |
| 21 class PrefRegistrySyncable; | 20 class PrefRegistrySyncable; |
| 22 } | 21 } |
| 23 | 22 |
| 24 // A collection of bookmark utility functions used by various parts of the UI | 23 // A collection of bookmark utility functions used by various parts of the UI |
| 25 // that show bookmarks (bookmark manager, bookmark bar view, ...) and other | 24 // that show bookmarks (bookmark manager, bookmark bar view, ...) and other |
| (...skipping 28 matching lines...) Expand all Loading... |
| 54 bool remove_nodes); | 53 bool remove_nodes); |
| 55 | 54 |
| 56 // Pastes from the clipboard. The new nodes are added to |parent|, unless | 55 // Pastes from the clipboard. The new nodes are added to |parent|, unless |
| 57 // |parent| is null in which case this does nothing. The nodes are inserted | 56 // |parent| is null in which case this does nothing. The nodes are inserted |
| 58 // at |index|. If |index| is -1 the nodes are added to the end. | 57 // at |index|. If |index| is -1 the nodes are added to the end. |
| 59 void PasteFromClipboard(BookmarkModel* model, | 58 void PasteFromClipboard(BookmarkModel* model, |
| 60 const BookmarkNode* parent, | 59 const BookmarkNode* parent, |
| 61 int index); | 60 int index); |
| 62 | 61 |
| 63 // Returns true if the user can copy from the pasteboard. | 62 // Returns true if the user can copy from the pasteboard. |
| 64 bool CanPasteFromClipboard(BookmarkModel* model, const BookmarkNode* node); | 63 bool CanPasteFromClipboard(const BookmarkNode* node); |
| 65 | 64 |
| 66 // Returns a vector containing up to |max_count| of the most recently modified | 65 // Returns a vector containing up to |max_count| of the most recently modified |
| 67 // user folders. This never returns an empty vector. | 66 // folders. This never returns an empty vector. |
| 68 std::vector<const BookmarkNode*> GetMostRecentlyModifiedUserFolders( | 67 std::vector<const BookmarkNode*> GetMostRecentlyModifiedFolders( |
| 69 BookmarkModel* model, size_t max_count); | 68 BookmarkModel* model, size_t max_count); |
| 70 | 69 |
| 71 // Returns the most recently added bookmarks. This does not return folders, | 70 // Returns the most recently added bookmarks. This does not return folders, |
| 72 // only nodes of type url. | 71 // only nodes of type url. |
| 73 void GetMostRecentlyAddedEntries(BookmarkModel* model, | 72 void GetMostRecentlyAddedEntries(BookmarkModel* model, |
| 74 size_t count, | 73 size_t count, |
| 75 std::vector<const BookmarkNode*>* nodes); | 74 std::vector<const BookmarkNode*>* nodes); |
| 76 | 75 |
| 77 // Returns true if |n1| was added more recently than |n2|. | 76 // Returns true if |n1| was added more recently than |n2|. |
| 78 bool MoreRecentlyAdded(const BookmarkNode* n1, const BookmarkNode* n2); | 77 bool MoreRecentlyAdded(const BookmarkNode* n1, const BookmarkNode* n2); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 95 // |parent| is returned. If |index| is non-null it is set to the index newly | 94 // |parent| is returned. If |index| is non-null it is set to the index newly |
| 96 // added nodes should be added at. | 95 // added nodes should be added at. |
| 97 const BookmarkNode* GetParentForNewNodes( | 96 const BookmarkNode* GetParentForNewNodes( |
| 98 const BookmarkNode* parent, | 97 const BookmarkNode* parent, |
| 99 const std::vector<const BookmarkNode*>& selection, | 98 const std::vector<const BookmarkNode*>& selection, |
| 100 int* index); | 99 int* index); |
| 101 | 100 |
| 102 // Deletes the bookmark folders for the given list of |ids|. | 101 // Deletes the bookmark folders for the given list of |ids|. |
| 103 void DeleteBookmarkFolders(BookmarkModel* model, const std::vector<int64>& ids); | 102 void DeleteBookmarkFolders(BookmarkModel* model, const std::vector<int64>& ids); |
| 104 | 103 |
| 105 // If there are no user bookmarks for url, a bookmark is created. | 104 // If there are no bookmarks for url, a bookmark is created. |
| 106 void AddIfNotBookmarked(BookmarkModel* model, | 105 void AddIfNotBookmarked(BookmarkModel* model, |
| 107 const GURL& url, | 106 const GURL& url, |
| 108 const base::string16& title); | 107 const base::string16& title); |
| 109 | 108 |
| 110 // Removes all bookmarks for the given |url|. | 109 // Removes all bookmarks for the given |url|. |
| 111 void RemoveAllBookmarks(BookmarkModel* model, const GURL& url); | 110 void RemoveAllBookmarks(BookmarkModel* model, const GURL& url); |
| 112 | 111 |
| 113 // Truncates an overly-long URL, unescapes it and interprets the characters | 112 // Truncates an overly-long URL, unescapes it and interprets the characters |
| 114 // as UTF-8 (both via net::FormatUrl()), and lower-cases it, returning the | 113 // as UTF-8 (both via net::FormatUrl()), and lower-cases it, returning the |
| 115 // result. |languages| is passed to net::FormatUrl(). |adjustments|, if | 114 // result. |languages| is passed to net::FormatUrl(). |adjustments|, if |
| (...skipping 14 matching lines...) Expand all Loading... |
| 130 // why it was escaped to begin with). | 129 // why it was escaped to begin with). |
| 131 base::string16 CleanUpUrlForMatching( | 130 base::string16 CleanUpUrlForMatching( |
| 132 const GURL& gurl, | 131 const GURL& gurl, |
| 133 const std::string& languages, | 132 const std::string& languages, |
| 134 base::OffsetAdjuster::Adjustments* adjustments); | 133 base::OffsetAdjuster::Adjustments* adjustments); |
| 135 | 134 |
| 136 // Returns the lower-cased title, possibly truncated if the original title | 135 // Returns the lower-cased title, possibly truncated if the original title |
| 137 // is overly-long. | 136 // is overly-long. |
| 138 base::string16 CleanUpTitleForMatching(const base::string16& title); | 137 base::string16 CleanUpTitleForMatching(const base::string16& title); |
| 139 | 138 |
| 140 // Returns true if all the |nodes| can be edited by the user, | |
| 141 // as determined by BookmarkClient::CanBeEditedByUser(). | |
| 142 bool CanAllBeEditedByUser(BookmarkClient* client, | |
| 143 const std::vector<const BookmarkNode*>& nodes); | |
| 144 | |
| 145 // Returns true if |url| has a bookmark in the |model| that can be edited | |
| 146 // by the user. | |
| 147 bool IsBookmarkedByUser(BookmarkModel* model, const GURL& url); | |
| 148 | |
| 149 } // namespace bookmark_utils | 139 } // namespace bookmark_utils |
| 150 | 140 |
| 151 // Returns the node with |id|, or NULL if there is no node with |id|. | 141 // Returns the node with |id|, or NULL if there is no node with |id|. |
| 152 const BookmarkNode* GetBookmarkNodeByID(const BookmarkModel* model, int64 id); | 142 const BookmarkNode* GetBookmarkNodeByID(const BookmarkModel* model, int64 id); |
| 153 | 143 |
| 154 #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UTILS_H_ | 144 #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_UTILS_H_ |
| OLD | NEW |