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 |