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

Unified Diff: ui/app_list/search/mixer.cc

Issue 796293002: App list voice searches now prioritize exact-match web results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed MixerTest and add MixerTest.VoiceQuery. Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: ui/app_list/search/mixer.cc
diff --git a/ui/app_list/search/mixer.cc b/ui/app_list/search/mixer.cc
index e9b0f1b747302172b524a8a09ecaf1d465512b9b..7d3428f5b6b784b6668555e32db91af6c90ef945 100644
--- a/ui/app_list/search/mixer.cc
+++ b/ui/app_list/search/mixer.cc
@@ -56,7 +56,7 @@ class Mixer::Group {
void AddProvider(SearchProvider* provider) { providers_.push_back(provider); }
- void FetchResults(const KnownResults& known_results) {
+ void FetchResults(bool is_voice_query, const KnownResults& known_results) {
results_.clear();
for (Providers::const_iterator provider_it = providers_.begin();
@@ -93,6 +93,10 @@ class Mixer::Group {
}
}
+ // If this is a voice query, voice results receive a massive boost.
+ if (is_voice_query && (*result_it)->voice_result())
+ boost += 4.0;
+
results_.push_back(
SortData(*result_it, (*result_it)->relevance() + boost));
}
@@ -133,8 +137,9 @@ void Mixer::AddProviderToGroup(GroupId group, SearchProvider* provider) {
groups_[group]->AddProvider(provider);
}
-void Mixer::MixAndPublish(const KnownResults& known_results) {
- FetchResults(known_results);
+void Mixer::MixAndPublish(bool is_voice_query,
+ const KnownResults& known_results) {
+ FetchResults(is_voice_query, known_results);
SortedResults results;
results.reserve(kMaxResults);
@@ -242,9 +247,10 @@ void Mixer::RemoveDuplicates(SortedResults* results) {
results->swap(final);
}
-void Mixer::FetchResults(const KnownResults& known_results) {
+void Mixer::FetchResults(bool is_voice_query,
+ const KnownResults& known_results) {
for (const auto& item : groups_)
- item.second->FetchResults(known_results);
+ item.second->FetchResults(is_voice_query, known_results);
}
} // namespace app_list

Powered by Google App Engine
This is Rietveld 408576698