summaryrefslogtreecommitdiffstats
path: root/chrome/browser/search_engines
diff options
context:
space:
mode:
authorgroby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 02:15:31 +0000
committergroby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 02:15:31 +0000
commit9d70de1a6c9c22c1ea9baa2ea02233dcc0cf5479 (patch)
tree2a57b64345b9de1284f1bf7a1ca0c3ad6ae75305 /chrome/browser/search_engines
parentccac53f9ac7795cdef5a5eba9f68c772c47e9341 (diff)
downloadchromium_src-9d70de1a6c9c22c1ea9baa2ea02233dcc0cf5479.zip
chromium_src-9d70de1a6c9c22c1ea9baa2ea02233dcc0cf5479.tar.gz
chromium_src-9d70de1a6c9c22c1ea9baa2ea02233dcc0cf5479.tar.bz2
[AiS] Added version parameter to search query.
Answers in Suggest requires a version number on all suggest queries. Add a gs_rn=42 attribute to requests if Answers is enabled. BUG=370192 Review URL: https://codereview.chromium.org/269293002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269486 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/search_engines')
-rw-r--r--chrome/browser/search_engines/prepopulated_engines.json4
-rw-r--r--chrome/browser/search_engines/template_url.cc10
-rw-r--r--chrome/browser/search_engines/template_url_unittest.cc19
3 files changed, 31 insertions, 2 deletions
diff --git a/chrome/browser/search_engines/prepopulated_engines.json b/chrome/browser/search_engines/prepopulated_engines.json
index 709b157..e3e8e4e 100644
--- a/chrome/browser/search_engines/prepopulated_engines.json
+++ b/chrome/browser/search_engines/prepopulated_engines.json
@@ -27,7 +27,7 @@
// Increment this if you change the data in ways that mean users with
// existing data should get a new version.
- "kCurrentDataVersion": 73
+ "kCurrentDataVersion": 74
},
// The following engines are included in country lists and are added to the
@@ -526,7 +526,7 @@
"keyword": "google.com",
"favicon_url": "http://www.google.com/favicon.ico",
"search_url": "{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:bookmarkBarPinned}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}{google:omniboxStartMarginParameter}ie={inputEncoding}",
- "suggest_url": "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}sugkey={google:suggestAPIKeyParameter}",
+ "suggest_url": "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}{google:searchVersion}sugkey={google:suggestAPIKeyParameter}",
"instant_url": "{google:baseURL}webhp?sourceid=chrome-instant&{google:RLZ}{google:forceInstantResults}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}{google:omniboxStartMarginParameter}ie={inputEncoding}",
"image_url": "{google:baseURL}searchbyimage/upload",
"new_tab_url": "{google:baseURL}_/chrome/newtab?{google:RLZ}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}ie={inputEncoding}",
diff --git a/chrome/browser/search_engines/template_url.cc b/chrome/browser/search_engines/template_url.cc
index f19bf61..4963eb2 100644
--- a/chrome/browser/search_engines/template_url.cc
+++ b/chrome/browser/search_engines/template_url.cc
@@ -84,6 +84,9 @@ const char kGoogleRLZParameter[] = "google:RLZ";
const char kGoogleSearchClient[] = "google:searchClient";
const char kGoogleSearchFieldtrialParameter[] =
"google:searchFieldtrialParameter";
+#if defined (OS_ANDROID)
+const char kGoogleSearchVersion[] = "google:searchVersion";
+#endif
const char kGoogleSourceIdParameter[] = "google:sourceId";
const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter";
const char kGoogleSuggestClient[] = "google:suggestClient";
@@ -601,6 +604,13 @@ bool TemplateURLRef::ParseParameter(size_t start,
replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start));
} else if (parameter == kGoogleSearchFieldtrialParameter) {
replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start));
+#if defined(OS_ANDROID)
+ } else if (parameter == kGoogleSearchVersion) {
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableAnswersInSuggest)) {
+ url->insert(start, "gs_rn=42&");
+ }
+#endif
} else if (parameter == kGoogleSourceIdParameter) {
#if defined(OS_ANDROID)
url->insert(start, "sourceid=chrome-mobile&");
diff --git a/chrome/browser/search_engines/template_url_unittest.cc b/chrome/browser/search_engines/template_url_unittest.cc
index 89c0334..d6bf505 100644
--- a/chrome/browser/search_engines/template_url_unittest.cc
+++ b/chrome/browser/search_engines/template_url_unittest.cc
@@ -1324,3 +1324,22 @@ TEST_F(TemplateURLTest, ReflectsBookmarkBarPinned) {
result = url.url_ref().ReplaceSearchTerms(search_terms_args);
EXPECT_EQ("http://www.google.com/?bmbp=1&q=foo", result);
}
+
+#if defined(OS_ANDROID)
+TEST_F(TemplateURLTest, AnswersHasVersion) {
+ TemplateURLData data;
+ UIThreadSearchTermsData::SetGoogleBaseURL("http://bar/");
+ data.SetURL("http://bar/search?q={searchTerms}&{google:searchVersion}xssi=t");
+
+ TemplateURL url(NULL, data);
+ TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo"));
+ std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args);
+ EXPECT_EQ("http://bar/search?q=foo&xssi=t", result);
+
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kEnableAnswersInSuggest);
+ TemplateURL url2(NULL, data);
+ result = url2.url_ref().ReplaceSearchTerms(search_terms_args);
+ EXPECT_EQ("http://bar/search?q=foo&gs_rn=42&xssi=t", result);
+}
+#endif