diff options
author | sreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-30 20:23:09 +0000 |
---|---|---|
committer | sreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-30 20:23:09 +0000 |
commit | 1aa88b5a4d91c9015ede1f21d96928fe1e280454 (patch) | |
tree | c8c91fc686314fb31a4209613769a7dcfe23c6b8 | |
parent | c17614ed3f8388a9d4f1f0b76173e2460de0ca48 (diff) | |
download | chromium_src-1aa88b5a4d91c9015ede1f21d96928fe1e280454.zip chromium_src-1aa88b5a4d91c9015ede1f21d96928fe1e280454.tar.gz chromium_src-1aa88b5a4d91c9015ede1f21d96928fe1e280454.tar.bz2 |
Instant: Relax path requirement for --instant-url.
BUG=224799
R=kmadhusu@chromium.org
TEST=See bug.
Review URL: https://chromiumcodereview.appspot.com/13332004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191553 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/search/search.cc | 19 | ||||
-rw-r--r-- | chrome/browser/search/search_unittest.cc | 2 |
2 files changed, 11 insertions, 10 deletions
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc index ea1a4e1..83186b4 100644 --- a/chrome/browser/search/search.cc +++ b/chrome/browser/search/search.cc @@ -81,10 +81,18 @@ GURL TemplateURLRefToGURL(const TemplateURLRef& ref, int start_margin) { return GURL(ref.ReplaceSearchTerms(search_terms_args)); } +bool MatchesOrigin(const GURL& my_url, const GURL& other_url) { + return my_url.host() == other_url.host() && + my_url.port() == other_url.port() && + (my_url.scheme() == other_url.scheme() || + (my_url.SchemeIs(chrome::kHttpsScheme) && + other_url.SchemeIs(chrome::kHttpScheme))); +} + bool IsCommandLineInstantURL(const GURL& url) { const CommandLine* cl = CommandLine::ForCurrentProcess(); const GURL instant_url(cl->GetSwitchValueASCII(switches::kInstantURL)); - return instant_url.is_valid() && MatchesOriginAndPath(url, instant_url); + return instant_url.is_valid() && MatchesOrigin(url, instant_url); } bool MatchesAnySearchURL(const GURL& url, TemplateURL* template_url) { @@ -546,23 +554,16 @@ GURL CoerceCommandLineURLToTemplateURL(const GURL& instant_url, const std::string search_scheme = chrome::kHttpsScheme; const std::string search_host = search_url.host(); const std::string search_port = search_url.port(); - const std::string search_path = search_url.path(); GURL::Replacements replacements; replacements.SetSchemeStr(search_scheme); replacements.SetHostStr(search_host); replacements.SetPortStr(search_port); - replacements.SetPathStr(search_path); return instant_url.ReplaceComponents(replacements); } bool MatchesOriginAndPath(const GURL& my_url, const GURL& other_url) { - return my_url.host() == other_url.host() && - my_url.port() == other_url.port() && - my_url.path() == other_url.path() && - (my_url.scheme() == other_url.scheme() || - (my_url.SchemeIs(chrome::kHttpsScheme) && - other_url.SchemeIs(chrome::kHttpScheme))); + return MatchesOrigin(my_url, other_url) && my_url.path() == other_url.path(); } } // namespace chrome diff --git a/chrome/browser/search/search_unittest.cc b/chrome/browser/search/search_unittest.cc index cd69741..90ff642b 100644 --- a/chrome/browser/search/search_unittest.cc +++ b/chrome/browser/search/search_unittest.cc @@ -165,7 +165,7 @@ TEST_F(SearchTest, CoerceCommandLineURLToTemplateURL) { TemplateURLServiceFactory::GetForProfile(profile())-> GetDefaultSearchProvider(); EXPECT_EQ( - GURL("https://foo.com/instant?bar=bar#bar=bar"), + GURL("https://foo.com/dev?bar=bar#bar=bar"), CoerceCommandLineURLToTemplateURL( GURL("http://myserver.com:9000/dev?bar=bar#bar=bar"), template_url->instant_url_ref(), kDisableStartMargin)); |