| Index: chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc
|
| diff --git a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc
|
| index eddb322a8bdbcdff7ef9f69e2b35273a7b0bf2c4..103c4b76bd8b8a0037618f4286aa1f37793c1449 100644
|
| --- a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc
|
| +++ b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_provider.cc
|
| @@ -7,6 +7,8 @@
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/chromeos/launcher_search_provider/service.h"
|
|
|
| +using chromeos::launcher_search_provider::Service;
|
| +
|
| namespace app_list {
|
|
|
| namespace {
|
| @@ -30,11 +32,21 @@ void LauncherSearchProvider::Start(bool /*is_voice_query*/,
|
| }
|
|
|
| void LauncherSearchProvider::Stop() {
|
| + // Since app_list code can call Stop() at any time, we stop timer here in
|
| + // order not to start query after Stop() is called.
|
| + query_timer_.Stop();
|
| +
|
| + Service* service = Service::Get(profile_);
|
| +
|
| + // Since we delay queries and filter out empty string queries, it can happen
|
| + // that no query is running at service side.
|
| + if (service->IsQueryRunning())
|
| + service->OnQueryEnded();
|
| }
|
|
|
| void LauncherSearchProvider::DelayQuery(const base::Closure& closure) {
|
| - base::TimeDelta delay = base::TimeDelta::FromMilliseconds(
|
| - kLauncherSearchProviderQueryDelayInMs);
|
| + base::TimeDelta delay =
|
| + base::TimeDelta::FromMilliseconds(kLauncherSearchProviderQueryDelayInMs);
|
| if (base::Time::Now() - last_query_time_ > delay) {
|
| query_timer_.Stop();
|
| closure.Run();
|
| @@ -46,8 +58,8 @@ void LauncherSearchProvider::DelayQuery(const base::Closure& closure) {
|
|
|
| void LauncherSearchProvider::StartInternal(const base::string16& query) {
|
| if (!query.empty()) {
|
| - chromeos::launcher_search_provider::Service::Get(profile_)->OnQueryStarted(
|
| - base::UTF16ToUTF8(query), kLauncherSearchProviderMaxResults);
|
| + Service::Get(profile_)->OnQueryStarted(base::UTF16ToUTF8(query),
|
| + kLauncherSearchProviderMaxResults);
|
| }
|
| }
|
|
|
|
|