Chromium Code Reviews| Index: chrome/browser/ui/app_list/search/search_controller_factory.cc |
| diff --git a/chrome/browser/ui/app_list/search/search_controller_factory.cc b/chrome/browser/ui/app_list/search/search_controller_factory.cc |
| index c9fa326c42f51d6308719b52ccc5f583eeb0c574..98a8cc2b90a6de5a02480e069006ed1d9984b1d2 100644 |
| --- a/chrome/browser/ui/app_list/search/search_controller_factory.cc |
| +++ b/chrome/browser/ui/app_list/search/search_controller_factory.cc |
| @@ -5,11 +5,14 @@ |
| #include "chrome/browser/ui/app_list/search/search_controller_factory.h" |
|
huangs
2014/12/03 20:36:11
The .h file is missing
#include "base/memory/scope
Mathieu
2014/12/03 21:01:30
I see it!
|
| #include "base/command_line.h" |
| +#include "base/metrics/field_trial.h" |
| +#include "base/strings/string_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/app_list/search/app_search_provider.h" |
| #include "chrome/browser/ui/app_list/search/history_factory.h" |
| #include "chrome/browser/ui/app_list/search/omnibox_provider.h" |
| #include "chrome/browser/ui/app_list/search/people/people_provider.h" |
| +#include "chrome/browser/ui/app_list/search/suggestions/suggestions_search_provider.h" |
| #include "chrome/browser/ui/app_list/search/webstore/webstore_provider.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "ui/app_list/search/mixer.h" |
| @@ -17,6 +20,22 @@ |
| namespace app_list { |
| +namespace { |
| + |
| +// Constants related to the SuggestionsService in AppList field trial. |
| +const char kSuggestionsProviderFieldTrialName[] = "SuggestionsAppListProvider"; |
| +const char kSuggestionsProviderFieldTrialEnabledPrefix[] = "Enabled"; |
| + |
| +// Returns whether the user is part of a group where the Suggestions provider is |
| +// enabled. |
| +bool IsSuggestionsSearchProviderEnabled() { |
| + return StartsWithASCII( |
| + base::FieldTrialList::FindFullName(kSuggestionsProviderFieldTrialName), |
| + kSuggestionsProviderFieldTrialEnabledPrefix, true); |
| +} |
| + |
| +} // namespace |
| + |
| scoped_ptr<SearchController> CreateSearchController( |
| Profile* profile, |
| SearchBoxModel* search_box, |
| @@ -40,6 +59,12 @@ scoped_ptr<SearchController> CreateSearchController( |
| scoped_ptr<SearchProvider>( |
| new PeopleProvider(profile, list_controller))); |
| } |
| + if (IsSuggestionsSearchProviderEnabled()) { |
| + controller->AddProvider( |
| + Mixer::SUGGESTIONS_GROUP, |
| + scoped_ptr<SearchProvider>( |
| + new SuggestionsSearchProvider(profile, list_controller))); |
| + } |
| return controller.Pass(); |
| } |