Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2317)

Unified Diff: chrome/browser/search_engines/template_url.cc

Issue 7558014: Add a URL param to indicate group selection in Instant field trial. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/search_engines/template_url.cc
diff --git a/chrome/browser/search_engines/template_url.cc b/chrome/browser/search_engines/template_url.cc
index bf85e4ab66f1e9f7ef5b15855f01155e68bcc52a..304808e9fa77a7ca31aa74f246b88bf0adfbc084 100644
--- a/chrome/browser/search_engines/template_url.cc
+++ b/chrome/browser/search_engines/template_url.cc
@@ -12,6 +12,7 @@
#include "base/stringprintf.h"
#include "base/string_number_conversions.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/instant/instant_field_trial.h"
#include "chrome/browser/search_engines/search_engine_type.h"
#include "chrome/browser/search_engines/search_terms_data.h"
#include "chrome/browser/search_engines/template_url_service.h"
@@ -62,6 +63,8 @@ static const char kGoogleUnescapedSearchTermsParameter[] =
"google:unescapedSearchTerms";
static const char kGoogleUnescapedSearchTermsParameterFull[] =
"{google:unescapedSearchTerms}";
+static const char kInstantFieldTrialGroupParameter[] =
+ "instantFieldTrialGroupParameter";
sky 2011/08/08 23:37:23 Since this is google specific, use google:
sreeram 2011/08/09 16:24:01 Done. Will reflect it in the next patch.
// Display value for kSearchTermsParameter.
static const char kDisplaySearchTerms[] = "%s";
@@ -155,6 +158,8 @@ bool TemplateURLRef::ParseParameter(size_t start,
replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start));
} else if (parameter == kGoogleUnescapedSearchTermsParameter) {
replacements->push_back(Replacement(GOOGLE_UNESCAPED_SEARCH_TERMS, start));
+ } else if (parameter == kInstantFieldTrialGroupParameter) {
+ replacements->push_back(Replacement(INSTANT_FIELD_TRIAL_GROUP, start));
} else {
// If it's a prepopulated URL, we know that it's safe to remove unknown
// parameters. Otherwise it could be some garbage but can also be a
@@ -276,12 +281,14 @@ void TemplateURLRef::SetGoogleBaseURL(std::string* google_base_url) {
}
std::string TemplateURLRef::ReplaceSearchTerms(
+ Profile* profile,
const TemplateURL& host,
const string16& terms,
int accepted_suggestion,
const string16& original_query_for_suggestion) const {
UIThreadSearchTermsData search_terms_data;
- return ReplaceSearchTermsUsingTermsData(host,
+ return ReplaceSearchTermsUsingTermsData(profile,
+ host,
terms,
accepted_suggestion,
original_query_for_suggestion,
@@ -289,6 +296,7 @@ std::string TemplateURLRef::ReplaceSearchTerms(
}
std::string TemplateURLRef::ReplaceSearchTermsUsingTermsData(
+ Profile* profile,
const TemplateURL& host,
const string16& terms,
int accepted_suggestion,
@@ -417,6 +425,11 @@ std::string TemplateURLRef::ReplaceSearchTermsUsingTermsData(
break;
}
+ case INSTANT_FIELD_TRIAL_GROUP:
+ if (profile != NULL)
+ url.insert(i->index, InstantFieldTrial::GetGroupAsUrlParam(profile));
+ break;
+
case LANGUAGE:
url.insert(i->index, search_terms_data.GetApplicationLocale());
break;
@@ -665,7 +678,8 @@ void TemplateURL::EnsureKeyword() const {
if (autogenerate_keyword_ && !keyword_generated_) {
// Generate a keyword and cache it.
keyword_ = TemplateURLService::GenerateKeyword(
- TemplateURLService::GenerateSearchURL(this).GetWithEmptyPath(), true);
+ TemplateURLService::GenerateSearchURL(NULL, this).GetWithEmptyPath(),
+ true);
keyword_generated_ = true;
}
}

Powered by Google App Engine
This is Rietveld 408576698