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

Side by Side Diff: chrome/browser/autocomplete/zero_suggest_provider.cc

Issue 836213002: Assume all providers may give zero suggest responses. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compilation issue in athena Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/autocomplete/zero_suggest_provider.h" 5 #include "chrome/browser/autocomplete/zero_suggest_provider.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/i18n/case_conversion.h" 8 #include "base/i18n/case_conversion.h"
9 #include "base/json/json_string_value_serializer.h" 9 #include "base/json/json_string_value_serializer.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // static 84 // static
85 void ZeroSuggestProvider::RegisterProfilePrefs( 85 void ZeroSuggestProvider::RegisterProfilePrefs(
86 user_prefs::PrefRegistrySyncable* registry) { 86 user_prefs::PrefRegistrySyncable* registry) {
87 registry->RegisterStringPref( 87 registry->RegisterStringPref(
88 prefs::kZeroSuggestCachedResults, 88 prefs::kZeroSuggestCachedResults,
89 std::string(), 89 std::string(),
90 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 90 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
91 } 91 }
92 92
93 void ZeroSuggestProvider::Start(const AutocompleteInput& input, 93 void ZeroSuggestProvider::Start(const AutocompleteInput& input,
94 bool minimal_changes) { 94 bool minimal_changes,
95 bool called_due_to_focus) {
95 matches_.clear(); 96 matches_.clear();
96 if (input.type() == metrics::OmniboxInputType::INVALID) 97 if (!called_due_to_focus ||
98 input.type() == metrics::OmniboxInputType::INVALID)
97 return; 99 return;
98 100
99 Stop(true); 101 Stop(true);
100 field_trial_triggered_ = false; 102 field_trial_triggered_ = false;
101 field_trial_triggered_in_session_ = false; 103 field_trial_triggered_in_session_ = false;
102 results_from_cache_ = false; 104 results_from_cache_ = false;
103 permanent_text_ = input.text(); 105 permanent_text_ = input.text();
104 current_query_ = input.current_url().spec(); 106 current_query_ = input.current_url().spec();
105 current_page_classification_ = input.current_page_classification(); 107 current_page_classification_ = input.current_page_classification();
106 current_url_match_ = MatchForCurrentURL(); 108 current_url_match_ = MatchForCurrentURL();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 } 172 }
171 BaseSearchProvider::DeleteMatch(match); 173 BaseSearchProvider::DeleteMatch(match);
172 } 174 }
173 175
174 void ZeroSuggestProvider::AddProviderInfo(ProvidersInfo* provider_info) const { 176 void ZeroSuggestProvider::AddProviderInfo(ProvidersInfo* provider_info) const {
175 BaseSearchProvider::AddProviderInfo(provider_info); 177 BaseSearchProvider::AddProviderInfo(provider_info);
176 if (!results_.suggest_results.empty() || !results_.navigation_results.empty()) 178 if (!results_.suggest_results.empty() || !results_.navigation_results.empty())
177 provider_info->back().set_times_returned_results_in_session(1); 179 provider_info->back().set_times_returned_results_in_session(1);
178 } 180 }
179 181
180 bool ZeroSuggestProvider::ProvidesMatchesOnOmniboxFocus() const {
181 return true;
182 }
183
184 void ZeroSuggestProvider::ResetSession() { 182 void ZeroSuggestProvider::ResetSession() {
185 // The user has started editing in the omnibox, so leave 183 // The user has started editing in the omnibox, so leave
186 // |field_trial_triggered_in_session_| unchanged and set 184 // |field_trial_triggered_in_session_| unchanged and set
187 // |field_trial_triggered_| to false since zero suggest is inactive now. 185 // |field_trial_triggered_| to false since zero suggest is inactive now.
188 field_trial_triggered_ = false; 186 field_trial_triggered_ = false;
189 } 187 }
190 188
191 ZeroSuggestProvider::ZeroSuggestProvider( 189 ZeroSuggestProvider::ZeroSuggestProvider(
192 AutocompleteProviderListener* listener, 190 AutocompleteProviderListener* listener,
193 TemplateURLService* template_url_service, 191 TemplateURLService* template_url_service,
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 if (!json_data.empty()) { 480 if (!json_data.empty()) {
483 scoped_ptr<base::Value> data( 481 scoped_ptr<base::Value> data(
484 SearchSuggestionParser::DeserializeJsonData(json_data)); 482 SearchSuggestionParser::DeserializeJsonData(json_data));
485 if (data && ParseSuggestResults( 483 if (data && ParseSuggestResults(
486 *data, kDefaultZeroSuggestRelevance, false, &results_)) { 484 *data, kDefaultZeroSuggestRelevance, false, &results_)) {
487 ConvertResultsToAutocompleteMatches(); 485 ConvertResultsToAutocompleteMatches();
488 results_from_cache_ = !matches_.empty(); 486 results_from_cache_ = !matches_.empty();
489 } 487 }
490 } 488 }
491 } 489 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/zero_suggest_provider.h ('k') | chrome/browser/autocomplete/zero_suggest_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698