Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 // This file contains the Search autocomplete provider. This provider is | 5 // This file contains the Search autocomplete provider. This provider is |
| 6 // responsible for all autocomplete entries that start with "Search <engine> | 6 // responsible for all autocomplete entries that start with "Search <engine> |
| 7 // for ...", including searching for the current input string, search | 7 // for ...", including searching for the current input string, search |
| 8 // history, and search suggestions. An instance of it gets created and | 8 // history, and search suggestions. An instance of it gets created and |
| 9 // managed by the autocomplete controller. | 9 // managed by the autocomplete controller. |
| 10 | 10 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 82 const AutocompleteInput& input, | 82 const AutocompleteInput& input, |
| 83 const string16& input_text, | 83 const string16& input_text, |
| 84 int relevance, | 84 int relevance, |
| 85 AutocompleteMatch::Type type, | 85 AutocompleteMatch::Type type, |
| 86 bool is_keyword, | 86 bool is_keyword, |
| 87 const string16& match_contents, | 87 const string16& match_contents, |
| 88 const string16& annotation, | 88 const string16& annotation, |
| 89 const TemplateURL* template_url, | 89 const TemplateURL* template_url, |
| 90 const string16& query_string, | 90 const string16& query_string, |
| 91 const std::string& suggest_query_params, | 91 const std::string& suggest_query_params, |
| 92 const std::string& xsrf_token, | |
|
Peter Kasting
2013/10/31 23:54:46
Don't pass this in if no callers but SearchProvide
| |
| 92 int accepted_suggestion, | 93 int accepted_suggestion, |
| 93 int omnibox_start_margin, | 94 int omnibox_start_margin, |
| 94 bool append_extra_query_params); | 95 bool append_extra_query_params); |
| 95 | 96 |
| 96 // Returns whether the SearchProvider previously flagged |match| as a query | 97 // Returns whether the SearchProvider previously flagged |match| as a query |
| 97 // that should be prefetched. | 98 // that should be prefetched. |
| 98 static bool ShouldPrefetch(const AutocompleteMatch& match); | 99 static bool ShouldPrefetch(const AutocompleteMatch& match); |
| 99 | 100 |
| 100 // Extracts the suggest response metadata which SearchProvider previously | 101 // Extracts the suggest response metadata which SearchProvider previously |
| 101 // stored for |match|. | 102 // stored for |match|. |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 220 // there. | 221 // there. |
| 221 bool relevance_from_server_; | 222 bool relevance_from_server_; |
| 222 }; | 223 }; |
| 223 | 224 |
| 224 class SuggestResult : public Result { | 225 class SuggestResult : public Result { |
| 225 public: | 226 public: |
| 226 SuggestResult(const string16& suggestion, | 227 SuggestResult(const string16& suggestion, |
| 227 const string16& match_contents, | 228 const string16& match_contents, |
| 228 const string16& annotation, | 229 const string16& annotation, |
| 229 const std::string& suggest_query_params, | 230 const std::string& suggest_query_params, |
| 231 const std::string& xsrf_token, | |
| 230 bool from_keyword_provider, | 232 bool from_keyword_provider, |
| 231 int relevance, | 233 int relevance, |
| 232 bool relevance_from_server, | 234 bool relevance_from_server, |
| 233 bool should_prefetch); | 235 bool should_prefetch); |
| 234 virtual ~SuggestResult(); | 236 virtual ~SuggestResult(); |
| 235 | 237 |
| 236 const string16& suggestion() const { return suggestion_; } | 238 const string16& suggestion() const { return suggestion_; } |
| 237 const string16& match_contents() const { return match_contents_; } | 239 const string16& match_contents() const { return match_contents_; } |
| 238 const string16& annotation() const { return annotation_; } | 240 const string16& annotation() const { return annotation_; } |
| 239 const std::string& suggest_query_params() const { | 241 const std::string& suggest_query_params() const { |
| 240 return suggest_query_params_; | 242 return suggest_query_params_; |
| 241 } | 243 } |
| 244 const std::string& xsrf_token() const { return xsrf_token_; } | |
| 242 bool should_prefetch() const { return should_prefetch_; } | 245 bool should_prefetch() const { return should_prefetch_; } |
| 243 | 246 |
| 244 // Result: | 247 // Result: |
| 245 virtual bool IsInlineable(const string16& input) const OVERRIDE; | 248 virtual bool IsInlineable(const string16& input) const OVERRIDE; |
| 246 virtual int CalculateRelevance( | 249 virtual int CalculateRelevance( |
| 247 const AutocompleteInput& input, | 250 const AutocompleteInput& input, |
| 248 bool keyword_provider_requested) const OVERRIDE; | 251 bool keyword_provider_requested) const OVERRIDE; |
| 249 | 252 |
| 250 private: | 253 private: |
| 251 // The search terms to be used for this suggestion. | 254 // The search terms to be used for this suggestion. |
| 252 string16 suggestion_; | 255 string16 suggestion_; |
| 253 | 256 |
| 254 // The contents to be displayed in the autocomplete match. | 257 // The contents to be displayed in the autocomplete match. |
| 255 string16 match_contents_; | 258 string16 match_contents_; |
| 256 | 259 |
| 257 // Optional annotation for the |match_contents_| for disambiguation. | 260 // Optional annotation for the |match_contents_| for disambiguation. |
| 258 // This may be displayed in the autocomplete match contents, but is defined | 261 // This may be displayed in the autocomplete match contents, but is defined |
| 259 // separately to facilitate different formatting. | 262 // separately to facilitate different formatting. |
| 260 string16 annotation_; | 263 string16 annotation_; |
| 261 | 264 |
| 262 // Optional additional parameters to be added to the search URL. | 265 // Optional additional parameters to be added to the search URL. |
| 263 std::string suggest_query_params_; | 266 std::string suggest_query_params_; |
| 264 | 267 |
| 268 // Optional xsrf token provided with personalized suggestions and needed | |
| 269 // for a deletion request. | |
| 270 std::string xsrf_token_; | |
| 271 | |
| 265 // Should this result be prefetched? | 272 // Should this result be prefetched? |
| 266 bool should_prefetch_; | 273 bool should_prefetch_; |
| 267 }; | 274 }; |
| 268 | 275 |
| 269 class NavigationResult : public Result { | 276 class NavigationResult : public Result { |
| 270 public: | 277 public: |
| 271 // |provider| is necessary to use StringForURLDisplay() in order to | 278 // |provider| is necessary to use StringForURLDisplay() in order to |
| 272 // compute |formatted_url_|. | 279 // compute |formatted_url_|. |
| 273 NavigationResult(const AutocompleteProvider& provider, | 280 NavigationResult(const AutocompleteProvider& provider, |
| 274 const GURL& url, | 281 const GURL& url, |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 493 bool relevance_from_server, | 500 bool relevance_from_server, |
| 494 bool should_prefetch, | 501 bool should_prefetch, |
| 495 const std::string& metadata, | 502 const std::string& metadata, |
| 496 AutocompleteMatch::Type type, | 503 AutocompleteMatch::Type type, |
| 497 bool is_keyword, | 504 bool is_keyword, |
| 498 const string16& match_contents, | 505 const string16& match_contents, |
| 499 const string16& annotation, | 506 const string16& annotation, |
| 500 const string16& query_string, | 507 const string16& query_string, |
| 501 int accepted_suggestion, | 508 int accepted_suggestion, |
| 502 const std::string& suggest_query_params, | 509 const std::string& suggest_query_params, |
| 510 const std::string& xsrf_token, | |
| 503 MatchMap* map); | 511 MatchMap* map); |
| 504 | 512 |
| 505 // Returns an AutocompleteMatch for a navigational suggestion. | 513 // Returns an AutocompleteMatch for a navigational suggestion. |
| 506 AutocompleteMatch NavigationToMatch(const NavigationResult& navigation); | 514 AutocompleteMatch NavigationToMatch(const NavigationResult& navigation); |
| 507 | 515 |
| 508 // Resets the scores of all |keyword_navigation_results_| matches to | 516 // Resets the scores of all |keyword_navigation_results_| matches to |
| 509 // be below that of the top keyword query match (the verbatim match | 517 // be below that of the top keyword query match (the verbatim match |
| 510 // as expressed by |keyword_verbatim_relevance_| or keyword query | 518 // as expressed by |keyword_verbatim_relevance_| or keyword query |
| 511 // suggestions stored in |keyword_suggest_results_|). If there | 519 // suggestions stored in |keyword_suggest_results_|). If there |
| 512 // are no keyword suggestions and keyword verbatim is suppressed, | 520 // are no keyword suggestions and keyword verbatim is suppressed, |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 584 bool field_trial_triggered_in_session_; | 592 bool field_trial_triggered_in_session_; |
| 585 | 593 |
| 586 // If true, search history query suggestions will score low enough that | 594 // If true, search history query suggestions will score low enough that |
| 587 // they will not be inlined. | 595 // they will not be inlined. |
| 588 bool prevent_search_history_inlining_; | 596 bool prevent_search_history_inlining_; |
| 589 | 597 |
| 590 DISALLOW_COPY_AND_ASSIGN(SearchProvider); | 598 DISALLOW_COPY_AND_ASSIGN(SearchProvider); |
| 591 }; | 599 }; |
| 592 | 600 |
| 593 #endif // CHROME_BROWSER_AUTOCOMPLETE_SEARCH_PROVIDER_H_ | 601 #endif // CHROME_BROWSER_AUTOCOMPLETE_SEARCH_PROVIDER_H_ |
| OLD | NEW |