| Index: chrome/browser/autocomplete/zero_suggest_provider.cc
|
| diff --git a/chrome/browser/autocomplete/zero_suggest_provider.cc b/chrome/browser/autocomplete/zero_suggest_provider.cc
|
| index 2c919868a50ec7feaa82cff6aa1c0d7f37303a37..80451c7ca2beabd15dd46a8061b9400e83dbfe64 100644
|
| --- a/chrome/browser/autocomplete/zero_suggest_provider.cc
|
| +++ b/chrome/browser/autocomplete/zero_suggest_provider.cc
|
| @@ -13,9 +13,11 @@
|
| #include "chrome/browser/autocomplete/autocomplete_input.h"
|
| #include "chrome/browser/autocomplete/autocomplete_match.h"
|
| #include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
|
| +#include "chrome/browser/prefs/pref_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/search_engines/template_url_service.h"
|
| #include "chrome/browser/search_engines/template_url_service_factory.h"
|
| +#include "chrome/common/pref_names.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "net/base/load_flags.h"
|
| @@ -28,6 +30,19 @@ namespace {
|
| const int kMaxZeroSuggestRelevance = 100;
|
| } // namespace
|
|
|
| +// static
|
| +ZeroSuggestProvider* ZeroSuggestProvider::Create(
|
| + AutocompleteProviderListener* listener,
|
| + Profile* profile) {
|
| + if (profile && !profile->IsOffTheRecord() && profile->GetPrefs()) {
|
| + std::string url_prefix = profile->GetPrefs()->GetString(
|
| + prefs::kExperimentalZeroSuggestUrlPrefix);
|
| + if (!url_prefix.empty())
|
| + return new ZeroSuggestProvider(listener, profile, url_prefix);
|
| + }
|
| + return NULL;
|
| +}
|
| +
|
| ZeroSuggestProvider::ZeroSuggestProvider(
|
| AutocompleteProviderListener* listener,
|
| Profile* profile,
|
| @@ -37,6 +52,12 @@ ZeroSuggestProvider::ZeroSuggestProvider(
|
| template_url_service_(TemplateURLServiceFactory::GetForProfile(profile)) {
|
| }
|
|
|
| +// static
|
| +void ZeroSuggestProvider::RegisterUserPrefs(PrefService* user_prefs) {
|
| + user_prefs->RegisterStringPref(prefs::kExperimentalZeroSuggestUrlPrefix, "",
|
| + PrefService::UNSYNCABLE_PREF);
|
| +}
|
| +
|
| void ZeroSuggestProvider::Start(const AutocompleteInput& input,
|
| bool /*minimal_changes*/) {
|
| UpdateMatches(input.text());
|
|
|