| Index: chrome/browser/autocomplete/autocomplete.cc
|
| diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc
|
| index 010617a9845c758f3cba72e84287e8254cf19926..0efd16d6cc2ffba99ae29b0e29bf30e210b6b41e 100644
|
| --- a/chrome/browser/autocomplete/autocomplete.cc
|
| +++ b/chrome/browser/autocomplete/autocomplete.cc
|
| @@ -95,6 +95,7 @@ AutocompleteInput::AutocompleteInput(const string16& text,
|
| if (((type_ == UNKNOWN) || (type_ == REQUESTED_URL) || (type_ == URL)) &&
|
| canonicalized_url.is_valid() &&
|
| (!canonicalized_url.IsStandard() || canonicalized_url.SchemeIsFile() ||
|
| + canonicalized_url.SchemeIsFileSystem() ||
|
| !canonicalized_url.host().empty()))
|
| canonicalized_url_ = canonicalized_url;
|
|
|
| @@ -166,6 +167,14 @@ AutocompleteInput::Type AutocompleteInput::Parse(
|
| return URL;
|
| }
|
|
|
| + if (LowerCaseEqualsASCII(parsed_scheme, chrome::kFileSystemScheme)) {
|
| + // This could theoretically be a strange search, but let's check.
|
| + // If it's got an inner_url with a scheme, it's a URL, whether it's valid or
|
| + // not.
|
| + if (parts->inner_parsed() && parts->inner_parsed()->scheme.is_valid())
|
| + return URL;
|
| + }
|
| +
|
| // If the user typed a scheme, and it's HTTP or HTTPS, we know how to parse it
|
| // well enough that we can fall through to the heuristics below. If it's
|
| // something else, we can just determine our action based on what we do with
|
| @@ -455,6 +464,9 @@ void AutocompleteInput::ParseForEmphasizeComponents(
|
| host->reset();
|
| }
|
| }
|
| + } else if (LowerCaseEqualsASCII(scheme_str, chrome::kFileSystemScheme) &&
|
| + parts.inner_parsed() && parts.inner_parsed()->scheme.is_valid()) {
|
| + *host = parts.inner_parsed()->host;
|
| }
|
| }
|
|
|
|
|