Chromium Code Reviews| 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 44b5dc3ee6e6dec44d7154a36f4e301b00e64f67..255280a3d63650ce8f7211784231448bae64154b 100644 |
| --- a/chrome/browser/autocomplete/zero_suggest_provider.cc |
| +++ b/chrome/browser/autocomplete/zero_suggest_provider.cc |
| @@ -21,6 +21,7 @@ |
| #include "chrome/browser/autocomplete/history_url_provider.h" |
| #include "chrome/browser/history/top_sites.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/metrics/proto/omnibox_input_type.pb.h" |
| @@ -309,20 +310,6 @@ AutocompleteMatch ZeroSuggestProvider::NavigationToMatch( |
| } |
| void ZeroSuggestProvider::Run(const GURL& suggest_url) { |
| - const int kFetcherID = 1; |
| - fetcher_.reset( |
| - net::URLFetcher::Create(kFetcherID, |
| - suggest_url, |
| - net::URLFetcher::GET, this)); |
| - fetcher_->SetRequestContext(profile_->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, &headers); |
| - fetcher_->SetExtraRequestHeaders(headers.ToString()); |
| - fetcher_->Start(); |
| - |
| if (OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()) { |
| most_visited_urls_.clear(); |
| history::TopSites* ts = profile_->GetTopSites(); |
| @@ -331,6 +318,21 @@ void ZeroSuggestProvider::Run(const GURL& suggest_url) { |
| base::Bind(&ZeroSuggestProvider::OnMostVisitedUrlsAvailable, |
| weak_ptr_factory_.GetWeakPtr()), false); |
| } |
| + } else { |
| + const int kFetcherID = 1; |
| + fetcher_.reset( |
| + net::URLFetcher::Create(kFetcherID, |
| + suggest_url, |
| + net::URLFetcher::GET, this)); |
| + fetcher_->SetRequestContext(profile_->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, |
| + &headers); |
| + fetcher_->SetExtraRequestHeaders(headers.ToString()); |
| + fetcher_->Start(); |
| } |
| LogOmniboxZeroSuggestRequest(ZERO_SUGGEST_REQUEST_SENT); |
|
H Fung
2014/10/21 01:20:56
I would have thought there would be a flag to cont
Maria
2014/10/21 18:04:11
I could add a flag if you are still using MV varia
H Fung
2014/10/22 19:48:28
OK, I don't plan on running any more most visited
|
| } |
| @@ -338,6 +340,9 @@ void ZeroSuggestProvider::Run(const GURL& suggest_url) { |
| void ZeroSuggestProvider::OnMostVisitedUrlsAvailable( |
| const history::MostVisitedURLList& urls) { |
| most_visited_urls_ = urls; |
| + done_ = true; |
| + ConvertResultsToAutocompleteMatches(); |
| + listener_->OnProviderUpdate(true); |
| } |
| void ZeroSuggestProvider::ConvertResultsToAutocompleteMatches() { |
| @@ -449,6 +454,11 @@ bool ZeroSuggestProvider::CanShowZeroSuggestWithoutSendingURL( |
| (current_page_url.scheme() != url::kHttpsScheme))) |
| return false; |
| + if (OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial() && |
| + TemplateURLServiceFactory::GetForProfile(profile_)-> |
| + IsSearchResultsPageFromDefaultSearchProvider(current_page_url)) |
| + return false; |
| + |
| return true; |
| } |