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

Side by Side Diff: ui/app_list/search_controller.cc

Issue 2253253002: [Merge to M53][Chrome OS] Change layout of the launcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2785
Patch Set: Created 4 years, 4 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
« no previous file with comments | « ui/app_list/search_controller.h ('k') | ui/app_list/views/all_apps_tile_item_view.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/app_list/search_controller.h" 5 #include "ui/app_list/search_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 13 matching lines...) Expand all
24 24
25 // Maximum time (in milliseconds) to wait to the search providers to finish. 25 // Maximum time (in milliseconds) to wait to the search providers to finish.
26 const int kStopTimeMS = 1500; 26 const int kStopTimeMS = 1500;
27 } 27 }
28 28
29 namespace app_list { 29 namespace app_list {
30 30
31 SearchController::SearchController(SearchBoxModel* search_box, 31 SearchController::SearchController(SearchBoxModel* search_box,
32 AppListModel::SearchResults* results, 32 AppListModel::SearchResults* results,
33 History* history) 33 History* history)
34 : search_box_(search_box), 34 : search_box_(search_box), mixer_(new Mixer(results)), history_(history) {}
35 dispatching_query_(false),
36 mixer_(new Mixer(results)),
37 history_(history),
38 is_voice_query_(false) {
39 }
40 35
41 SearchController::~SearchController() { 36 SearchController::~SearchController() {
42 } 37 }
43 38
44 void SearchController::Start(bool is_voice_query) { 39 void SearchController::Start(bool is_voice_query) {
45 Stop(); 40 Stop();
46 41
47 base::string16 query; 42 base::string16 query;
48 base::TrimWhitespace(search_box_->text(), base::TRIM_ALL, &query); 43 base::TrimWhitespace(search_box_->text(), base::TRIM_ALL, &query);
49 44
50 dispatching_query_ = true; 45 dispatching_query_ = true;
51 for (Providers::iterator it = providers_.begin(); 46 for (Providers::iterator it = providers_.begin();
52 it != providers_.end(); 47 it != providers_.end();
53 ++it) { 48 ++it) {
54 (*it)->Start(is_voice_query, query); 49 (*it)->Start(is_voice_query, query);
55 } 50 }
56 dispatching_query_ = false; 51 dispatching_query_ = false;
52 query_for_recommendation_ = query.empty() ? true : false;
57 53
58 is_voice_query_ = is_voice_query; 54 is_voice_query_ = is_voice_query;
59 55
60 OnResultsChanged(); 56 OnResultsChanged();
61 57
62 stop_timer_.Start(FROM_HERE, 58 stop_timer_.Start(FROM_HERE,
63 base::TimeDelta::FromMilliseconds(kStopTimeMS), 59 base::TimeDelta::FromMilliseconds(kStopTimeMS),
64 base::Bind(&SearchController::Stop, 60 base::Bind(&SearchController::Stop,
65 base::Unretained(this))); 61 base::Unretained(this)));
66 } 62 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 } 115 }
120 116
121 size_t SearchController::AddOmniboxGroup(size_t max_results, 117 size_t SearchController::AddOmniboxGroup(size_t max_results,
122 double boost, 118 double boost,
123 double multiplier) { 119 double multiplier) {
124 return mixer_->AddOmniboxGroup(max_results, boost, multiplier); 120 return mixer_->AddOmniboxGroup(max_results, boost, multiplier);
125 } 121 }
126 122
127 void SearchController::AddProvider(size_t group_id, 123 void SearchController::AddProvider(size_t group_id,
128 std::unique_ptr<SearchProvider> provider) { 124 std::unique_ptr<SearchProvider> provider) {
129 provider->set_result_changed_callback(base::Bind( 125 provider->set_result_changed_callback(
130 &SearchController::OnResultsChanged, 126 base::Bind(&SearchController::OnResultsChanged, base::Unretained(this)));
131 base::Unretained(this)));
132 mixer_->AddProviderToGroup(group_id, provider.get()); 127 mixer_->AddProviderToGroup(group_id, provider.get());
133 providers_.push_back(std::move(provider)); 128 providers_.push_back(std::move(provider));
134 } 129 }
135 130
136 void SearchController::OnResultsChanged() { 131 void SearchController::OnResultsChanged() {
137 if (dispatching_query_) 132 if (dispatching_query_)
138 return; 133 return;
139 134
140 KnownResults known_results; 135 KnownResults known_results;
141 if (history_ && history_->IsReady()) { 136 if (history_ && history_->IsReady()) {
142 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text())) 137 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text()))
143 ->swap(known_results); 138 ->swap(known_results);
144 } 139 }
145 140
146 mixer_->MixAndPublish(is_voice_query_, known_results); 141 size_t num_max_results =
142 query_for_recommendation_ ? kNumStartPageTiles : kMaxSearchResults;
143 mixer_->MixAndPublish(is_voice_query_, known_results, num_max_results);
147 } 144 }
148 145
149 } // namespace app_list 146 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/search_controller.h ('k') | ui/app_list/views/all_apps_tile_item_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698