Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3019)

Unified Diff: chrome/browser/autocomplete/zero_suggest_provider.cc

Issue 456843003: Remove protected virtual methods from BaseSearchProvider (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 7cc12e8a8f8a6fbbb230e2ab3e473b43b1247039..d45fcea5909db9edba05edbd009c62e33b1f3159 100644
--- a/chrome/browser/autocomplete/zero_suggest_provider.cc
+++ b/chrome/browser/autocomplete/zero_suggest_provider.cc
@@ -8,7 +8,6 @@
#include "base/i18n/case_conversion.h"
#include "base/json/json_string_value_serializer.h"
#include "base/metrics/histogram.h"
-#include "base/metrics/user_metrics.h"
#include "base/prefs/pref_service.h"
#include "base/strings/string16.h"
#include "base/strings/string_util.h"
@@ -57,6 +56,12 @@ enum ZeroSuggestRequestsHistogramValue {
ZERO_SUGGEST_MAX_REQUEST_HISTOGRAM_VALUE
};
+// User metrics action strings.
+const char kUserMetricsActionDeletionSuccess[] =
+ "Omnibox.ZeroSuggestDelete.Success";
+const char kUserMetricsActionDeletionFailure[] =
+ "Omnibox.ZeroSuggestDelete.Failure";
+
void LogOmniboxZeroSuggestRequest(
ZeroSuggestRequestsHistogramValue request_value) {
UMA_HISTOGRAM_ENUMERATION("Omnibox.ZeroSuggestRequests", request_value,
@@ -139,6 +144,23 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
Run(suggest_url);
}
+void ZeroSuggestProvider::Stop(bool clear_cached_results) {
+ if (fetcher_)
+ LogOmniboxZeroSuggestRequest(ZERO_SUGGEST_REQUEST_INVALIDATED);
+ fetcher_.reset();
+ done_ = true;
+
+ if (clear_cached_results) {
+ // We do not call Clear() on |results_| to retain |verbatim_relevance|
+ // value in the |results_| object. |verbatim_relevance| is used at the
+ // beginning of the next StartZeroSuggest() call to determine the current
+ // url match relevance.
+ results_.suggest_results.clear();
+ results_.navigation_results.clear();
+ current_query_.clear();
+ }
+}
+
void ZeroSuggestProvider::DeleteMatch(const AutocompleteMatch& match) {
if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial()) {
// Remove the deleted match from the cache, so it is not shown to the user
@@ -149,6 +171,12 @@ void ZeroSuggestProvider::DeleteMatch(const AutocompleteMatch& match) {
BaseSearchProvider::DeleteMatch(match);
}
+void ZeroSuggestProvider::AddProviderInfo(ProvidersInfo* provider_info) const {
+ BaseSearchProvider::AddProviderInfo(provider_info);
+ if (!results_.suggest_results.empty() || !results_.navigation_results.empty())
+ provider_info->back().set_times_returned_results_in_session(1);
+}
+
void ZeroSuggestProvider::ResetSession() {
// The user has started editing in the omnibox, so leave
// |field_trial_triggered_in_session_| unchanged and set
@@ -156,18 +184,15 @@ void ZeroSuggestProvider::ResetSession() {
field_trial_triggered_ = false;
}
-void ZeroSuggestProvider::ModifyProviderInfo(
- metrics::OmniboxEventProto_ProviderInfo* provider_info) const {
- if (!results_.suggest_results.empty() || !results_.navigation_results.empty())
- provider_info->set_times_returned_results_in_session(1);
-}
-
ZeroSuggestProvider::ZeroSuggestProvider(
AutocompleteProviderListener* listener,
TemplateURLService* template_url_service,
Profile* profile)
- : BaseSearchProvider(template_url_service, profile,
- AutocompleteProvider::TYPE_ZERO_SUGGEST),
+ : BaseSearchProvider(
+ template_url_service, profile,
+ base::UserMetricsAction(kUserMetricsActionDeletionSuccess),
+ base::UserMetricsAction(kUserMetricsActionDeletionFailure),
+ AutocompleteProvider::TYPE_ZERO_SUGGEST),
listener_(listener),
results_from_cache_(false),
weak_ptr_factory_(this) {
@@ -176,51 +201,6 @@ ZeroSuggestProvider::ZeroSuggestProvider(
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();
-}
-
-const AutocompleteInput ZeroSuggestProvider::GetInput(bool is_keyword) const {
- return AutocompleteInput(
- base::string16(), base::string16::npos, base::string16(),
- GURL(current_query_), current_page_classification_, true, false, false,
- true, ChromeAutocompleteSchemeClassifier(profile_));
-}
-
-bool ZeroSuggestProvider::ShouldAppendExtraParams(
- const SearchSuggestionParser::SuggestResult& result) const {
- // We always use the default provider for search, so append the params.
- return true;
-}
-
-void ZeroSuggestProvider::StopSuggest() {
- if (fetcher_)
- LogOmniboxZeroSuggestRequest(ZERO_SUGGEST_REQUEST_INVALIDATED);
- fetcher_.reset();
-}
-
-void ZeroSuggestProvider::ClearAllResults() {
- // We do not call Clear() on |results_| to retain |verbatim_relevance|
- // value in the |results_| object. |verbatim_relevance| is used at the
- // beginning of the next StartZeroSuggest() call to determine the current url
- // match relevance.
- results_.suggest_results.clear();
- results_.navigation_results.clear();
- current_query_.clear();
-}
-
-void ZeroSuggestProvider::RecordDeletionResult(bool success) {
- if (success) {
- base::RecordAction(
- base::UserMetricsAction("Omnibox.ZeroSuggestDelete.Success"));
- } else {
- base::RecordAction(
- base::UserMetricsAction("Omnibox.ZeroSuggestDelete.Failure"));
- }
-}
-
void ZeroSuggestProvider::OnURLFetchComplete(const net::URLFetcher* source) {
DCHECK(!done_);
DCHECK_EQ(fetcher_.get(), source);
@@ -236,7 +216,7 @@ void ZeroSuggestProvider::OnURLFetchComplete(const net::URLFetcher* source) {
if (StoreSuggestionResponse(json_data, *data))
return;
results_updated = ParseSuggestResults(
- *data, kDefaultZeroSuggestRelevance, false, &results_);
+ *data, GetInput(), kDefaultZeroSuggestRelevance, false, &results_);
}
}
fetcher_.reset();
@@ -245,6 +225,13 @@ void ZeroSuggestProvider::OnURLFetchComplete(const net::URLFetcher* source) {
listener_->OnProviderUpdate(results_updated);
}
+AutocompleteInput ZeroSuggestProvider::GetInput() const {
+ return AutocompleteInput(
+ base::string16(), base::string16::npos, base::string16(),
+ GURL(current_query_), current_page_classification_, true, false, false,
+ true, ChromeAutocompleteSchemeClassifier(profile_));
+}
+
bool ZeroSuggestProvider::StoreSuggestionResponse(
const std::string& json_data,
const base::Value& parsed_data) {
@@ -272,8 +259,11 @@ bool ZeroSuggestProvider::StoreSuggestionResponse(
void ZeroSuggestProvider::AddSuggestResultsToMap(
const SearchSuggestionParser::SuggestResults& results,
MatchMap* map) {
- for (size_t i = 0; i < results.size(); ++i)
- AddMatchToMap(results[i], std::string(), i, false, map);
+ for (size_t i = 0; i < results.size(); ++i) {
+ AddMatchToMap(GetInput(), results[i],
+ template_url_service_->GetDefaultSearchProvider(),
+ std::string(), i, true, false, map);
+ }
}
AutocompleteMatch ZeroSuggestProvider::NavigationToMatch(
@@ -455,8 +445,9 @@ void ZeroSuggestProvider::MaybeUseCachedSuggestions() {
if (!json_data.empty()) {
scoped_ptr<base::Value> data(
SearchSuggestionParser::DeserializeJsonData(json_data));
- if (data && ParseSuggestResults(
- *data, kDefaultZeroSuggestRelevance, false, &results_)) {
+ if (data &&
+ ParseSuggestResults(*data, GetInput(), kDefaultZeroSuggestRelevance,
+ false, &results_)) {
ConvertResultsToAutocompleteMatches();
results_from_cache_ = !matches_.empty();
}

Powered by Google App Engine
This is Rietveld 408576698