Chromium Code Reviews| 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 |