OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ |
6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ | 6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 public: | 139 public: |
140 HistoryURLProvider(ACProviderListener* listener, Profile* profile); | 140 HistoryURLProvider(ACProviderListener* listener, Profile* profile); |
141 | 141 |
142 #ifdef UNIT_TEST | 142 #ifdef UNIT_TEST |
143 HistoryURLProvider(ACProviderListener* listener, | 143 HistoryURLProvider(ACProviderListener* listener, |
144 Profile* profile, | 144 Profile* profile, |
145 const std::string& languages) | 145 const std::string& languages) |
146 : HistoryProvider(listener, profile, "History"), | 146 : HistoryProvider(listener, profile, "History"), |
147 prefixes_(GetPrefixes()), | 147 prefixes_(GetPrefixes()), |
148 params_(NULL), | 148 params_(NULL), |
149 enable_aggressive_scoring_(false), | |
150 languages_(languages) {} | 149 languages_(languages) {} |
151 #endif | 150 #endif |
152 | 151 |
153 // AutocompleteProvider | 152 // AutocompleteProvider |
154 virtual void Start(const AutocompleteInput& input, | 153 virtual void Start(const AutocompleteInput& input, |
155 bool minimal_changes) OVERRIDE; | 154 bool minimal_changes) OVERRIDE; |
156 virtual void Stop() OVERRIDE; | 155 virtual void Stop() OVERRIDE; |
157 | 156 |
158 // Runs the history query on the history thread, called by the history | 157 // Runs the history query on the history thread, called by the history |
159 // system. The history database MAY BE NULL in which case it is not | 158 // system. The history database MAY BE NULL in which case it is not |
(...skipping 21 matching lines...) Expand all Loading... |
181 INLINE_AUTOCOMPLETE, | 180 INLINE_AUTOCOMPLETE, |
182 UNVISITED_INTRANET, // An intranet site that has never been visited. | 181 UNVISITED_INTRANET, // An intranet site that has never been visited. |
183 }; | 182 }; |
184 class VisitClassifier; | 183 class VisitClassifier; |
185 | 184 |
186 ~HistoryURLProvider(); | 185 ~HistoryURLProvider(); |
187 | 186 |
188 // Returns the set of prefixes to use for prefixes_. | 187 // Returns the set of prefixes to use for prefixes_. |
189 static history::Prefixes GetPrefixes(); | 188 static history::Prefixes GetPrefixes(); |
190 | 189 |
191 // Determines the relevance for a match, given its type. Behavior | 190 // Determines the relevance for a match, given its type. If |
192 // depends on enable_aggressive_scoring_. If |match_type| is | 191 // |match_type| is NORMAL, |match_number| is a number [0, |
193 // NORMAL, |match_number| is a number [0, kMaxSuggestions) | 192 // kMaxSuggestions) indicating the relevance of the match (higher == |
194 // indicating the relevance of the match (higher == more relevant). | 193 // more relevant). For other values of |match_type|, |match_number| |
195 // For other values of |match_type|, |match_number| is ignored. | 194 // is ignored. Only called some of the time; for some matches, |
196 // Only called some of the time; for some matches, relevancy scores | 195 // relevancy scores are assigned consecutively decreasing (1416, |
197 // are assigned consecutively decreasing (1416, 1415, 1414, ...). | 196 // 1415, 1414, ...). |
198 int CalculateRelevance(MatchType match_type, | 197 int CalculateRelevance(MatchType match_type, |
199 size_t match_number) const; | 198 size_t match_number) const; |
200 | 199 |
201 // Helper function that actually launches the two autocomplete passes. | 200 // Helper function that actually launches the two autocomplete passes. |
202 void RunAutocompletePasses(const AutocompleteInput& input, | 201 void RunAutocompletePasses(const AutocompleteInput& input, |
203 bool fixup_input_and_run_pass_1); | 202 bool fixup_input_and_run_pass_1); |
204 | 203 |
205 // Returns the best prefix that begins |text|. "Best" means "greatest number | 204 // Returns the best prefix that begins |text|. "Best" means "greatest number |
206 // of components". This may return NULL if no prefix begins |text|. | 205 // of components". This may return NULL if no prefix begins |text|. |
207 // | 206 // |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 | 274 |
276 // Prefixes to try appending to user input when looking for a match. | 275 // Prefixes to try appending to user input when looking for a match. |
277 const history::Prefixes prefixes_; | 276 const history::Prefixes prefixes_; |
278 | 277 |
279 // Params for the current query. The provider should not free this directly; | 278 // Params for the current query. The provider should not free this directly; |
280 // instead, it is passed as a parameter through the history backend, and the | 279 // instead, it is passed as a parameter through the history backend, and the |
281 // parameter itself is freed once it's no longer needed. The only reason we | 280 // parameter itself is freed once it's no longer needed. The only reason we |
282 // keep this member is so we can set the cancel bit on it. | 281 // keep this member is so we can set the cancel bit on it. |
283 HistoryURLProviderParams* params_; | 282 HistoryURLProviderParams* params_; |
284 | 283 |
285 // Command line flag omnibox-aggressive-with-history-urls. | |
286 // We examine and cache the value in the constructor. | |
287 bool enable_aggressive_scoring_; | |
288 | |
289 // Only used by unittests; if non-empty, overrides accept-languages in the | 284 // Only used by unittests; if non-empty, overrides accept-languages in the |
290 // profile's pref system. | 285 // profile's pref system. |
291 std::string languages_; | 286 std::string languages_; |
292 }; | 287 }; |
293 | 288 |
294 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ | 289 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ |
OLD | NEW |