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

Side by Side Diff: chrome/browser/autocomplete/history_url_provider.h

Issue 6306011: Remove wstring from autocomplete. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 10
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 // [0, kMaxSuggestions) indicating the relevance of the match (higher == more 185 // [0, kMaxSuggestions) indicating the relevance of the match (higher == more
186 // relevant). For other values of |match_type|, |match_number| is ignored. 186 // relevant). For other values of |match_type|, |match_number| is ignored.
187 static int CalculateRelevance(AutocompleteInput::Type input_type, 187 static int CalculateRelevance(AutocompleteInput::Type input_type,
188 MatchType match_type, 188 MatchType match_type,
189 size_t match_number); 189 size_t match_number);
190 190
191 // Given the user's |input| and a |match| created from it, reduce the 191 // Given the user's |input| and a |match| created from it, reduce the
192 // match's URL to just a host. If this host still matches the user input, 192 // match's URL to just a host. If this host still matches the user input,
193 // return it. Returns the empty string on failure. 193 // return it. Returns the empty string on failure.
194 static GURL ConvertToHostOnly(const history::HistoryMatch& match, 194 static GURL ConvertToHostOnly(const history::HistoryMatch& match,
195 const std::wstring& input); 195 const string16& input);
196 196
197 // See if a shorter version of the best match should be created, and if so 197 // See if a shorter version of the best match should be created, and if so
198 // place it at the front of |matches|. This can suggest history URLs that 198 // place it at the front of |matches|. This can suggest history URLs that
199 // are prefixes of the best match (if they've been visited enough, compared 199 // are prefixes of the best match (if they've been visited enough, compared
200 // to the best match), or create host-only suggestions even when they haven't 200 // to the best match), or create host-only suggestions even when they haven't
201 // been visited before: if the user visited http://example.com/asdf once, 201 // been visited before: if the user visited http://example.com/asdf once,
202 // we'll suggest http://example.com/ even if they've never been to it. See 202 // we'll suggest http://example.com/ even if they've never been to it. See
203 // the function body for the exact heuristics used. 203 // the function body for the exact heuristics used.
204 static void PromoteOrCreateShorterSuggestion( 204 static void PromoteOrCreateShorterSuggestion(
205 history::URLDatabase* db, 205 history::URLDatabase* db,
206 const HistoryURLProviderParams& params, 206 const HistoryURLProviderParams& params,
207 bool have_what_you_typed_match, 207 bool have_what_you_typed_match,
208 const AutocompleteMatch& what_you_typed_match, 208 const AutocompleteMatch& what_you_typed_match,
209 history::HistoryMatches* matches); 209 history::HistoryMatches* matches);
210 210
211 // Ensures that |matches| contains an entry for |info|, which may mean adding 211 // Ensures that |matches| contains an entry for |info|, which may mean adding
212 // a new such entry (using |input_location| and |match_in_scheme|). 212 // a new such entry (using |input_location| and |match_in_scheme|).
213 // 213 //
214 // If |promote| is true, this also ensures the entry is the first element in 214 // If |promote| is true, this also ensures the entry is the first element in
215 // |matches|, moving or adding it to the front as appropriate. When 215 // |matches|, moving or adding it to the front as appropriate. When
216 // |promote| is false, existing matches are left in place, and newly added 216 // |promote| is false, existing matches are left in place, and newly added
217 // matches are placed at the back. 217 // matches are placed at the back.
218 static void EnsureMatchPresent(const history::URLRow& info, 218 static void EnsureMatchPresent(const history::URLRow& info,
219 std::wstring::size_type input_location, 219 string16::size_type input_location,
220 bool match_in_scheme, 220 bool match_in_scheme,
221 history::HistoryMatches* matches, 221 history::HistoryMatches* matches,
222 bool promote); 222 bool promote);
223 223
224 // Helper function that actually launches the two autocomplete passes. 224 // Helper function that actually launches the two autocomplete passes.
225 void RunAutocompletePasses(const AutocompleteInput& input, 225 void RunAutocompletePasses(const AutocompleteInput& input,
226 bool fixup_input_and_run_pass_1); 226 bool fixup_input_and_run_pass_1);
227 227
228 // Returns the best prefix that begins |text|. "Best" means "greatest number 228 // Returns the best prefix that begins |text|. "Best" means "greatest number
229 // of components". This may return NULL if no prefix begins |text|. 229 // of components". This may return NULL if no prefix begins |text|.
230 // 230 //
231 // |prefix_suffix| (which may be empty) is appended to every attempted 231 // |prefix_suffix| (which may be empty) is appended to every attempted
232 // prefix. This is useful when you need to figure out the innermost match 232 // prefix. This is useful when you need to figure out the innermost match
233 // for some user input in a URL. 233 // for some user input in a URL.
234 const history::Prefix* BestPrefix(const GURL& text, 234 const history::Prefix* BestPrefix(const GURL& text,
235 const std::wstring& prefix_suffix) const; 235 const string16& prefix_suffix) const;
236 236
237 // Returns a match corresponding to exactly what the user has typed. 237 // Returns a match corresponding to exactly what the user has typed.
238 AutocompleteMatch SuggestExactInput(const AutocompleteInput& input, 238 AutocompleteMatch SuggestExactInput(const AutocompleteInput& input,
239 bool trim_http); 239 bool trim_http);
240 240
241 // Given a |match| containing the "what you typed" suggestion created by 241 // Given a |match| containing the "what you typed" suggestion created by
242 // SuggestExactInput(), looks up its info in the DB. If found, fills in the 242 // SuggestExactInput(), looks up its info in the DB. If found, fills in the
243 // title from the DB, promotes the match's priority to that of an inline 243 // title from the DB, promotes the match's priority to that of an inline
244 // autocomplete match (maybe it should be slightly better?), and places it on 244 // autocomplete match (maybe it should be slightly better?), and places it on
245 // the front of |matches| (so we pick the right matches to throw away 245 // the front of |matches| (so we pick the right matches to throw away
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 // parameter itself is freed once it's no longer needed. The only reason we 295 // parameter itself is freed once it's no longer needed. The only reason we
296 // keep this member is so we can set the cancel bit on it. 296 // keep this member is so we can set the cancel bit on it.
297 HistoryURLProviderParams* params_; 297 HistoryURLProviderParams* params_;
298 298
299 // Only used by unittests; if non-empty, overrides accept-languages in the 299 // Only used by unittests; if non-empty, overrides accept-languages in the
300 // profile's pref system. 300 // profile's pref system.
301 std::string languages_; 301 std::string languages_;
302 }; 302 };
303 303
304 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_ 304 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_URL_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698