| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/bookmarks/browser/typed_count_sorter.h" | 5 #include "components/bookmarks/browser/typed_count_sorter.h" | 
| 6 | 6 | 
| 7 #include "components/bookmarks/browser/bookmark_client.h" | 7 #include "components/bookmarks/browser/bookmark_client.h" | 
| 8 | 8 | 
| 9 namespace bookmarks { | 9 namespace bookmarks { | 
| 10 | 10 | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 49 } | 49 } | 
| 50 | 50 | 
| 51 TypedCountSorter::~TypedCountSorter() {} | 51 TypedCountSorter::~TypedCountSorter() {} | 
| 52 | 52 | 
| 53 void TypedCountSorter::SortMatches(const TitledUrlNodeSet& matches, | 53 void TypedCountSorter::SortMatches(const TitledUrlNodeSet& matches, | 
| 54                                    TitledUrlNodes* sorted_nodes) const { | 54                                    TitledUrlNodes* sorted_nodes) const { | 
| 55   sorted_nodes->reserve(matches.size()); | 55   sorted_nodes->reserve(matches.size()); | 
| 56   if (client_->SupportsTypedCountForUrls()) { | 56   if (client_->SupportsTypedCountForUrls()) { | 
| 57     UrlNodeMap url_node_map; | 57     UrlNodeMap url_node_map; | 
| 58     UrlTypedCountMap url_typed_count_map; | 58     UrlTypedCountMap url_typed_count_map; | 
| 59     for (auto node : matches) { | 59     for (auto* node : matches) { | 
| 60       const GURL& url = node->GetTitledUrlNodeUrl(); | 60       const GURL& url = node->GetTitledUrlNodeUrl(); | 
| 61       url_node_map.insert(std::make_pair(&url, node)); | 61       url_node_map.insert(std::make_pair(&url, node)); | 
| 62       url_typed_count_map.insert(std::make_pair(&url, 0)); | 62       url_typed_count_map.insert(std::make_pair(&url, 0)); | 
| 63     } | 63     } | 
| 64 | 64 | 
| 65     client_->GetTypedCountForUrls(&url_typed_count_map); | 65     client_->GetTypedCountForUrls(&url_typed_count_map); | 
| 66 | 66 | 
| 67     UrlTypedCountPairs url_typed_counts; | 67     UrlTypedCountPairs url_typed_counts; | 
| 68     std::copy(url_typed_count_map.begin(), | 68     std::copy(url_typed_count_map.begin(), | 
| 69               url_typed_count_map.end(), | 69               url_typed_count_map.end(), | 
| 70               std::back_inserter(url_typed_counts)); | 70               std::back_inserter(url_typed_counts)); | 
| 71     std::sort(url_typed_counts.begin(), | 71     std::sort(url_typed_counts.begin(), | 
| 72               url_typed_counts.end(), | 72               url_typed_counts.end(), | 
| 73               UrlTypedCountPairSortFunctor()); | 73               UrlTypedCountPairSortFunctor()); | 
| 74     std::transform(url_typed_counts.begin(), | 74     std::transform(url_typed_counts.begin(), | 
| 75                    url_typed_counts.end(), | 75                    url_typed_counts.end(), | 
| 76                    std::back_inserter(*sorted_nodes), | 76                    std::back_inserter(*sorted_nodes), | 
| 77                    UrlTypedCountPairNodeLookupFunctor(url_node_map)); | 77                    UrlTypedCountPairNodeLookupFunctor(url_node_map)); | 
| 78   } else { | 78   } else { | 
| 79     sorted_nodes->insert(sorted_nodes->end(), matches.begin(), matches.end()); | 79     sorted_nodes->insert(sorted_nodes->end(), matches.begin(), matches.end()); | 
| 80   } | 80   } | 
| 81 } | 81 } | 
| 82 | 82 | 
| 83 }  // namespace bookmarks | 83 }  // namespace bookmarks | 
| OLD | NEW | 
|---|