Chromium Code Reviews| Index: chrome/browser/search_engines/template_url_service_android.cc |
| diff --git a/chrome/browser/search_engines/template_url_service_android.cc b/chrome/browser/search_engines/template_url_service_android.cc |
| index 306cd44c2130303ba5a742eaabe1db46d58d08b0..bd669952364b2e8cd27f9e58c87f0b2f8088d95c 100644 |
| --- a/chrome/browser/search_engines/template_url_service_android.cc |
| +++ b/chrome/browser/search_engines/template_url_service_android.cc |
| @@ -152,10 +152,27 @@ void TemplateUrlServiceAndroid::LoadTemplateURLs() { |
| if (template_url_service_->IsPrepopulatedOrCreatedByPolicy(lhs)) { |
| return !rhs_prepopulated || |
| (lhs->prepopulate_id() < rhs->prepopulate_id()); |
| + } else if (lhs == default_search_provider) { |
| + return !rhs_prepopulated; |
| } |
| - return (lhs == default_search_provider && !rhs_prepopulated); |
| + return rhs != default_search_provider && !rhs_prepopulated && |
| + lhs->last_visited().ToTimeT() > rhs->last_visited().ToTimeT(); |
| }; |
| std::sort(template_urls_.begin(), template_urls_.end(), comp); |
|
Peter Kasting
2016/12/06 06:24:55
The sort comparator is getting complicated.
I won
ltian
2016/12/07 00:56:43
Done.
|
| + int num_remove = CountRemovedSearchEngineNum(); |
| + template_urls_.erase(template_urls_.end()-num_remove, |
| + template_urls_.end()); |
|
Peter Kasting
2016/12/06 06:24:55
Nit: Use resize()
ltian
2016/12/07 00:56:43
Done.
|
| + |
| +} |
| + |
| +int TemplateUrlServiceAndroid::CountRemovedSearchEngineNum() { |
| + int num_custom_engine = 0; |
| + for (std::vector<TemplateURL*>::const_iterator i = template_urls_.begin(); |
| + i != template_urls_.end(); i++) { |
| + template_url_service_->ShowInDefaultList(*i) ? num_custom_engine : |
| + num_custom_engine++; |
| + } |
|
Peter Kasting
2016/12/06 06:24:55
Nit: Use std::count_if
ltian
2016/12/07 00:56:43
Done.
|
| + return num_custom_engine > 5 ? num_custom_engine - 5 : 0; |
|
Peter Kasting
2016/12/06 06:24:55
Nit: Use std::max
ltian
2016/12/07 00:56:43
Done.
|
| } |
| void TemplateUrlServiceAndroid::OnTemplateURLServiceChanged() { |