OLD | NEW |
---|---|
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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 | 57 |
58 is_voice_query_ = is_voice_query; | 58 is_voice_query_ = is_voice_query; |
59 | 59 |
60 OnResultsChanged(); | 60 OnResultsChanged(query.empty()); |
xiyuan
2016/08/09 17:49:09
We should remember empty query in a member var ins
xdai1
2016/08/09 20:14:17
Done.
| |
61 | 61 |
62 stop_timer_.Start(FROM_HERE, | 62 stop_timer_.Start(FROM_HERE, |
63 base::TimeDelta::FromMilliseconds(kStopTimeMS), | 63 base::TimeDelta::FromMilliseconds(kStopTimeMS), |
64 base::Bind(&SearchController::Stop, | 64 base::Bind(&SearchController::Stop, |
65 base::Unretained(this))); | 65 base::Unretained(this))); |
66 } | 66 } |
67 | 67 |
68 void SearchController::Stop() { | 68 void SearchController::Stop() { |
69 stop_timer_.Stop(); | 69 stop_timer_.Stop(); |
70 | 70 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
112 result->InvokeAction(action_index, event_flags); | 112 result->InvokeAction(action_index, event_flags); |
113 } | 113 } |
114 | 114 |
115 size_t SearchController::AddGroup(size_t max_results, double multiplier) { | 115 size_t SearchController::AddGroup(size_t max_results, double multiplier) { |
116 return mixer_->AddGroup(max_results, multiplier); | 116 return mixer_->AddGroup(max_results, multiplier); |
117 } | 117 } |
118 | 118 |
119 void SearchController::AddProvider(size_t group_id, | 119 void SearchController::AddProvider(size_t group_id, |
120 std::unique_ptr<SearchProvider> provider) { | 120 std::unique_ptr<SearchProvider> provider) { |
121 provider->set_result_changed_callback(base::Bind( | 121 provider->set_result_changed_callback(base::Bind( |
122 &SearchController::OnResultsChanged, | 122 &SearchController::OnResultsChanged, base::Unretained(this), true)); |
xiyuan
2016/08/09 17:49:09
As aforementioned, let's remember the query_for_re
xdai1
2016/08/09 20:14:17
Done.
| |
123 base::Unretained(this))); | |
124 mixer_->AddProviderToGroup(group_id, provider.get()); | 123 mixer_->AddProviderToGroup(group_id, provider.get()); |
125 providers_.push_back(std::move(provider)); | 124 providers_.push_back(std::move(provider)); |
126 } | 125 } |
127 | 126 |
128 void SearchController::OnResultsChanged() { | 127 void SearchController::OnResultsChanged(bool is_empty_query) { |
129 if (dispatching_query_) | 128 if (dispatching_query_) |
130 return; | 129 return; |
131 | 130 |
132 KnownResults known_results; | 131 KnownResults known_results; |
133 if (history_ && history_->IsReady()) { | 132 if (history_ && history_->IsReady()) { |
134 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text())) | 133 history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text())) |
135 ->swap(known_results); | 134 ->swap(known_results); |
136 } | 135 } |
137 | 136 |
138 mixer_->MixAndPublish(is_voice_query_, known_results); | 137 mixer_->MixAndPublish(is_empty_query, is_voice_query_, known_results); |
139 } | 138 } |
140 | 139 |
141 } // namespace app_list | 140 } // namespace app_list |
OLD | NEW |