diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/autocomplete/autocomplete.cc | 7 | ||||
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_unittest.cc | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc index 3ade9b5..020db00 100644 --- a/chrome/browser/autocomplete/autocomplete.cc +++ b/chrome/browser/autocomplete/autocomplete.cc @@ -359,8 +359,11 @@ AutocompleteInput::Type AutocompleteInput::Parse( return URL; // Trailing slashes force the input to be treated as a URL. - if (parts->path.len == 1) - return URL; + if (parts->path.is_nonempty()) { + char c = text[parts->path.end() - 1]; + if ((c == '\\') || (c == '/')) + return URL; + } // If there is more than one recognized non-host component, this is likely to // be a URL, even if the TLD is unknown (in which case this is likely an diff --git a/chrome/browser/autocomplete/autocomplete_unittest.cc b/chrome/browser/autocomplete/autocomplete_unittest.cc index 1fc0277..26d0bc7 100644 --- a/chrome/browser/autocomplete/autocomplete_unittest.cc +++ b/chrome/browser/autocomplete/autocomplete_unittest.cc @@ -291,7 +291,10 @@ TEST_F(AutocompleteTest, InputType) { { ASCIIToUTF16("-foo.com"), AutocompleteInput::URL }, { ASCIIToUTF16("foo-.com"), AutocompleteInput::UNKNOWN }, { ASCIIToUTF16("foo.-com"), AutocompleteInput::QUERY }, + { ASCIIToUTF16("foo/"), AutocompleteInput::URL }, { ASCIIToUTF16("foo/bar"), AutocompleteInput::UNKNOWN }, + { ASCIIToUTF16("foo/bar/"), AutocompleteInput::URL }, + { ASCIIToUTF16("foo/bar baz\\"), AutocompleteInput::URL }, { ASCIIToUTF16("foo.com/bar"), AutocompleteInput::URL }, { ASCIIToUTF16("foo;bar"), AutocompleteInput::QUERY }, { ASCIIToUTF16("foo/bar baz"), AutocompleteInput::UNKNOWN }, |