Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Side by Side Diff: components/ntp_snippets/physical_web_pages/physical_web_page_suggestions_provider.cc

Issue 2744253004: NTP: clang-format (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/ntp_snippets/physical_web_pages/physical_web_page_suggestio ns_provider.h" 5 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio ns_provider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 // When there is no estimate, the value is <= 0, so we implicitly treat it as 43 // When there is no estimate, the value is <= 0, so we implicitly treat it as
44 // infinity. 44 // infinity.
45 bool is_left_estimated = left.distance_estimate > 0; 45 bool is_left_estimated = left.distance_estimate > 0;
46 bool is_right_estimated = right.distance_estimate > 0; 46 bool is_right_estimated = right.distance_estimate > 0;
47 47
48 if (is_left_estimated != is_right_estimated) 48 if (is_left_estimated != is_right_estimated)
49 return is_left_estimated; 49 return is_left_estimated;
50 return left.distance_estimate < right.distance_estimate; 50 return left.distance_estimate < right.distance_estimate;
51 } 51 }
52 52
53 void FilterOutByGroupId( 53 void FilterOutByGroupId(physical_web::MetadataList& page_metadata_list) {
54 physical_web::MetadataList& page_metadata_list) {
55 // |std::unique| only removes duplicates that immediately follow each other. 54 // |std::unique| only removes duplicates that immediately follow each other.
56 // Thus, first, we have to sort by group_id and distance and only then remove 55 // Thus, first, we have to sort by group_id and distance and only then remove
57 // duplicates. 56 // duplicates.
58 std::sort(page_metadata_list.begin(), page_metadata_list.end(), 57 std::sort(page_metadata_list.begin(), page_metadata_list.end(),
59 [](const physical_web::Metadata& left, 58 [](const physical_web::Metadata& left,
60 const physical_web::Metadata& right) { 59 const physical_web::Metadata& right) {
61 if (left.group_id != right.group_id) { 60 if (left.group_id != right.group_id) {
62 return left.group_id < right.group_id; 61 return left.group_id < right.group_id;
63 } 62 }
64 63
65 // We want closest pages first, so in case of same group_id we 64 // We want closest pages first, so in case of same group_id we
66 // sort by distance. 65 // sort by distance.
67 return CompareByDistance(left, right); 66 return CompareByDistance(left, right);
68 }); 67 });
69 68
70 // Each empty group_id must be treated as unique, so we do not apply 69 // Each empty group_id must be treated as unique, so we do not apply
71 // std::unique to them at all. 70 // std::unique to them at all.
72 auto nonempty_group_id_begin = std::find_if( 71 auto nonempty_group_id_begin =
73 page_metadata_list.begin(), page_metadata_list.end(), 72 std::find_if(page_metadata_list.begin(), page_metadata_list.end(),
74 [](const physical_web::Metadata& page) { 73 [](const physical_web::Metadata& page) {
75 return !page.group_id.empty(); 74 return !page.group_id.empty();
76 }); 75 });
77 76
78 auto new_end = std::unique( 77 auto new_end = std::unique(nonempty_group_id_begin, page_metadata_list.end(),
79 nonempty_group_id_begin, page_metadata_list.end(), 78 [](const physical_web::Metadata& left,
80 [](const physical_web::Metadata& left, 79 const physical_web::Metadata& right) {
81 const physical_web::Metadata& right) { 80 return left.group_id == right.group_id;
82 return left.group_id == right.group_id; 81 });
83 });
84 82
85 page_metadata_list.erase(new_end, page_metadata_list.end()); 83 page_metadata_list.erase(new_end, page_metadata_list.end());
86 } 84 }
87 85
88 } // namespace 86 } // namespace
89 87
90 PhysicalWebPageSuggestionsProvider::PhysicalWebPageSuggestionsProvider( 88 PhysicalWebPageSuggestionsProvider::PhysicalWebPageSuggestionsProvider(
91 ContentSuggestionsProvider::Observer* observer, 89 ContentSuggestionsProvider::Observer* observer,
92 physical_web::PhysicalWebDataSource* physical_web_data_source, 90 physical_web::PhysicalWebDataSource* physical_web_data_source,
93 PrefService* pref_service) 91 PrefService* pref_service)
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 } 357 }
360 358
361 void PhysicalWebPageSuggestionsProvider::StoreDismissedIDsToPrefs( 359 void PhysicalWebPageSuggestionsProvider::StoreDismissedIDsToPrefs(
362 const std::set<std::string>& dismissed_ids) { 360 const std::set<std::string>& dismissed_ids) {
363 prefs::StoreDismissedIDsToPrefs(pref_service_, 361 prefs::StoreDismissedIDsToPrefs(pref_service_,
364 prefs::kDismissedPhysicalWebPageSuggestions, 362 prefs::kDismissedPhysicalWebPageSuggestions,
365 dismissed_ids); 363 dismissed_ids);
366 } 364 }
367 365
368 } // namespace ntp_snippets 366 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698