summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/autocomplete/autocomplete.cc7
-rw-r--r--chrome/browser/autocomplete/autocomplete_unittest.cc3
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 },