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

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

Issue 2225073002: [Chrome OS] Change layout of the launcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address xiyuan@'s comments. 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/start_page_view.cc » ('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 15 matching lines...) Expand all
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),
35 dispatching_query_(false), 35 dispatching_query_(false),
36 query_for_recommendation_(false),
xiyuan 2016/08/09 20:22:13 nit: init |query_for_recommendation_| and |is_voic
xdai1 2016/08/09 20:33:06 Done.
xiyuan 2016/08/09 20:34:33 You might forget to include latest header file in
36 mixer_(new Mixer(results)), 37 mixer_(new Mixer(results)),
37 history_(history), 38 history_(history),
38 is_voice_query_(false) { 39 is_voice_query_(false) {}
39 }
40 40
41 SearchController::~SearchController() { 41 SearchController::~SearchController() {
42 } 42 }
43 43
44 void SearchController::Start(bool is_voice_query) { 44 void SearchController::Start(bool is_voice_query) {
45 Stop(); 45 Stop();
46 46
47 base::string16 query; 47 base::string16 query;
48 base::TrimWhitespace(search_box_->text(), base::TRIM_ALL, &query); 48 base::TrimWhitespace(search_box_->text(), base::TRIM_ALL, &query);
49 49
50 dispatching_query_ = true; 50 dispatching_query_ = true;
51 for (Providers::iterator it = providers_.begin(); 51 for (Providers::iterator it = providers_.begin();
52 it != providers_.end(); 52 it != providers_.end();
53 ++it) { 53 ++it) {
54 (*it)->Start(is_voice_query, query); 54 (*it)->Start(is_voice_query, query);
55 } 55 }
56 dispatching_query_ = false; 56 dispatching_query_ = false;
57 query_for_recommendation_ = query.empty() ? true : false;
57 58
58 is_voice_query_ = is_voice_query; 59 is_voice_query_ = is_voice_query;
59 60
60 OnResultsChanged(); 61 OnResultsChanged();
61 62
62 stop_timer_.Start(FROM_HERE, 63 stop_timer_.Start(FROM_HERE,
63 base::TimeDelta::FromMilliseconds(kStopTimeMS), 64 base::TimeDelta::FromMilliseconds(kStopTimeMS),
64 base::Bind(&SearchController::Stop, 65 base::Bind(&SearchController::Stop,
65 base::Unretained(this))); 66 base::Unretained(this)));
66 } 67 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 // TODO(xiyuan): Hook up with user learning. 112 // TODO(xiyuan): Hook up with user learning.
112 result->InvokeAction(action_index, event_flags); 113 result->InvokeAction(action_index, event_flags);
113 } 114 }
114 115
115 size_t SearchController::AddGroup(size_t max_results, double multiplier) { 116 size_t SearchController::AddGroup(size_t max_results, double multiplier) {
116 return mixer_->AddGroup(max_results, multiplier); 117 return mixer_->AddGroup(max_results, multiplier);
117 } 118 }
118 119
119 void SearchController::AddProvider(size_t group_id, 120 void SearchController::AddProvider(size_t group_id,
120 std::unique_ptr<SearchProvider> provider) { 121 std::unique_ptr<SearchProvider> provider) {
121 provider->set_result_changed_callback(base::Bind( 122 provider->set_result_changed_callback(
122 &SearchController::OnResultsChanged, 123 base::Bind(&SearchController::OnResultsChanged, base::Unretained(this)));
123 base::Unretained(this)));
124 mixer_->AddProviderToGroup(group_id, provider.get()); 124 mixer_->AddProviderToGroup(group_id, provider.get());
125 providers_.push_back(std::move(provider)); 125 providers_.push_back(std::move(provider));
126 } 126 }
127 127
128 void SearchController::OnResultsChanged() { 128 void SearchController::OnResultsChanged() {
129 if (dispatching_query_) 129 if (dispatching_query_)
130 return; 130 return;
131 131
132 KnownResults known_results; 132 KnownResults known_results;
133 if (history_ && history_->IsReady()) { 133 if (history_ && history_->IsReady()) {
134 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text())) 134 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text()))
135 ->swap(known_results); 135 ->swap(known_results);
136 } 136 }
137 137
138 mixer_->MixAndPublish(is_voice_query_, known_results); 138 size_t num_max_results =
139 query_for_recommendation_ ? kNumStartPageTiles : kMaxSearchResults;
140 mixer_->MixAndPublish(is_voice_query_, known_results, num_max_results);
139 } 141 }
140 142
141 } // namespace app_list 143 } // namespace app_list
OLDNEW
« no previous file with comments | « ui/app_list/search_controller.h ('k') | ui/app_list/views/start_page_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698