Chromium Code Reviews| Index: chrome/browser/autocomplete/search_provider.cc |
| diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc |
| index 8bd2c9f2a0b88abb6363c7e3f40a9cf0511330f2..5c6f08ccfe9f5caa9835a1f0e7543739a12c3dab 100644 |
| --- a/chrome/browser/autocomplete/search_provider.cc |
| +++ b/chrome/browser/autocomplete/search_provider.cc |
| @@ -293,12 +293,14 @@ void SearchProvider::Run() { |
| const TemplateURL* default_url = providers_.GetDefaultProviderURL(); |
| if (default_url && !default_url->suggestions_url().empty()) { |
| suggest_results_pending_++; |
| + LogOmniboxSuggestRequest(REQUEST_SENT); |
| default_fetcher_.reset(CreateSuggestFetcher(kDefaultProviderURLFetcherID, |
| default_url->suggestions_url_ref(), input_.text())); |
| } |
| const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); |
| if (keyword_url && !keyword_url->suggestions_url().empty()) { |
| suggest_results_pending_++; |
| + LogOmniboxSuggestRequest(REQUEST_SENT); |
| keyword_fetcher_.reset(CreateSuggestFetcher(kKeywordProviderURLFetcherID, |
| keyword_url->suggestions_url_ref(), keyword_input_text_)); |
| } |
| @@ -332,6 +334,7 @@ void SearchProvider::AddProviderInfo(ProvidersInfo* provider_info) const { |
| void SearchProvider::OnURLFetchComplete(const net::URLFetcher* source) { |
| DCHECK(!done_); |
| suggest_results_pending_--; |
| + LogOmniboxSuggestRequest(REPLY_RECEIVED); |
| DCHECK_GE(suggest_results_pending_, 0); // Should never go negative. |
| const net::HttpResponseHeaders* const response_headers = |
| source->GetResponseHeaders(); |
| @@ -549,6 +552,10 @@ bool SearchProvider::IsQuerySuitableForSuggest() const { |
| } |
| void SearchProvider::StopSuggest() { |
| + // Increment the appropriate field in the histogram by the number of |
| + // pending requests that were invalidated. |
| + for (int i = 0; i < suggest_results_pending_; i++) |
| + LogOmniboxSuggestRequest(REQUEST_INVALIDATED); |
| suggest_results_pending_ = 0; |
| timer_.Stop(); |
| // Stop any in-progress URL fetches. |
| @@ -1219,3 +1226,10 @@ void SearchProvider::UpdateDone() { |
| done_ = ((suggest_results_pending_ == 0) && |
| (instant_finalized_ || !InstantController::IsEnabled(profile_))); |
| } |
| + |
| +// static |
| +void SearchProvider::LogOmniboxSuggestRequest( |
| + const SuggestRequestsHistogramValue request_value) { |
| + UMA_HISTOGRAM_ENUMERATION("Omnibox.SuggestRequests", request_value, |
| + MAX_SUGGEST_REQUEST_HISTOGRAM_VALUE); |
|
Ilya Sherman
2012/08/15 23:17:37
Optional nit: I think it would be slightly cleaner
Mark P
2012/08/15 23:28:30
Done.
|
| +} |