| Index: ui/app_list/search_controller.cc
|
| diff --git a/ui/app_list/search_controller.cc b/ui/app_list/search_controller.cc
|
| deleted file mode 100644
|
| index 3a4a52f59c2d96b45c1bda7c3efaf807e00f8eb2..0000000000000000000000000000000000000000
|
| --- a/ui/app_list/search_controller.cc
|
| +++ /dev/null
|
| @@ -1,114 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/app_list/search_controller.h"
|
| -
|
| -#include <algorithm>
|
| -#include <vector>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/metrics/user_metrics.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "ui/app_list/search/history.h"
|
| -#include "ui/app_list/search_box_model.h"
|
| -#include "ui/app_list/search_provider.h"
|
| -#include "ui/app_list/search_result.h"
|
| -
|
| -namespace {
|
| -
|
| -// Maximum time (in milliseconds) to wait to the search providers to finish.
|
| -const int kStopTimeMS = 1500;
|
| -}
|
| -
|
| -namespace app_list {
|
| -
|
| -SearchController::SearchController(SearchBoxModel* search_box,
|
| - AppListModel::SearchResults* results,
|
| - History* history)
|
| - : search_box_(search_box),
|
| - dispatching_query_(false),
|
| - mixer_(new Mixer(results)),
|
| - history_(history) {
|
| - mixer_->Init();
|
| -}
|
| -
|
| -SearchController::~SearchController() {
|
| -}
|
| -
|
| -void SearchController::Start() {
|
| - Stop();
|
| -
|
| - base::string16 query;
|
| - base::TrimWhitespace(search_box_->text(), base::TRIM_ALL, &query);
|
| -
|
| - dispatching_query_ = true;
|
| - for (Providers::iterator it = providers_.begin();
|
| - it != providers_.end();
|
| - ++it) {
|
| - (*it)->Start(query);
|
| - }
|
| - dispatching_query_ = false;
|
| -
|
| - OnResultsChanged();
|
| -
|
| - stop_timer_.Start(FROM_HERE,
|
| - base::TimeDelta::FromMilliseconds(kStopTimeMS),
|
| - base::Bind(&SearchController::Stop,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| -void SearchController::Stop() {
|
| - stop_timer_.Stop();
|
| -
|
| - for (Providers::iterator it = providers_.begin();
|
| - it != providers_.end();
|
| - ++it) {
|
| - (*it)->Stop();
|
| - }
|
| -}
|
| -
|
| -void SearchController::OpenResult(SearchResult* result, int event_flags) {
|
| - // Count AppList.Search here because it is composed of search + action.
|
| - base::RecordAction(base::UserMetricsAction("AppList_Search"));
|
| -
|
| - result->Open(event_flags);
|
| -
|
| - if (history_ && history_->IsReady()) {
|
| - history_->AddLaunchEvent(base::UTF16ToUTF8(search_box_->text()),
|
| - result->id());
|
| - }
|
| -}
|
| -
|
| -void SearchController::InvokeResultAction(SearchResult* result,
|
| - int action_index,
|
| - int event_flags) {
|
| - // TODO(xiyuan): Hook up with user learning.
|
| - result->InvokeAction(action_index, event_flags);
|
| -}
|
| -
|
| -void SearchController::AddProvider(Mixer::GroupId group,
|
| - scoped_ptr<SearchProvider> provider) {
|
| - provider->set_result_changed_callback(base::Bind(
|
| - &SearchController::OnResultsChanged,
|
| - base::Unretained(this)));
|
| - mixer_->AddProviderToGroup(group, provider.get());
|
| - providers_.push_back(provider.release()); // Takes ownership.
|
| -}
|
| -
|
| -void SearchController::OnResultsChanged() {
|
| - if (dispatching_query_)
|
| - return;
|
| -
|
| - KnownResults known_results;
|
| - if (history_ && history_->IsReady()) {
|
| - history_->GetKnownResults(base::UTF16ToUTF8(search_box_->text()))
|
| - ->swap(known_results);
|
| - }
|
| -
|
| - mixer_->MixAndPublish(known_results);
|
| -}
|
| -
|
| -} // namespace app_list
|
|
|