diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 18:02:57 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-17 18:02:57 +0000 |
commit | 3842ec0e44d828c49695d33b4d06fd08dd5971ea (patch) | |
tree | dd3eaf4af6805809bf2bafd082713881c22f2836 | |
parent | b72761d1ca3cc35d04af3d8b506a673460afbeb0 (diff) | |
download | chromium_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.cc | 9 | ||||
-rw-r--r-- | chrome/browser/autocomplete/history_url_provider_unittest.cc | 5 |
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); +} |