summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
authorblundell <blundell@chromium.org>2015-06-21 12:29:13 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-21 19:29:51 +0000
commitd130d599dd7b02b9bdc4ea606c77117afbb91c57 (patch)
treef07038dfd53100f4650041ceea48fe8683a61625 /chrome/browser/autocomplete
parent8db3efc9bb514d4e55a17fbd4d654c4ec4e72487 (diff)
downloadchromium_src-d130d599dd7b02b9bdc4ea606c77117afbb91c57.zip
chromium_src-d130d599dd7b02b9bdc4ea606c77117afbb91c57.tar.gz
chromium_src-d130d599dd7b02b9bdc4ea606c77117afbb91c57.tar.bz2
Prepare ZeroSuggestProvider for componentization
- Abstracts //chrome-level dependencies via AutocompleteProviderClient. - Moves the kZeroSuggestCachedResults pref name to live in the component. - Also takes the opportunity to eliminate protected data members in BaseSearchProvider. BUG=371538 TBR=sdefresne, mkwst Review URL: https://codereview.chromium.org/1197533003 Cr-Commit-Position: refs/heads/master@{#335456}
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete_controller.cc7
-rw-r--r--chrome/browser/autocomplete/autocomplete_provider_unittest.cc2
-rw-r--r--chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc38
-rw-r--r--chrome/browser/autocomplete/chrome_autocomplete_provider_client.h18
-rw-r--r--chrome/browser/autocomplete/search_provider_unittest.cc8
-rw-r--r--chrome/browser/autocomplete/zero_suggest_provider.cc114
-rw-r--r--chrome/browser/autocomplete/zero_suggest_provider.h11
-rw-r--r--chrome/browser/autocomplete/zero_suggest_provider_unittest.cc21
8 files changed, 110 insertions, 109 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_controller.cc b/chrome/browser/autocomplete/autocomplete_controller.cc
index e3d2e55..a75c373 100644
--- a/chrome/browser/autocomplete/autocomplete_controller.cc
+++ b/chrome/browser/autocomplete/autocomplete_controller.cc
@@ -208,15 +208,14 @@ AutocompleteController::AutocompleteController(
}
#endif
if (provider_types & AutocompleteProvider::TYPE_SEARCH) {
- search_provider_ =
- new SearchProvider(provider_client_.get(), this, template_url_service);
+ search_provider_ = new SearchProvider(provider_client_.get(), this);
providers_.push_back(search_provider_);
}
if (provider_types & AutocompleteProvider::TYPE_SHORTCUTS)
providers_.push_back(new ShortcutsProvider(provider_client_.get()));
if (provider_types & AutocompleteProvider::TYPE_ZERO_SUGGEST) {
- zero_suggest_provider_ = ZeroSuggestProvider::Create(
- provider_client_.get(), this, template_url_service, profile);
+ zero_suggest_provider_ =
+ ZeroSuggestProvider::Create(provider_client_.get(), this);
if (zero_suggest_provider_)
providers_.push_back(zero_suggest_provider_);
}
diff --git a/chrome/browser/autocomplete/autocomplete_provider_unittest.cc b/chrome/browser/autocomplete/autocomplete_provider_unittest.cc
index d78a860..19b5c9a 100644
--- a/chrome/browser/autocomplete/autocomplete_provider_unittest.cc
+++ b/chrome/browser/autocomplete/autocomplete_provider_unittest.cc
@@ -215,7 +215,7 @@ class AutocompleteProviderTest : public testing::Test,
base::TimeDelta query_formulation_time) const;
void set_search_provider_field_trial_triggered_in_session(bool val) {
- controller_->search_provider_->field_trial_triggered_in_session_ = val;
+ controller_->search_provider_->set_field_trial_triggered_in_session(val);
}
bool search_provider_field_trial_triggered_in_session() {
return controller_->search_provider_->field_trial_triggered_in_session();
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
index 0eeba30..32f3767 100644
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -13,6 +13,7 @@
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/history/history_service_factory.h"
+#include "chrome/browser/history/top_sites_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/sync/profile_sync_service.h"
@@ -36,16 +37,30 @@ ChromeAutocompleteProviderClient::GetRequestContext() {
return profile_->GetRequestContext();
}
+PrefService* ChromeAutocompleteProviderClient::GetPrefs() {
+ return profile_->GetPrefs();
+}
+
const AutocompleteSchemeClassifier&
-ChromeAutocompleteProviderClient::GetSchemeClassifier() {
+ChromeAutocompleteProviderClient::GetSchemeClassifier() const {
return scheme_classifier_;
}
+AutocompleteClassifier*
+ChromeAutocompleteProviderClient::GetAutocompleteClassifier() {
+ return AutocompleteClassifierFactory::GetForProfile(profile_);
+}
+
history::HistoryService* ChromeAutocompleteProviderClient::GetHistoryService() {
return HistoryServiceFactory::GetForProfile(
profile_, ServiceAccessType::EXPLICIT_ACCESS);
}
+scoped_refptr<history::TopSites>
+ChromeAutocompleteProviderClient::GetTopSites() {
+ return TopSitesFactory::GetForProfile(profile_);
+}
+
bookmarks::BookmarkModel* ChromeAutocompleteProviderClient::GetBookmarkModel() {
return BookmarkModelFactory::GetForProfile(profile_);
}
@@ -62,7 +77,13 @@ TemplateURLService* ChromeAutocompleteProviderClient::GetTemplateURLService() {
return TemplateURLServiceFactory::GetForProfile(profile_);
}
-const SearchTermsData& ChromeAutocompleteProviderClient::GetSearchTermsData() {
+const TemplateURLService*
+ChromeAutocompleteProviderClient::GetTemplateURLService() const {
+ return TemplateURLServiceFactory::GetForProfile(profile_);
+}
+
+const
+SearchTermsData& ChromeAutocompleteProviderClient::GetSearchTermsData() const {
return search_terms_data_;
}
@@ -76,23 +97,23 @@ ChromeAutocompleteProviderClient::GetShortcutsBackendIfExists() {
return ShortcutsBackendFactory::GetForProfileIfExists(profile_);
}
-std::string ChromeAutocompleteProviderClient::GetAcceptLanguages() {
+std::string ChromeAutocompleteProviderClient::GetAcceptLanguages() const {
return profile_->GetPrefs()->GetString(prefs::kAcceptLanguages);
}
-bool ChromeAutocompleteProviderClient::IsOffTheRecord() {
+bool ChromeAutocompleteProviderClient::IsOffTheRecord() const {
return profile_->IsOffTheRecord();
}
-bool ChromeAutocompleteProviderClient::SearchSuggestEnabled() {
+bool ChromeAutocompleteProviderClient::SearchSuggestEnabled() const {
return profile_->GetPrefs()->GetBoolean(prefs::kSearchSuggestEnabled);
}
-bool ChromeAutocompleteProviderClient::ShowBookmarkBar() {
+bool ChromeAutocompleteProviderClient::BookmarkBarIsVisible() const {
return profile_->GetPrefs()->GetBoolean(bookmarks::prefs::kShowBookmarkBar);
}
-bool ChromeAutocompleteProviderClient::TabSyncEnabledAndUnencrypted() {
+bool ChromeAutocompleteProviderClient::TabSyncEnabledAndUnencrypted() const {
// Check field trials and settings allow sending the URL on suggest requests.
ProfileSyncService* service =
ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_);
@@ -110,8 +131,7 @@ void ChromeAutocompleteProviderClient::Classify(
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url) {
- AutocompleteClassifier* classifier =
- AutocompleteClassifierFactory::GetForProfile(profile_);
+ AutocompleteClassifier* classifier = GetAutocompleteClassifier();
DCHECK(classifier);
classifier->Classify(text, prefer_keyword, allow_exact_keyword_match,
page_classification, match, alternate_nav_url);
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
index 3d6bd2b..ef14b10 100644
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h
@@ -18,19 +18,23 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
// AutocompleteProviderClient:
net::URLRequestContextGetter* GetRequestContext() override;
- const AutocompleteSchemeClassifier& GetSchemeClassifier() override;
+ PrefService* GetPrefs() override;
+ const AutocompleteSchemeClassifier& GetSchemeClassifier() const override;
+ AutocompleteClassifier* GetAutocompleteClassifier() override;
history::HistoryService* GetHistoryService() override;
+ scoped_refptr<history::TopSites> GetTopSites() override;
bookmarks::BookmarkModel* GetBookmarkModel() override;
history::URLDatabase* GetInMemoryDatabase() override;
TemplateURLService* GetTemplateURLService() override;
- const SearchTermsData& GetSearchTermsData() override;
+ const TemplateURLService* GetTemplateURLService() const override;
+ const SearchTermsData& GetSearchTermsData() const override;
scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override;
scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override;
- std::string GetAcceptLanguages() override;
- bool IsOffTheRecord() override;
- bool SearchSuggestEnabled() override;
- bool ShowBookmarkBar() override;
- bool TabSyncEnabledAndUnencrypted() override;
+ std::string GetAcceptLanguages() const override;
+ bool IsOffTheRecord() const override;
+ bool SearchSuggestEnabled() const override;
+ bool BookmarkBarIsVisible() const override;
+ bool TabSyncEnabledAndUnencrypted() const override;
void Classify(
const base::string16& text,
bool prefer_keyword,
diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc
index e659637..05c2b49 100644
--- a/chrome/browser/autocomplete/search_provider_unittest.cc
+++ b/chrome/browser/autocomplete/search_provider_unittest.cc
@@ -74,7 +74,6 @@ class SearchProviderForTest : public SearchProvider {
public:
SearchProviderForTest(ChromeAutocompleteProviderClient* client,
AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
Profile* profile);
bool is_success() { return is_success_; }
@@ -90,10 +89,8 @@ class SearchProviderForTest : public SearchProvider {
SearchProviderForTest::SearchProviderForTest(
ChromeAutocompleteProviderClient* client,
AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
Profile* profile)
- : SearchProvider(client, listener, template_url_service),
- is_success_(false) {
+ : SearchProvider(client, listener), is_success_(false) {
}
SearchProviderForTest::~SearchProviderForTest() {
@@ -323,8 +320,7 @@ void SearchProviderTest::SetUp() {
AutocompleteClassifierFactory::GetInstance()->SetTestingFactoryAndUse(
&profile_, &AutocompleteClassifierFactory::BuildInstanceFor);
- provider_ =
- new SearchProviderForTest(client_.get(), this, turl_model, &profile_);
+ provider_ = new SearchProviderForTest(client_.get(), this, &profile_);
OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs = 0;
}
diff --git a/chrome/browser/autocomplete/zero_suggest_provider.cc b/chrome/browser/autocomplete/zero_suggest_provider.cc
index 4e12588..68c8019 100644
--- a/chrome/browser/autocomplete/zero_suggest_provider.cc
+++ b/chrome/browser/autocomplete/zero_suggest_provider.cc
@@ -15,13 +15,6 @@
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "chrome/browser/autocomplete/autocomplete_classifier.h"
-#include "chrome/browser/autocomplete/autocomplete_classifier_factory.h"
-#include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h"
-#include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
-#include "chrome/browser/history/top_sites_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/search_engines/template_url_service_factory.h"
-#include "chrome/common/pref_names.h"
#include "components/history/core/browser/history_types.h"
#include "components/history/core/browser/top_sites.h"
#include "components/metrics/proto/omnibox_input_type.pb.h"
@@ -30,6 +23,7 @@
#include "components/omnibox/autocomplete_provider_listener.h"
#include "components/omnibox/history_url_provider.h"
#include "components/omnibox/omnibox_field_trial.h"
+#include "components/omnibox/omnibox_pref_names.h"
#include "components/omnibox/search_provider.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/search_engines/template_url_service.h"
@@ -77,17 +71,15 @@ const int kDefaultZeroSuggestRelevance = 100;
// static
ZeroSuggestProvider* ZeroSuggestProvider::Create(
AutocompleteProviderClient* client,
- AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
- Profile* profile) {
- return new ZeroSuggestProvider(client, listener, template_url_service,
- profile);
+ AutocompleteProviderListener* listener) {
+ return new ZeroSuggestProvider(client, listener);
}
// static
void ZeroSuggestProvider::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterStringPref(prefs::kZeroSuggestCachedResults, std::string());
+ registry->RegisterStringPref(omnibox::kZeroSuggestCachedResults,
+ std::string());
}
void ZeroSuggestProvider::Start(const AutocompleteInput& input,
@@ -98,23 +90,24 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
return;
Stop(true, false);
- field_trial_triggered_ = false;
- field_trial_triggered_in_session_ = false;
+ set_field_trial_triggered(false);
+ set_field_trial_triggered_in_session(false);
results_from_cache_ = false;
permanent_text_ = input.text();
current_query_ = input.current_url().spec();
current_page_classification_ = input.current_page_classification();
current_url_match_ = MatchForCurrentURL();
+ TemplateURLService* template_url_service = client()->GetTemplateURLService();
const TemplateURL* default_provider =
- template_url_service_->GetDefaultSearchProvider();
+ template_url_service->GetDefaultSearchProvider();
if (default_provider == NULL)
return;
base::string16 prefix;
TemplateURLRef::SearchTermsArgs search_term_args(prefix);
GURL suggest_url(default_provider->suggestions_url_ref().ReplaceSearchTerms(
- search_term_args, template_url_service_->search_terms_data()));
+ search_term_args, template_url_service->search_terms_data()));
if (!suggest_url.is_valid())
return;
@@ -122,15 +115,14 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
// most visited field trials.
if (CanSendURL(input.current_url(), suggest_url, default_provider,
current_page_classification_,
- template_url_service_->search_terms_data(), client_) &&
+ template_url_service->search_terms_data(), client()) &&
!OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial() &&
!OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()) {
// Update suggest_url to include the current_page_url.
search_term_args.current_page_url = current_query_;
- suggest_url = GURL(default_provider->suggestions_url_ref().
- ReplaceSearchTerms(
- search_term_args,
- template_url_service_->search_terms_data()));
+ suggest_url =
+ GURL(default_provider->suggestions_url_ref().ReplaceSearchTerms(
+ search_term_args, template_url_service->search_terms_data()));
} else if (!ShouldShowNonContextualZeroSuggest(suggest_url,
input.current_url())) {
return;
@@ -168,7 +160,7 @@ void ZeroSuggestProvider::DeleteMatch(const AutocompleteMatch& match) {
if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial()) {
// Remove the deleted match from the cache, so it is not shown to the user
// again. Since we cannot remove just one result, blow away the cache.
- profile_->GetPrefs()->SetString(prefs::kZeroSuggestCachedResults,
+ client()->GetPrefs()->SetString(omnibox::kZeroSuggestCachedResults,
std::string());
}
BaseSearchProvider::DeleteMatch(match);
@@ -184,22 +176,15 @@ void ZeroSuggestProvider::AddProviderInfo(ProvidersInfo* provider_info) const {
void ZeroSuggestProvider::ResetSession() {
// The user has started editing in the omnibox, so leave
- // |field_trial_triggered_in_session_| unchanged and set
- // |field_trial_triggered_| to false since zero suggest is inactive now.
- field_trial_triggered_ = false;
+ // |field_trial_triggered_in_session| unchanged and set
+ // |field_trial_triggered| to false since zero suggest is inactive now.
+ set_field_trial_triggered(false);
}
-ZeroSuggestProvider::ZeroSuggestProvider(
- AutocompleteProviderClient* client,
-
- AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
- Profile* profile)
- : BaseSearchProvider(AutocompleteProvider::TYPE_ZERO_SUGGEST,
- client,
- template_url_service),
+ZeroSuggestProvider::ZeroSuggestProvider(AutocompleteProviderClient* client,
+ AutocompleteProviderListener* listener)
+ : BaseSearchProvider(AutocompleteProvider::TYPE_ZERO_SUGGEST, client),
listener_(listener),
- profile_(profile),
results_from_cache_(false),
waiting_for_most_visited_urls_request_(false),
weak_ptr_factory_(this) {
@@ -211,16 +196,16 @@ ZeroSuggestProvider::~ZeroSuggestProvider() {
const TemplateURL* ZeroSuggestProvider::GetTemplateURL(bool is_keyword) const {
// Zero suggest provider should not receive keyword results.
DCHECK(!is_keyword);
- return template_url_service_->GetDefaultSearchProvider();
+ return client()->GetTemplateURLService()->GetDefaultSearchProvider();
}
const AutocompleteInput ZeroSuggestProvider::GetInput(bool is_keyword) const {
// The callers of this method won't look at the AutocompleteInput's
// |from_omnibox_focus| member, so we can set its value to false.
- return AutocompleteInput(
- base::string16(), base::string16::npos, std::string(),
- GURL(current_query_), current_page_classification_, true, false, false,
- true, false, ChromeAutocompleteSchemeClassifier(profile_));
+ return AutocompleteInput(base::string16(), base::string16::npos,
+ std::string(), GURL(current_query_),
+ current_page_classification_, true, false, false,
+ true, false, client()->GetSchemeClassifier());
}
bool ZeroSuggestProvider::ShouldAppendExtraParams(
@@ -269,7 +254,8 @@ bool ZeroSuggestProvider::StoreSuggestionResponse(
if (!OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial() ||
json_data.empty())
return false;
- profile_->GetPrefs()->SetString(prefs::kZeroSuggestCachedResults, json_data);
+ client()->GetPrefs()->SetString(omnibox::kZeroSuggestCachedResults,
+ json_data);
// If we received an empty result list, we should update the display, as it
// may be showing cached results that should not be shown.
@@ -301,13 +287,12 @@ AutocompleteMatch ZeroSuggestProvider::NavigationToMatch(
match.destination_url = navigation.url();
// Zero suggest results should always omit protocols and never appear bold.
- const std::string languages(
- profile_->GetPrefs()->GetString(prefs::kAcceptLanguages));
+ const std::string languages(client()->GetAcceptLanguages());
match.contents = net::FormatUrl(navigation.url(), languages,
net::kFormatUrlOmitAll, net::UnescapeRule::SPACES, NULL, NULL, NULL);
match.fill_into_edit +=
- AutocompleteInput::FormattedStringWithEquivalentMeaning(navigation.url(),
- match.contents, ChromeAutocompleteSchemeClassifier(profile_));
+ AutocompleteInput::FormattedStringWithEquivalentMeaning(
+ navigation.url(), match.contents, client()->GetSchemeClassifier());
AutocompleteMatch::ClassifyLocationInString(base::string16::npos, 0,
match.contents.length(), ACMatchClassification::URL,
@@ -324,8 +309,7 @@ AutocompleteMatch ZeroSuggestProvider::NavigationToMatch(
void ZeroSuggestProvider::Run(const GURL& suggest_url) {
if (OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()) {
most_visited_urls_.clear();
- scoped_refptr<history::TopSites> ts =
- TopSitesFactory::GetForProfile(profile_);
+ scoped_refptr<history::TopSites> ts = client()->GetTopSites();
if (ts) {
waiting_for_most_visited_urls_request_ = true;
ts->GetMostVisitedURLs(
@@ -336,12 +320,12 @@ void ZeroSuggestProvider::Run(const GURL& suggest_url) {
const int kFetcherID = 1;
fetcher_ = net::URLFetcher::Create(kFetcherID, suggest_url,
net::URLFetcher::GET, this);
- fetcher_->SetRequestContext(profile_->GetRequestContext());
+ fetcher_->SetRequestContext(client()->GetRequestContext());
fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES);
// Add Chrome experiment state to the request headers.
net::HttpRequestHeaders headers;
variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders(
- fetcher_->GetOriginalURL(), profile_->IsOffTheRecord(), false,
+ fetcher_->GetOriginalURL(), client()->IsOffTheRecord(), false,
&headers);
fetcher_->SetExtraRequestHeaders(headers.ToString());
fetcher_->Start();
@@ -362,11 +346,13 @@ void ZeroSuggestProvider::OnMostVisitedUrlsAvailable(
void ZeroSuggestProvider::ConvertResultsToAutocompleteMatches() {
matches_.clear();
+ TemplateURLService* template_url_service = client()->GetTemplateURLService();
const TemplateURL* default_provider =
- template_url_service_->GetDefaultSearchProvider();
+ template_url_service->GetDefaultSearchProvider();
// Fail if we can't set the clickthrough URL for query suggestions.
- if (default_provider == NULL || !default_provider->SupportsReplacement(
- template_url_service_->search_terms_data()))
+ if (default_provider == NULL ||
+ !default_provider->SupportsReplacement(
+ template_url_service->search_terms_data()))
return;
MatchMap map;
@@ -392,12 +378,11 @@ void ZeroSuggestProvider::ConvertResultsToAutocompleteMatches() {
}
const base::string16 current_query_string16(
base::ASCIIToUTF16(current_query_));
- const std::string languages(
- profile_->GetPrefs()->GetString(prefs::kAcceptLanguages));
+ const std::string languages(client()->GetAcceptLanguages());
for (size_t i = 0; i < most_visited_urls_.size(); i++) {
const history::MostVisitedURL& url = most_visited_urls_[i];
SearchSuggestionParser::NavigationResult nav(
- ChromeAutocompleteSchemeClassifier(profile_), url.url,
+ client()->GetSchemeClassifier(), url.url,
AutocompleteMatchType::NAVSUGGEST, url.title, std::string(), false,
relevance, true, current_query_string16, languages);
matches_.push_back(NavigationToMatch(nav));
@@ -425,7 +410,7 @@ void ZeroSuggestProvider::ConvertResultsToAutocompleteMatches() {
AutocompleteMatch ZeroSuggestProvider::MatchForCurrentURL() {
AutocompleteMatch match;
- AutocompleteClassifierFactory::GetForProfile(profile_)->Classify(
+ client()->GetAutocompleteClassifier()->Classify(
permanent_text_, false, true, current_page_classification_, &match, NULL);
match.allowed_to_be_default_match = true;
@@ -445,10 +430,12 @@ int ZeroSuggestProvider::GetVerbatimRelevance() const {
bool ZeroSuggestProvider::ShouldShowNonContextualZeroSuggest(
const GURL& suggest_url,
const GURL& current_page_url) const {
+ const TemplateURLService* template_url_service =
+ client()->GetTemplateURLService();
if (!ZeroSuggestEnabled(suggest_url,
- template_url_service_->GetDefaultSearchProvider(),
+ template_url_service->GetDefaultSearchProvider(),
current_page_classification_,
- template_url_service_->search_terms_data(), client_))
+ template_url_service->search_terms_data(), client()))
return false;
// If we cannot send URLs, then only the MostVisited and Personalized
@@ -467,8 +454,9 @@ bool ZeroSuggestProvider::ShouldShowNonContextualZeroSuggest(
return false;
if (OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial() &&
- template_url_service_->
- IsSearchResultsPageFromDefaultSearchProvider(current_page_url))
+ client()
+ ->GetTemplateURLService()
+ ->IsSearchResultsPageFromDefaultSearchProvider(current_page_url))
return false;
return true;
@@ -478,8 +466,8 @@ void ZeroSuggestProvider::MaybeUseCachedSuggestions() {
if (!OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial())
return;
- std::string json_data = profile_->GetPrefs()->GetString(
- prefs::kZeroSuggestCachedResults);
+ std::string json_data =
+ client()->GetPrefs()->GetString(omnibox::kZeroSuggestCachedResults);
if (!json_data.empty()) {
scoped_ptr<base::Value> data(
SearchSuggestionParser::DeserializeJsonData(json_data));
diff --git a/chrome/browser/autocomplete/zero_suggest_provider.h b/chrome/browser/autocomplete/zero_suggest_provider.h
index af53895..481b04e1 100644
--- a/chrome/browser/autocomplete/zero_suggest_provider.h
+++ b/chrome/browser/autocomplete/zero_suggest_provider.h
@@ -19,8 +19,6 @@
#include "net/url_request/url_fetcher_delegate.h"
class AutocompleteProviderListener;
-class Profile;
-class TemplateURLService;
namespace base {
class ListValue;
@@ -50,9 +48,7 @@ class ZeroSuggestProvider : public BaseSearchProvider,
public:
// Creates and returns an instance of this provider.
static ZeroSuggestProvider* Create(AutocompleteProviderClient* client,
- AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
- Profile* profile);
+ AutocompleteProviderListener* listener);
// Registers a preference used to cache zero suggest results.
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
@@ -69,9 +65,7 @@ class ZeroSuggestProvider : public BaseSearchProvider,
private:
ZeroSuggestProvider(AutocompleteProviderClient* client,
- AutocompleteProviderListener* listener,
- TemplateURLService* template_url_service,
- Profile* profile);
+ AutocompleteProviderListener* listener);
~ZeroSuggestProvider() override;
@@ -133,7 +127,6 @@ class ZeroSuggestProvider : public BaseSearchProvider,
void MaybeUseCachedSuggestions();
AutocompleteProviderListener* listener_;
- Profile* profile_;
// The URL for which a suggestion fetch is pending.
std::string current_query_;
diff --git a/chrome/browser/autocomplete/zero_suggest_provider_unittest.cc b/chrome/browser/autocomplete/zero_suggest_provider_unittest.cc
index 4b965a0d..d00670e 100644
--- a/chrome/browser/autocomplete/zero_suggest_provider_unittest.cc
+++ b/chrome/browser/autocomplete/zero_suggest_provider_unittest.cc
@@ -19,6 +19,7 @@
#include "components/metrics/proto/omnibox_event.pb.h"
#include "components/omnibox/autocomplete_provider_listener.h"
#include "components/omnibox/omnibox_field_trial.h"
+#include "components/omnibox/omnibox_pref_names.h"
#include "components/search_engines/template_url.h"
#include "components/search_engines/template_url_service.h"
#include "components/variations/entropy_provider.h"
@@ -180,8 +181,7 @@ void ZeroSuggestProviderTest::SetUp() {
TopSitesFactory* top_sites_factory = TopSitesFactory::GetInstance();
top_sites_factory->SetTestingFactory(&profile_, BuildFakeEmptyTopSites);
- provider_ =
- ZeroSuggestProvider::Create(client_.get(), this, turl_model, &profile_);
+ provider_ = ZeroSuggestProvider::Create(client_.get(), this);
}
void ZeroSuggestProviderTest::TearDown() {
@@ -237,7 +237,7 @@ TEST_F(ZeroSuggestProviderTest, TestDoesNotReturnMatchesForPrefix) {
"[],[],{\"google:suggestrelevance\":[602, 601, 600],"
"\"google:verbatimrelevance\":1300}]");
PrefService* prefs = profile_.GetPrefs();
- prefs->SetString(prefs::kZeroSuggestCachedResults, json_response);
+ prefs->SetString(omnibox::kZeroSuggestCachedResults, json_response);
provider_->Start(input, false);
@@ -322,7 +322,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRun) {
// Ensure the cache is empty.
PrefService* prefs = profile_.GetPrefs();
- prefs->SetString(prefs::kZeroSuggestCachedResults, std::string());
+ prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string());
std::string url("http://www.cnn.com/");
AutocompleteInput input(
@@ -332,7 +332,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRun) {
provider_->Start(input, false);
- EXPECT_TRUE(prefs->GetString(prefs::kZeroSuggestCachedResults).empty());
+ EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty());
EXPECT_TRUE(provider_->matches().empty());
net::TestURLFetcher* fetcher = test_factory_.GetFetcherByID(1);
@@ -347,7 +347,8 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRun) {
base::RunLoop().RunUntilIdle();
EXPECT_EQ(4U, provider_->matches().size()); // 3 results + verbatim
- EXPECT_EQ(json_response, prefs->GetString(prefs::kZeroSuggestCachedResults));
+ EXPECT_EQ(json_response,
+ prefs->GetString(omnibox::kZeroSuggestCachedResults));
}
TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResults) {
@@ -364,7 +365,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResults) {
"[],[],{\"google:suggestrelevance\":[602, 601, 600],"
"\"google:verbatimrelevance\":1300}]");
PrefService* prefs = profile_.GetPrefs();
- prefs->SetString(prefs::kZeroSuggestCachedResults, json_response);
+ prefs->SetString(omnibox::kZeroSuggestCachedResults, json_response);
provider_->Start(input, false);
@@ -393,7 +394,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResults) {
// Expect the new results have been stored.
EXPECT_EQ(json_response2,
- prefs->GetString(prefs::kZeroSuggestCachedResults));
+ prefs->GetString(omnibox::kZeroSuggestCachedResults));
}
TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestReceivedEmptyResults) {
@@ -410,7 +411,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestReceivedEmptyResults) {
"[],[],{\"google:suggestrelevance\":[602, 601, 600],"
"\"google:verbatimrelevance\":1300}]");
PrefService* prefs = profile_.GetPrefs();
- prefs->SetString(prefs::kZeroSuggestCachedResults, json_response);
+ prefs->SetString(omnibox::kZeroSuggestCachedResults, json_response);
provider_->Start(input, false);
@@ -434,5 +435,5 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestReceivedEmptyResults) {
// Expect the new results have been stored.
EXPECT_EQ(empty_response,
- prefs->GetString(prefs::kZeroSuggestCachedResults));
+ prefs->GetString(omnibox::kZeroSuggestCachedResults));
}