Chromium Code Reviews| Index: components/omnibox/browser/autocomplete_input.cc |
| diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc |
| index 7207fc8b5e68ba44e4e354bbc79b4f3317e4d5d1..b3b761b5cb6e37b0aff7ffcb3b6e1c067e5a2b46 100644 |
| --- a/components/omnibox/browser/autocomplete_input.cc |
| +++ b/components/omnibox/browser/autocomplete_input.cc |
| @@ -155,6 +155,12 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( |
| if (first_non_white == base::string16::npos) |
| return metrics::OmniboxInputType::INVALID; // All whitespace. |
| + // Treat input that beings with a colon as a query. Otherwise the URL |
|
Peter Kasting
2016/09/29 04:54:12
Nit: begins
|
| + // formatter will attempt to fix it by prepending a scheme, which the user |
| + // probably did not want if they explicitly typed a colon at the beginning. |
| + if (text[first_non_white] == ':') |
| + return metrics::OmniboxInputType::QUERY; |
|
Peter Kasting
2016/09/29 04:54:12
It would be nice to avoid doing this check here, a
|
| + |
| // Ask our parsing back-end to help us understand what the user typed. We |
| // use the URLFixerUpper here because we want to be smart about what we |
| // consider a scheme. For example, we shouldn't consider www.google.com:80 |
| @@ -254,13 +260,6 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse( |
| // between an HTTP URL and a query, or the scheme is HTTP or HTTPS, in which |
| // case we should reject invalid formulations. |
| - // If we have an empty host it can't be a valid HTTP[S] URL. (This should |
| - // only trigger for input that begins with a colon, which GURL will parse as a |
| - // valid, non-standard URL; for standard URLs, an empty host would have |
| - // resulted in an invalid |canonicalized_url| above.) |
| - if (!canonicalized_url->has_host()) |
| - return metrics::OmniboxInputType::QUERY; |
| - |
| // Determine the host family. We get this information by (re-)canonicalizing |
| // the already-canonicalized host rather than using the user's original input, |
| // in case fixup affected the result here (e.g. an input that looks like an |