| 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 #ifndef CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ | 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ |
| 6 #define CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ | 6 #define CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 const base::string16& prefix_suffix); | 32 const base::string16& prefix_suffix); |
| 33 | 33 |
| 34 // A helper function for BestURLPrefix(). Returns true if |text| starts | 34 // A helper function for BestURLPrefix(). Returns true if |text| starts |
| 35 // with |prefix| which is then followed by |prefix_suffix|. | 35 // with |prefix| which is then followed by |prefix_suffix|. |
| 36 // Performs case insensitive string comparison. | 36 // Performs case insensitive string comparison. |
| 37 static bool PrefixMatch(const URLPrefix& prefix, | 37 static bool PrefixMatch(const URLPrefix& prefix, |
| 38 const base::string16& text, | 38 const base::string16& text, |
| 39 const base::string16& prefix_suffix); | 39 const base::string16& prefix_suffix); |
| 40 | 40 |
| 41 // Sees if |text| is inlineable against either |input| or |fixed_up_input|, | 41 // Sees if |text| is inlineable against either |input| or |fixed_up_input|, |
| 42 // filling in |match_start| and |inline_autocomplete_offset| appropriately. | 42 // returning the appropriate inline autocomplete offset or |
| 43 // base::string16::npos if |text| is not inlineable. |
| 43 // |allow_www_prefix_without_scheme| says whether to consider an input such | 44 // |allow_www_prefix_without_scheme| says whether to consider an input such |
| 44 // as "foo" to be allowed to match against text "www.foo.com". This is | 45 // as "foo" to be allowed to match against text "www.foo.com". This is |
| 45 // needed because sometimes the string we're matching against here can come | 46 // needed because sometimes the string we're matching against here can come |
| 46 // from a match's fill_into_edit, which can start with "www." without having | 47 // from a match's fill_into_edit, which can start with "www." without having |
| 47 // a protocol at the beginning, and we want to allow these matches to be | 48 // a protocol at the beginning, and we want to allow these matches to be |
| 48 // inlineable. ("www." is not otherwise on the default prefix list.) | 49 // inlineable. ("www." is not otherwise on the default prefix list.) |
| 49 static void ComputeMatchStartAndInlineAutocompleteOffset( | 50 static size_t GetInlineAutocompleteOffset( |
| 50 const AutocompleteInput& input, | 51 const AutocompleteInput& input, |
| 51 const AutocompleteInput& fixed_up_input, | 52 const AutocompleteInput& fixed_up_input, |
| 52 const bool allow_www_prefix_without_scheme, | 53 const bool allow_www_prefix_without_scheme, |
| 53 const base::string16& text, | 54 const base::string16& text); |
| 54 size_t* match_start, | |
| 55 size_t* inline_autocomplete_offset); | |
| 56 | 55 |
| 57 base::string16 prefix; | 56 base::string16 prefix; |
| 58 | 57 |
| 59 // The number of URL components (scheme, domain label, etc.) in the prefix. | 58 // The number of URL components (scheme, domain label, etc.) in the prefix. |
| 60 // For example, "http://foo.com" and "www.bar.com" each have one component, | 59 // For example, "http://foo.com" and "www.bar.com" each have one component, |
| 61 // while "ftp://ftp.ftp.com" has two, and "mysite.com" has none. | 60 // while "ftp://ftp.ftp.com" has two, and "mysite.com" has none. |
| 62 size_t num_components; | 61 size_t num_components; |
| 63 }; | 62 }; |
| 64 | 63 |
| 65 #endif // CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ | 64 #endif // CHROME_BROWSER_AUTOCOMPLETE_URL_PREFIX_H_ |
| OLD | NEW |