Index: ui/app_list/search/mixer.h |
diff --git a/ui/app_list/search/mixer.h b/ui/app_list/search/mixer.h |
deleted file mode 100644 |
index 171d4a153d9b9231604b54c271f70bc56bd04ed9..0000000000000000000000000000000000000000 |
--- a/ui/app_list/search/mixer.h |
+++ /dev/null |
@@ -1,90 +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. |
- |
-#ifndef UI_APP_LIST_SEARCH_MIXER_H_ |
-#define UI_APP_LIST_SEARCH_MIXER_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/gtest_prod_util.h" |
-#include "base/memory/scoped_vector.h" |
-#include "ui/app_list/app_list_export.h" |
-#include "ui/app_list/app_list_model.h" |
-#include "ui/app_list/search/history_types.h" |
- |
-namespace app_list { |
- |
-namespace test { |
-FORWARD_DECLARE_TEST(MixerTest, Publish); |
-} |
- |
-class SearchProvider; |
-class SearchResult; |
- |
-// Mixer collects results from providers, sorts them and publishes them to the |
-// SearchResults UI model. The targeted results have 6 slots to hold the |
-// result. These slots could be viewed as having three groups: main group |
-// (local apps and contacts), omnibox group and web store group. The |
-// main group takes no more than 4 slots. The web store takes no more than 2 |
-// slots. The omnibox group takes all the remaining slots. |
-class APP_LIST_EXPORT Mixer { |
- public: |
- // The enum represents mixer groups. Note this must matches the order |
- // of group creation in Init(). |
- enum GroupId { |
- MAIN_GROUP = 0, |
- OMNIBOX_GROUP = 1, |
- WEBSTORE_GROUP = 2, |
- PEOPLE_GROUP = 3, |
- }; |
- |
- explicit Mixer(AppListModel::SearchResults* ui_results); |
- ~Mixer(); |
- |
- // Creates mixer groups. |
- void Init(); |
- |
- // Associates a provider with a mixer group. |
- void AddProviderToGroup(GroupId group, SearchProvider* provider); |
- |
- // Collects the results, sorts and publishes them. |
- void MixAndPublish(const KnownResults& known_results); |
- |
- private: |
- FRIEND_TEST_ALL_PREFIXES(test::MixerTest, Publish); |
- |
- // Used for sorting and mixing results. |
- struct APP_LIST_EXPORT SortData { |
- SortData(); |
- SortData(SearchResult* result, double score); |
- |
- bool operator<(const SortData& other) const; |
- |
- SearchResult* result; // Not owned. |
- double score; |
- }; |
- typedef std::vector<Mixer::SortData> SortedResults; |
- |
- class Group; |
- typedef ScopedVector<Group> Groups; |
- |
- // Publishes the given |new_results| to |ui_results|, deleting any existing |
- // results that are not in |new_results|. Results that already exist in |
- // |ui_results| are reused to avoid flickering caused by icon reload. |
- static void Publish(const SortedResults& results, |
- AppListModel::SearchResults* ui_results); |
- |
- // Removes duplicates from |results|. |
- static void RemoveDuplicates(SortedResults* results); |
- |
- void FetchResults(const KnownResults& known_results); |
- |
- AppListModel::SearchResults* ui_results_; // Not owned. |
- Groups groups_; |
- |
- DISALLOW_COPY_AND_ASSIGN(Mixer); |
-}; |
- |
-} // namespace app_list |
- |
-#endif // UI_APP_LIST_SEARCH_MIXER_H_ |