diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-16 23:41:19 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-16 23:41:19 +0000 |
commit | ce7ee5f6e568397596b14bc6e5a0108f431a5999 (patch) | |
tree | 2ea50804ecc0b0c9b102ee00babb2a62eab3c01a /chrome/browser/autocomplete | |
parent | 095ebc0296c06705c7e76a008cffd3d824ad83bd (diff) | |
download | chromium_src-ce7ee5f6e568397596b14bc6e5a0108f431a5999.zip chromium_src-ce7ee5f6e568397596b14bc6e5a0108f431a5999.tar.gz chromium_src-ce7ee5f6e568397596b14bc6e5a0108f431a5999.tar.bz2 |
Stop using UIThreadSearchTermsData in TemplateURL
Pass SearchTermsData for TemplateURL methods.
Add TemplateURLService::search_terms_data().
Remove unused function GetLogoURL() from template_url_prepopulate_data.cc
Fix callers to pass SearchTermsData owned by TemplateURLService or create UIThreadSearchTermsData from Profile.
BUG=383283
TEST=git cl try
TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/326403007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277577 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete')
11 files changed, 91 insertions, 43 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_controller.cc b/chrome/browser/autocomplete/autocomplete_controller.cc index 09a82bd..79ba6b8 100644 --- a/chrome/browser/autocomplete/autocomplete_controller.cc +++ b/chrome/browser/autocomplete/autocomplete_controller.cc @@ -28,6 +28,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/search/search.h" #include "chrome/browser/search_engines/template_url.h" +#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "content/public/browser/notification_service.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" @@ -420,8 +421,8 @@ void AutocompleteController::UpdateMatchDestinationURL( (zero_suggest_provider_ && zero_suggest_provider_->field_trial_triggered_in_session()), input_.current_page_classification()); - match->destination_url = - GURL(template_url->url_ref().ReplaceSearchTerms(search_terms_args)); + match->destination_url = GURL(template_url->url_ref().ReplaceSearchTerms( + search_terms_args, UIThreadSearchTermsData(profile_))); } void AutocompleteController::UpdateResult( @@ -608,7 +609,7 @@ void AutocompleteController::UpdateAssistedQueryStats( selected_index.c_str(), autocompletions.c_str()); match->destination_url = GURL(template_url->url_ref().ReplaceSearchTerms( - *match->search_terms_args)); + *match->search_terms_args, UIThreadSearchTermsData(profile_))); } } diff --git a/chrome/browser/autocomplete/autocomplete_match.cc b/chrome/browser/autocomplete/autocomplete_match.cc index 0d101c8..59365b7 100644 --- a/chrome/browser/autocomplete/autocomplete_match.cc +++ b/chrome/browser/autocomplete/autocomplete_match.cc @@ -15,6 +15,7 @@ #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_service.h" #include "chrome/browser/search_engines/template_url_service_factory.h" +#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "content/public/common/url_constants.h" #include "grit/theme_resources.h" @@ -355,13 +356,17 @@ void AutocompleteMatch::ComputeStrippedDestinationURL(Profile* profile) { // by some obscure query param from each other or from the search/keyword // provider matches. TemplateURL* template_url = GetTemplateURL(profile, true); - if (template_url != NULL && template_url->SupportsReplacement()) { + UIThreadSearchTermsData search_terms_data(profile); + if (template_url != NULL && + template_url->SupportsReplacement(search_terms_data)) { base::string16 search_terms; if (template_url->ExtractSearchTermsFromURL(stripped_destination_url, + search_terms_data, &search_terms)) { stripped_destination_url = GURL(template_url->url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(search_terms))); + TemplateURLRef::SearchTermsArgs(search_terms), + search_terms_data)); } } @@ -407,7 +412,9 @@ base::string16 AutocompleteMatch::GetSubstitutingExplicitlyInvokedKeyword( if (transition != content::PAGE_TRANSITION_KEYWORD) return base::string16(); const TemplateURL* t_url = GetTemplateURL(profile, false); - return (t_url && t_url->SupportsReplacement()) ? keyword : base::string16(); + return (t_url && + t_url->SupportsReplacement(UIThreadSearchTermsData(profile))) ? + keyword : base::string16(); } TemplateURL* AutocompleteMatch::GetTemplateURL( diff --git a/chrome/browser/autocomplete/base_search_provider.cc b/chrome/browser/autocomplete/base_search_provider.cc index 8582636..375cc821 100644 --- a/chrome/browser/autocomplete/base_search_provider.cc +++ b/chrome/browser/autocomplete/base_search_provider.cc @@ -25,6 +25,7 @@ #include "chrome/browser/search_engines/template_url_prepopulate_data.h" #include "chrome/browser/search_engines/template_url_service.h" #include "chrome/browser/search_engines/template_url_service_factory.h" +#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "chrome/browser/sync/profile_sync_service.h" #include "chrome/browser/sync/profile_sync_service_factory.h" #include "chrome/common/pref_names.h" @@ -140,13 +141,14 @@ AutocompleteMatch BaseSearchProvider::CreateSearchSuggestion( const base::string16& suggestion, AutocompleteMatchType::Type type, bool from_keyword_provider, - const TemplateURL* template_url) { + const TemplateURL* template_url, + const SearchTermsData& search_terms_data) { return CreateSearchSuggestion( NULL, AutocompleteInput(), BaseSearchProvider::SuggestResult( suggestion, type, suggestion, base::string16(), base::string16(), base::string16(), base::string16(), std::string(), std::string(), from_keyword_provider, 0, false, false, base::string16()), - template_url, 0, 0, false, false); + template_url, search_terms_data, 0, 0, false, false); } void BaseSearchProvider::Stop(bool clear_cached_results) { @@ -482,6 +484,7 @@ AutocompleteMatch BaseSearchProvider::CreateSearchSuggestion( const AutocompleteInput& input, const SuggestResult& suggestion, const TemplateURL* template_url, + const SearchTermsData& search_terms_data, int accepted_suggestion, int omnibox_start_margin, bool append_extra_query_params, @@ -532,7 +535,7 @@ AutocompleteMatch BaseSearchProvider::CreateSearchSuggestion( match.fill_into_edit.append(suggestion.suggestion()); const TemplateURLRef& search_url = template_url->url_ref(); - DCHECK(search_url.SupportsReplacement()); + DCHECK(search_url.SupportsReplacement(search_terms_data)); match.search_terms_args.reset( new TemplateURLRef::SearchTermsArgs(suggestion.suggestion())); match.search_terms_args->original_query = input.text(); @@ -547,7 +550,8 @@ AutocompleteMatch BaseSearchProvider::CreateSearchSuggestion( // so the AutocompleteController can properly de-dupe; the controller will // eventually overwrite it before it reaches the user. match.destination_url = - GURL(search_url.ReplaceSearchTerms(*match.search_terms_args.get())); + GURL(search_url.ReplaceSearchTerms(*match.search_terms_args.get(), + search_terms_data)); // Search results don't look like URLs. match.transition = suggestion.from_keyword_provider() ? @@ -611,9 +615,11 @@ bool BaseSearchProvider::ZeroSuggestEnabled( // Only make the request if we know that the provider supports zero suggest // (currently only the prepopulated Google provider). - if (template_url == NULL || !template_url->SupportsReplacement() || - TemplateURLPrepopulateData::GetEngineType(*template_url) != - SEARCH_ENGINE_GOOGLE) + UIThreadSearchTermsData search_terms_data(profile); + if (template_url == NULL || + !template_url->SupportsReplacement(search_terms_data) || + TemplateURLPrepopulateData::GetEngineType( + *template_url, search_terms_data) != SEARCH_ENGINE_GOOGLE) return false; return true; @@ -719,7 +725,8 @@ void BaseSearchProvider::AddMatchToMap(const SuggestResult& result, AutocompleteMatch match = CreateSearchSuggestion( this, GetInput(result.from_keyword_provider()), result, - GetTemplateURL(result.from_keyword_provider()), accepted_suggestion, + GetTemplateURL(result.from_keyword_provider()), + UIThreadSearchTermsData(profile_), accepted_suggestion, omnibox_start_margin, ShouldAppendExtraParams(result), in_app_list_); if (!match.destination_url.is_valid()) diff --git a/chrome/browser/autocomplete/base_search_provider.h b/chrome/browser/autocomplete/base_search_provider.h index 33ea124a..3072d02 100644 --- a/chrome/browser/autocomplete/base_search_provider.h +++ b/chrome/browser/autocomplete/base_search_provider.h @@ -62,7 +62,8 @@ class BaseSearchProvider : public AutocompleteProvider, const base::string16& suggestion, AutocompleteMatchType::Type type, bool from_keyword_provider, - const TemplateURL* template_url); + const TemplateURL* template_url, + const SearchTermsData& search_terms_data); // AutocompleteProvider: virtual void Stop(bool clear_cached_results) OVERRIDE; @@ -352,6 +353,7 @@ class BaseSearchProvider : public AutocompleteProvider, const AutocompleteInput& input, const SuggestResult& suggestion, const TemplateURL* template_url, + const SearchTermsData& search_terms_data, int accepted_suggestion, int omnibox_start_margin, bool append_extra_query_params, diff --git a/chrome/browser/autocomplete/history_quick_provider.cc b/chrome/browser/autocomplete/history_quick_provider.cc index b6d89b6..fb227a7 100644 --- a/chrome/browser/autocomplete/history_quick_provider.cc +++ b/chrome/browser/autocomplete/history_quick_provider.cc @@ -214,7 +214,8 @@ void HistoryQuickProvider::DoAutocomplete() { // These are low-quality, difficult-to-understand matches for users, and the // SearchProvider should surface past queries in a better way anyway. if (!template_url || - !template_url->IsSearchURL(history_match.url_info.url())) { + !template_url->IsSearchURL(history_match.url_info.url(), + template_url_service->search_terms_data())) { // Set max_match_score to the score we'll assign this result: max_match_score = std::min(max_match_score, history_match.raw_score()); matches_.push_back(QuickMatchToACMatch(history_match, max_match_score)); diff --git a/chrome/browser/autocomplete/history_url_provider.cc b/chrome/browser/autocomplete/history_url_provider.cc index 64322cb..d4dc216 100644 --- a/chrome/browser/autocomplete/history_url_provider.cc +++ b/chrome/browser/autocomplete/history_url_provider.cc @@ -1038,7 +1038,7 @@ void HistoryURLProvider::CullPoorMatches( i != matches->end(); ) { if (RowQualifiesAsSignificant(i->url_info, threshold) && !(params.default_search_provider && - params.default_search_provider->IsSearchURLUsingTermsData( + params.default_search_provider->IsSearchURL( i->url_info.url(), *params.search_terms_data.get()))) { ++i; } else { diff --git a/chrome/browser/autocomplete/keyword_provider.cc b/chrome/browser/autocomplete/keyword_provider.cc index 44e9354..8affa3f 100644 --- a/chrome/browser/autocomplete/keyword_provider.cc +++ b/chrome/browser/autocomplete/keyword_provider.cc @@ -148,7 +148,8 @@ const TemplateURL* KeywordProvider::GetSubstitutingTemplateURLForInput( DCHECK(model); const TemplateURL* template_url = model->GetTemplateURLForKeyword(keyword); - if (template_url && template_url->SupportsReplacement()) { + if (template_url && + template_url->SupportsReplacement(model->search_terms_data())) { // Adjust cursor position iff it was set before, otherwise leave it as is. size_t cursor_position = base::string16::npos; // The adjustment assumes that the keyword was stripped from the beginning @@ -192,7 +193,8 @@ base::string16 KeywordProvider::GetKeywordForText( // Don't provide a keyword if it doesn't support replacement. const TemplateURL* const template_url = url_service->GetTemplateURLForKeyword(keyword); - if (!template_url || !template_url->SupportsReplacement()) + if (!template_url || + !template_url->SupportsReplacement(url_service->search_terms_data())) return base::string16(); // Don't provide a keyword for inactive/disabled extension keywords. @@ -275,7 +277,9 @@ void KeywordProvider::Start(const AutocompleteInput& input, } // Prune any substituting keywords if there is no substitution. - if (template_url->SupportsReplacement() && remaining_input.empty() && + if (template_url->SupportsReplacement( + GetTemplateURLService()->search_terms_data()) && + remaining_input.empty() && !input.allow_exact_keyword_match()) { i = matches.erase(i); continue; @@ -383,7 +387,8 @@ AutocompleteMatch KeywordProvider::CreateAutocompleteMatch( int relevance) { DCHECK(template_url); const bool supports_replacement = - template_url->url_ref().SupportsReplacement(); + template_url->url_ref().SupportsReplacement( + GetTemplateURLService()->search_terms_data()); // Create an edit entry of "[keyword] [remaining input]". This is helpful // even when [remaining input] is empty, as the user can select the popup @@ -429,14 +434,15 @@ void KeywordProvider::FillInURLAndContents( AutocompleteMatch* match) const { DCHECK(!element->short_name().empty()); const TemplateURLRef& element_ref = element->url_ref(); - DCHECK(element_ref.IsValid()); + DCHECK(element_ref.IsValid(GetTemplateURLService()->search_terms_data())); int message_id = (element->GetType() == TemplateURL::OMNIBOX_API_EXTENSION) ? IDS_EXTENSION_KEYWORD_COMMAND : IDS_KEYWORD_SEARCH; if (remaining_input.empty()) { // Allow extension keyword providers to accept empty string input. This is // useful to allow extensions to do something in the case where no input is // entered. - if (element_ref.SupportsReplacement() && + if (element_ref.SupportsReplacement( + GetTemplateURLService()->search_terms_data()) && (element->GetType() != TemplateURL::OMNIBOX_API_EXTENSION)) { // No query input; return a generic, no-destination placeholder. match->contents.assign( @@ -458,12 +464,13 @@ void KeywordProvider::FillInURLAndContents( // keyword template URL. The escaping here handles whitespace in user // input, but we rely on later canonicalization functions to do more // fixup to make the URL valid if necessary. - DCHECK(element_ref.SupportsReplacement()); + DCHECK(element_ref.SupportsReplacement( + GetTemplateURLService()->search_terms_data())); TemplateURLRef::SearchTermsArgs search_terms_args(remaining_input); search_terms_args.append_extra_query_params = element == GetTemplateURLService()->GetDefaultSearchProvider(); - match->destination_url = - GURL(element_ref.ReplaceSearchTerms(search_terms_args)); + match->destination_url = GURL(element_ref.ReplaceSearchTerms( + search_terms_args, GetTemplateURLService()->search_terms_data())); std::vector<size_t> content_param_offsets; match->contents.assign(l10n_util::GetStringFUTF16(message_id, element->short_name(), diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc index 164d730..75b4b0a 100644 --- a/chrome/browser/autocomplete/search_provider.cc +++ b/chrome/browser/autocomplete/search_provider.cc @@ -207,7 +207,8 @@ void SearchProvider::Start(const AutocompleteInput& input, keyword_provider = NULL; const TemplateURL* default_provider = model->GetDefaultSearchProvider(); - if (default_provider && !default_provider->SupportsReplacement()) + if (default_provider && + !default_provider->SupportsReplacement(model->search_terms_data())) default_provider = NULL; if (keyword_provider == default_provider) @@ -343,7 +344,9 @@ void SearchProvider::LogFetchComplete(bool success, bool is_keyword) { // non-keyword mode. const TemplateURL* default_url = providers_.GetDefaultProviderURL(); if (!is_keyword && default_url && - (TemplateURLPrepopulateData::GetEngineType(*default_url) == + (TemplateURLPrepopulateData::GetEngineType( + *default_url, + providers_.template_url_service()->search_terms_data()) == SEARCH_ENGINE_GOOGLE)) { const base::TimeDelta elapsed_time = base::TimeTicks::Now() - time_suggest_request_sent_; @@ -648,7 +651,8 @@ net::URLFetcher* SearchProvider::CreateSuggestFetcher( switches::kEnableAnswersInSuggest)) search_term_args.session_token = GetSessionToken(); GURL suggest_url(template_url->suggestions_url_ref().ReplaceSearchTerms( - search_term_args)); + search_term_args, + providers_.template_url_service()->search_terms_data())); if (!suggest_url.is_valid()) return NULL; // Send the current page URL if user setting and URL requirements are met and @@ -659,7 +663,8 @@ net::URLFetcher* SearchProvider::CreateSuggestFetcher( search_term_args.current_page_url = current_page_url_.spec(); // Create the suggest URL again with the current page URL. suggest_url = GURL(template_url->suggestions_url_ref().ReplaceSearchTerms( - search_term_args)); + search_term_args, + providers_.template_url_service()->search_terms_data())); } suggest_results_pending_++; diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc index 317c74b..a27ba46 100644 --- a/chrome/browser/autocomplete/search_provider_unittest.cc +++ b/chrome/browser/autocomplete/search_provider_unittest.cc @@ -362,10 +362,12 @@ void SearchProviderTest::QueryForInputAndSetWYTMatch( if (!wyt_match) return; ASSERT_GE(provider_->matches().size(), 1u); - EXPECT_TRUE(FindMatchWithDestination(GURL( - default_t_url_->url_ref().ReplaceSearchTerms( + EXPECT_TRUE(FindMatchWithDestination( + GURL(default_t_url_->url_ref().ReplaceSearchTerms( TemplateURLRef::SearchTermsArgs(base::CollapseWhitespace( - text, false)))), + text, false)), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())), wyt_match)); } @@ -376,7 +378,9 @@ GURL SearchProviderTest::AddSearchToHistory(TemplateURL* t_url, HistoryServiceFactory::GetForProfile(&profile_, Profile::EXPLICIT_ACCESS); GURL search(t_url->url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(term))); + TemplateURLRef::SearchTermsArgs(term), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())); static base::Time last_added_time; last_added_time = std::max(base::Time::Now(), last_added_time + base::TimeDelta::FromMicroseconds(1)); @@ -481,7 +485,9 @@ TEST_F(SearchProviderTest, QueryDefaultProvider) { // And the URL matches what we expected. GURL expected_url(default_t_url_->suggestions_url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(term))); + TemplateURLRef::SearchTermsArgs(term), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())); ASSERT_TRUE(fetcher->GetOriginalURL() == expected_url); // Tell the SearchProvider the suggest query is done. @@ -502,7 +508,10 @@ TEST_F(SearchProviderTest, QueryDefaultProvider) { AutocompleteMatch wyt_match; EXPECT_TRUE(FindMatchWithDestination( GURL(default_t_url_->url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(term))), &wyt_match)); + TemplateURLRef::SearchTermsArgs(term), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())), + &wyt_match)); EXPECT_TRUE(wyt_match.description.empty()); // The match for term1 should be more relevant than the what you typed match. @@ -548,7 +557,9 @@ TEST_F(SearchProviderTest, QueryKeywordProvider) { // And the URL matches what we expected. GURL expected_url(keyword_t_url_->suggestions_url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(term))); + TemplateURLRef::SearchTermsArgs(term), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())); ASSERT_TRUE(keyword_fetcher->GetOriginalURL() == expected_url); // Tell the SearchProvider the keyword suggest query is done. @@ -747,7 +758,9 @@ TEST_F(SearchProviderTest, AutocompleteMultipleVisitsImmediately) { TEST_F(SearchProviderTest, AutocompleteAfterSpace) { AddSearchToHistory(default_t_url_, ASCIIToUTF16("two searches "), 2); GURL suggested_url(default_t_url_->url_ref().ReplaceSearchTerms( - TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("two searches")))); + TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("two searches")), + TemplateURLServiceFactory::GetForProfile( + &profile_)->search_terms_data())); profile_.BlockUntilHistoryProcessesPendingRequests(); AutocompleteMatch wyt_match; @@ -3134,7 +3147,7 @@ TEST_F(SearchProviderTest, SuggestQueryUsesToken) { TemplateURLRef::SearchTermsArgs search_terms_args(term); search_terms_args.session_token = provider_->current_token_; GURL expected_url(default_t_url_->suggestions_url_ref().ReplaceSearchTerms( - search_terms_args)); + search_terms_args, turl_model->search_terms_data())); EXPECT_EQ(fetcher->GetOriginalURL().spec(), expected_url.spec()); // Complete running the fetcher to clean up. diff --git a/chrome/browser/autocomplete/shortcuts_backend.cc b/chrome/browser/autocomplete/shortcuts_backend.cc index 15e8bba..3dc95a6 100644 --- a/chrome/browser/autocomplete/shortcuts_backend.cc +++ b/chrome/browser/autocomplete/shortcuts_backend.cc @@ -23,6 +23,7 @@ #include "chrome/browser/history/shortcuts_database.h" #include "chrome/browser/omnibox/omnibox_log.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "chrome/common/autocomplete_match_type.h" #include "chrome/common/chrome_constants.h" #include "content/public/browser/browser_thread.h" @@ -147,7 +148,8 @@ history::ShortcutsDatabase::Shortcut::MatchCore BaseSearchProvider::CreateSearchSuggestion( match.search_terms_args->search_terms, match_type, (match.transition == content::PAGE_TRANSITION_KEYWORD), - match.GetTemplateURL(profile, false)) : + match.GetTemplateURL(profile, false), + UIThreadSearchTermsData(profile)) : match; return history::ShortcutsDatabase::Shortcut::MatchCore( normalized_match.fill_into_edit, normalized_match.destination_url, diff --git a/chrome/browser/autocomplete/zero_suggest_provider.cc b/chrome/browser/autocomplete/zero_suggest_provider.cc index c4d5718..1fc5434 100644 --- a/chrome/browser/autocomplete/zero_suggest_provider.cc +++ b/chrome/browser/autocomplete/zero_suggest_provider.cc @@ -113,7 +113,7 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input, base::string16 prefix; TemplateURLRef::SearchTermsArgs search_term_args(prefix); GURL suggest_url(default_provider->suggestions_url_ref().ReplaceSearchTerms( - search_term_args)); + search_term_args, template_url_service_->search_terms_data())); if (!suggest_url.is_valid()) return; @@ -124,7 +124,9 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input, // 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)); + ReplaceSearchTerms( + search_term_args, + template_url_service_->search_terms_data())); } else if (!CanShowZeroSuggestWithoutSendingURL(suggest_url, input.current_url())) { return; @@ -344,7 +346,8 @@ void ZeroSuggestProvider::ConvertResultsToAutocompleteMatches() { const TemplateURL* default_provider = template_url_service_->GetDefaultSearchProvider(); // Fail if we can't set the clickthrough URL for query suggestions. - if (default_provider == NULL || !default_provider->SupportsReplacement()) + if (default_provider == NULL || !default_provider->SupportsReplacement( + template_url_service_->search_terms_data())) return; MatchMap map; |