OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // This class contains common functionality for search-based autocomplete | 5 // This class contains common functionality for search-based autocomplete |
6 // providers. Search provider and zero suggest provider both use it for common | 6 // providers. Search provider and zero suggest provider both use it for common |
7 // functionality. | 7 // functionality. |
8 | 8 |
9 #ifndef CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ | 9 #ifndef CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ |
10 #define CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ | 10 #define CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 int relevance() const { return relevance_; } | 128 int relevance() const { return relevance_; } |
129 void set_relevance(int relevance) { relevance_ = relevance; } | 129 void set_relevance(int relevance) { relevance_ = relevance; } |
130 | 130 |
131 bool relevance_from_server() const { return relevance_from_server_; } | 131 bool relevance_from_server() const { return relevance_from_server_; } |
132 void set_relevance_from_server(bool relevance_from_server) { | 132 void set_relevance_from_server(bool relevance_from_server) { |
133 relevance_from_server_ = relevance_from_server; | 133 relevance_from_server_ = relevance_from_server; |
134 } | 134 } |
135 | 135 |
136 const std::string& deletion_url() const { return deletion_url_; } | 136 const std::string& deletion_url() const { return deletion_url_; } |
137 | 137 |
138 // Returns if this result is inlineable against the current input |input|. | |
139 // Non-inlineable results are stale. | |
140 virtual bool IsInlineable(const base::string16& input) const = 0; | |
141 | |
142 // Returns the default relevance value for this result (which may | 138 // Returns the default relevance value for this result (which may |
143 // be left over from a previous omnibox input) given the current | 139 // be left over from a previous omnibox input) given the current |
144 // input and whether the current input caused a keyword provider | 140 // input and whether the current input caused a keyword provider |
145 // to be active. | 141 // to be active. |
146 virtual int CalculateRelevance(const AutocompleteInput& input, | 142 virtual int CalculateRelevance(const AutocompleteInput& input, |
147 bool keyword_provider_requested) const = 0; | 143 bool keyword_provider_requested) const = 0; |
148 | 144 |
149 protected: | 145 protected: |
150 // The contents to be displayed and its style info. | 146 // The contents to be displayed and its style info. |
151 base::string16 match_contents_; | 147 base::string16 match_contents_; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 bool should_prefetch() const { return should_prefetch_; } | 202 bool should_prefetch() const { return should_prefetch_; } |
207 | 203 |
208 // Fills in |match_contents_class_| to reflect how |match_contents_| should | 204 // Fills in |match_contents_class_| to reflect how |match_contents_| should |
209 // be displayed and bolded against the current |input_text|. If | 205 // be displayed and bolded against the current |input_text|. If |
210 // |allow_bolding_all| is false and |match_contents_class_| would have all | 206 // |allow_bolding_all| is false and |match_contents_class_| would have all |
211 // of |match_contents_| bolded, do nothing. | 207 // of |match_contents_| bolded, do nothing. |
212 void ClassifyMatchContents(const bool allow_bolding_all, | 208 void ClassifyMatchContents(const bool allow_bolding_all, |
213 const base::string16& input_text); | 209 const base::string16& input_text); |
214 | 210 |
215 // Result: | 211 // Result: |
216 virtual bool IsInlineable(const base::string16& input) const OVERRIDE; | |
217 virtual int CalculateRelevance( | 212 virtual int CalculateRelevance( |
218 const AutocompleteInput& input, | 213 const AutocompleteInput& input, |
219 bool keyword_provider_requested) const OVERRIDE; | 214 bool keyword_provider_requested) const OVERRIDE; |
220 | 215 |
221 private: | 216 private: |
222 // The search terms to be used for this suggestion. | 217 // The search terms to be used for this suggestion. |
223 base::string16 suggestion_; | 218 base::string16 suggestion_; |
224 | 219 |
225 // The contents to be displayed as prefix of match contents. | 220 // The contents to be displayed as prefix of match contents. |
226 // Used for postfix suggestions to display a leading ellipsis (or some | 221 // Used for postfix suggestions to display a leading ellipsis (or some |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 // Fills in |match_contents_| and |match_contents_class_| to reflect how | 262 // Fills in |match_contents_| and |match_contents_class_| to reflect how |
268 // the URL should be displayed and bolded against the current |input_text| | 263 // the URL should be displayed and bolded against the current |input_text| |
269 // and user |languages|. If |allow_bolding_nothing| is false and | 264 // and user |languages|. If |allow_bolding_nothing| is false and |
270 // |match_contents_class_| would result in an entirely unbolded | 265 // |match_contents_class_| would result in an entirely unbolded |
271 // |match_contents_|, do nothing. | 266 // |match_contents_|, do nothing. |
272 void CalculateAndClassifyMatchContents(const bool allow_bolding_nothing, | 267 void CalculateAndClassifyMatchContents(const bool allow_bolding_nothing, |
273 const base::string16& input_text, | 268 const base::string16& input_text, |
274 const std::string& languages); | 269 const std::string& languages); |
275 | 270 |
276 // Result: | 271 // Result: |
277 virtual bool IsInlineable(const base::string16& input) const OVERRIDE; | |
278 virtual int CalculateRelevance( | 272 virtual int CalculateRelevance( |
279 const AutocompleteInput& input, | 273 const AutocompleteInput& input, |
280 bool keyword_provider_requested) const OVERRIDE; | 274 bool keyword_provider_requested) const OVERRIDE; |
281 | 275 |
282 private: | 276 private: |
283 // The suggested url for navigation. | 277 // The suggested url for navigation. |
284 GURL url_; | 278 GURL url_; |
285 | 279 |
286 // The properly formatted ("fixed up") URL string with equivalent meaning | 280 // The properly formatted ("fixed up") URL string with equivalent meaning |
287 // to the one in |url_|. | 281 // to the one in |url_|. |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 | 520 |
527 // True if this provider's results are being displayed in the app list. By | 521 // True if this provider's results are being displayed in the app list. By |
528 // default this is false, meaning that the results will be shown in the | 522 // default this is false, meaning that the results will be shown in the |
529 // omnibox. | 523 // omnibox. |
530 bool in_app_list_; | 524 bool in_app_list_; |
531 | 525 |
532 DISALLOW_COPY_AND_ASSIGN(BaseSearchProvider); | 526 DISALLOW_COPY_AND_ASSIGN(BaseSearchProvider); |
533 }; | 527 }; |
534 | 528 |
535 #endif // CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ | 529 #endif // CHROME_BROWSER_AUTOCOMPLETE_BASE_SEARCH_PROVIDER_H_ |
OLD | NEW |