Commit 9d70de1a authored by groby@chromium.org's avatar groby@chromium.org

[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
parent ccac53f9
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
// Increment this if you change the data in ways that mean users with // Increment this if you change the data in ways that mean users with
// existing data should get a new version. // existing data should get a new version.
"kCurrentDataVersion": 73 "kCurrentDataVersion": 74
}, },
// The following engines are included in country lists and are added to the // The following engines are included in country lists and are added to the
...@@ -526,7 +526,7 @@ ...@@ -526,7 +526,7 @@
"keyword": "google.com", "keyword": "google.com",
"favicon_url": "http://www.google.com/favicon.ico", "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}", "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}", "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", "image_url": "{google:baseURL}searchbyimage/upload",
"new_tab_url": "{google:baseURL}_/chrome/newtab?{google:RLZ}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}ie={inputEncoding}", "new_tab_url": "{google:baseURL}_/chrome/newtab?{google:RLZ}{google:instantExtendedEnabledParameter}{google:ntpIsThemedParameter}ie={inputEncoding}",
......
...@@ -84,6 +84,9 @@ const char kGoogleRLZParameter[] = "google:RLZ"; ...@@ -84,6 +84,9 @@ const char kGoogleRLZParameter[] = "google:RLZ";
const char kGoogleSearchClient[] = "google:searchClient"; const char kGoogleSearchClient[] = "google:searchClient";
const char kGoogleSearchFieldtrialParameter[] = const char kGoogleSearchFieldtrialParameter[] =
"google:searchFieldtrialParameter"; "google:searchFieldtrialParameter";
#if defined (OS_ANDROID)
const char kGoogleSearchVersion[] = "google:searchVersion";
#endif
const char kGoogleSourceIdParameter[] = "google:sourceId"; const char kGoogleSourceIdParameter[] = "google:sourceId";
const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter";
const char kGoogleSuggestClient[] = "google:suggestClient"; const char kGoogleSuggestClient[] = "google:suggestClient";
...@@ -601,6 +604,13 @@ bool TemplateURLRef::ParseParameter(size_t start, ...@@ -601,6 +604,13 @@ bool TemplateURLRef::ParseParameter(size_t start,
replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start)); replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start));
} else if (parameter == kGoogleSearchFieldtrialParameter) { } else if (parameter == kGoogleSearchFieldtrialParameter) {
replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start)); 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) { } else if (parameter == kGoogleSourceIdParameter) {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
url->insert(start, "sourceid=chrome-mobile&"); url->insert(start, "sourceid=chrome-mobile&");
......
...@@ -1324,3 +1324,22 @@ TEST_F(TemplateURLTest, ReflectsBookmarkBarPinned) { ...@@ -1324,3 +1324,22 @@ TEST_F(TemplateURLTest, ReflectsBookmarkBarPinned) {
result = url.url_ref().ReplaceSearchTerms(search_terms_args); result = url.url_ref().ReplaceSearchTerms(search_terms_args);
EXPECT_EQ("http://www.google.com/?bmbp=1&q=foo", result); 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment