diff options
author | groby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 02:15:31 +0000 |
---|---|---|
committer | groby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 02:15:31 +0000 |
commit | 9d70de1a6c9c22c1ea9baa2ea02233dcc0cf5479 (patch) | |
tree | 2a57b64345b9de1284f1bf7a1ca0c3ad6ae75305 /chrome/browser/search_engines | |
parent | ccac53f9ac7795cdef5a5eba9f68c772c47e9341 (diff) | |
download | chromium_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.json | 4 | ||||
-rw-r--r-- | chrome/browser/search_engines/template_url.cc | 10 | ||||
-rw-r--r-- | chrome/browser/search_engines/template_url_unittest.cc | 19 |
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 |