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 #include "components/enhanced_bookmarks/enhanced_bookmark_utils.h" | 5 #include "components/enhanced_bookmarks/enhanced_bookmark_utils.h" |
6 | 6 |
7 #include "base/i18n/string_compare.h" | 7 #include "base/i18n/string_compare.h" |
8 #include "components/bookmarks/browser/bookmark_model.h" | 8 #include "components/bookmarks/browser/bookmark_model.h" |
9 | 9 |
10 using bookmarks::BookmarkModel; | 10 using bookmarks::BookmarkModel; |
11 using bookmarks::BookmarkNode; | 11 using bookmarks::BookmarkNode; |
12 | 12 |
13 namespace enhanced_bookmarks { | 13 namespace enhanced_bookmarks { |
14 | 14 |
15 // Comparator used to sort bookmarks. No folders are allowed. | 15 // Comparator used to sort bookmarks. No folders are allowed. |
16 class BookmarkNameComparator : public std::binary_function<const BookmarkNode*, | 16 class BookmarkNameComparator : public std::binary_function<const BookmarkNode*, |
Lei Zhang
2015/04/07 21:59:29
Now BookmarkNameComparator is dead code. Care to d
| |
17 const BookmarkNode*, | 17 const BookmarkNode*, |
18 bool> { | 18 bool> { |
19 public: | 19 public: |
20 explicit BookmarkNameComparator(icu::Collator* collator) | 20 explicit BookmarkNameComparator(icu::Collator* collator) |
21 : collator_(collator) {} | 21 : collator_(collator) {} |
22 | 22 |
23 // Returns true if |n1| preceeds |n2|. | 23 // Returns true if |n1| preceeds |n2|. |
24 bool operator()(const BookmarkNode* n1, const BookmarkNode* n2) { | 24 bool operator()(const BookmarkNode* n1, const BookmarkNode* n2) { |
25 DCHECK(!n1->is_folder()); | 25 DCHECK(!n1->is_folder()); |
26 DCHECK(!n2->is_folder()); | 26 DCHECK(!n2->is_folder()); |
27 if (!collator_) | 27 if (!collator_) |
28 return n1->GetTitle() < n2->GetTitle(); | 28 return n1->GetTitle() < n2->GetTitle(); |
29 return base::i18n::CompareString16WithCollator( | 29 return base::i18n::CompareString16WithCollator( |
30 collator_, n1->GetTitle(), n2->GetTitle()) == UCOL_LESS; | 30 collator_, n1->GetTitle(), n2->GetTitle()) == UCOL_LESS; |
31 } | 31 } |
32 | 32 |
33 private: | 33 private: |
34 icu::Collator* collator_; | 34 icu::Collator* collator_; |
35 }; | 35 }; |
36 | 36 |
37 void SortBookmarksByName(std::vector<const BookmarkNode*>& nodes) { | |
38 UErrorCode error = U_ZERO_ERROR; | |
39 scoped_ptr<icu::Collator> collator(icu::Collator::createInstance(error)); | |
40 if (U_FAILURE(error)) | |
41 collator.reset(NULL); | |
42 std::sort(nodes.begin(), nodes.end(), BookmarkNameComparator(collator.get())); | |
43 } | |
44 | |
45 std::vector<const BookmarkNode*> PrimaryPermanentNodes(BookmarkModel* model) { | 37 std::vector<const BookmarkNode*> PrimaryPermanentNodes(BookmarkModel* model) { |
46 DCHECK(model->loaded()); | 38 DCHECK(model->loaded()); |
47 std::vector<const BookmarkNode*> nodes; | 39 std::vector<const BookmarkNode*> nodes; |
48 nodes.push_back(model->mobile_node()); | 40 nodes.push_back(model->mobile_node()); |
49 nodes.push_back(model->bookmark_bar_node()); | 41 nodes.push_back(model->bookmark_bar_node()); |
50 nodes.push_back(model->other_node()); | 42 nodes.push_back(model->other_node()); |
51 return nodes; | 43 return nodes; |
52 } | 44 } |
53 | 45 |
54 std::vector<const BookmarkNode*> RootLevelFolders(BookmarkModel* model) { | 46 std::vector<const BookmarkNode*> RootLevelFolders(BookmarkModel* model) { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
88 const BookmarkNode* top = node; | 80 const BookmarkNode* top = node; |
89 while (top && | 81 while (top && |
90 std::find(root_folders.begin(), root_folders.end(), top) == | 82 std::find(root_folders.begin(), root_folders.end(), top) == |
91 root_folders.end()) { | 83 root_folders.end()) { |
92 top = top->parent(); | 84 top = top->parent(); |
93 } | 85 } |
94 return top; | 86 return top; |
95 } | 87 } |
96 | 88 |
97 } // namespace enhanced_bookmarks | 89 } // namespace enhanced_bookmarks |
OLD | NEW |