summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-30 20:23:09 +0000
committersreeram@chromium.org <sreeram@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-30 20:23:09 +0000
commit1aa88b5a4d91c9015ede1f21d96928fe1e280454 (patch)
treec8c91fc686314fb31a4209613769a7dcfe23c6b8
parentc17614ed3f8388a9d4f1f0b76173e2460de0ca48 (diff)
downloadchromium_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.cc19
-rw-r--r--chrome/browser/search/search_unittest.cc2
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));