summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 18:02:57 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-17 18:02:57 +0000
commit3842ec0e44d828c49695d33b4d06fd08dd5971ea (patch)
treedd3eaf4af6805809bf2bafd082713881c22f2836
parentb72761d1ca3cc35d04af3d8b506a673460afbeb0 (diff)
downloadchromium_src-3842ec0e44d828c49695d33b4d06fd08dd5971ea.zip
chromium_src-3842ec0e44d828c49695d33b4d06fd08dd5971ea.tar.gz
chromium_src-3842ec0e44d828c49695d33b4d06fd08dd5971ea.tar.bz2
Always treat email addresses as searches.
BUG=88613 TEST=Visit google.com. Type "foo@google.com" into the address bar and make sure the default action is search, not navigate. Review URL: http://codereview.chromium.org/7606020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97165 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/autocomplete/history_url_provider.cc9
-rw-r--r--chrome/browser/autocomplete/history_url_provider_unittest.cc5
2 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/autocomplete/history_url_provider.cc b/chrome/browser/autocomplete/history_url_provider.cc
index 9a7d69d..cadf499 100644
--- a/chrome/browser/autocomplete/history_url_provider.cc
+++ b/chrome/browser/autocomplete/history_url_provider.cc
@@ -653,6 +653,15 @@ bool HistoryURLProvider::FixupExactSuggestion(
DCHECK(match != NULL);
DCHECK(matches != NULL);
+ // Detect email addresses. These cases will look like "http://user@site/",
+ // and because the history backend strips auth creds, we'll get a bogus exact
+ // match below if the user has visited "site".
+ if ((input.type() == AutocompleteInput::UNKNOWN) &&
+ input.parts().username.is_nonempty() &&
+ !input.parts().password.is_nonempty() &&
+ !input.parts().path.is_nonempty())
+ return false;
+
// Tricky corner case: The user has visited intranet site "foo", but not
// internet site "www.foo.com". He types in foo (getting an exact match),
// then tries to hit ctrl-enter. When pressing ctrl, the what-you-typed
diff --git a/chrome/browser/autocomplete/history_url_provider_unittest.cc b/chrome/browser/autocomplete/history_url_provider_unittest.cc
index 28ab888..e0d29bc 100644
--- a/chrome/browser/autocomplete/history_url_provider_unittest.cc
+++ b/chrome/browser/autocomplete/history_url_provider_unittest.cc
@@ -506,3 +506,8 @@ TEST_F(HistoryURLProviderTest, DontAutocompleteOnTrailingWhitespace) {
for (size_t i = 0; i < matches_.size(); ++i)
EXPECT_EQ(string16::npos, matches_[i].inline_autocomplete_offset);
}
+
+TEST_F(HistoryURLProviderTest, TreatEmailsAsSearches) {
+ // Visiting foo.com should not make this string be treated as a navigation.
+ RunTest(ASCIIToUTF16("user@foo.com"), string16(), false, NULL, 0);
+}