Commit 443a3b59 authored by Gheorghe Comanici's avatar Gheorghe Comanici Committed by Commit Bot

Experimental Contextual ZS suggestions - add new field trial param.

This CL adds a new field trial param that allows to use a separate
server for requests coming from Dev/Canary and Stable users.

Bug: 692471
Change-Id: I9774ef54f3f4d1778492b84840e24804cb08705f
Reviewed-on: https://chromium-review.googlesource.com/728405
Commit-Queue: Gheorghe Comanici <gcomanici@chromium.org>
Reviewed-by: default avatarJustin Donnelly <jdonnelly@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510263}
parent dad79c5e
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
namespace { namespace {
// Server address for the experimental suggestions service. // Server address for the experimental suggestions service.
const char kExperimentalServerAddress[] = const char kDefaultExperimentalServerAddress[] =
"https://cuscochromeextension-pa.googleapis.com/v1/omniboxsuggestions"; "https://cuscochromeextension-pa.googleapis.com/v1/omniboxsuggestions";
void AddVariationHeaders(std::unique_ptr<net::URLFetcher>& fetcher) { void AddVariationHeaders(std::unique_ptr<net::URLFetcher>& fetcher) {
...@@ -161,7 +161,11 @@ GURL ContextualSuggestionsService::ExperimentalContextualSuggestionsUrl( ...@@ -161,7 +161,11 @@ GURL ContextualSuggestionsService::ExperimentalContextualSuggestionsUrl(
return GURL(); return GURL();
} }
GURL suggest_url(kExperimentalServerAddress); const std::string server_address_param =
OmniboxFieldTrial::GetZeroSuggestRedirectToChromeServerAddress();
GURL suggest_url(server_address_param.empty()
? kDefaultExperimentalServerAddress
: server_address_param);
// Check that the suggest URL for redirect to chrome field trial is valid. // Check that the suggest URL for redirect to chrome field trial is valid.
if (!suggest_url.is_valid()) { if (!suggest_url.is_valid()) {
return GURL(); return GURL();
......
...@@ -352,10 +352,17 @@ bool OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial( ...@@ -352,10 +352,17 @@ bool OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(
int OmniboxFieldTrial::GetZeroSuggestRedirectToChromeExperimentId() { int OmniboxFieldTrial::GetZeroSuggestRedirectToChromeExperimentId() {
return base::GetFieldTrialParamByFeatureAsInt( return base::GetFieldTrialParamByFeatureAsInt(
omnibox::kZeroSuggestRedirectToChrome, omnibox::kZeroSuggestRedirectToChrome,
OmniboxFieldTrial::kZeroSuggestRedirectToChromeExperimentIdParam, kZeroSuggestRedirectToChromeExperimentIdParam,
/*default_value=*/-1); /*default_value=*/-1);
} }
// static
std::string OmniboxFieldTrial::GetZeroSuggestRedirectToChromeServerAddress() {
return base::GetFieldTrialParamValueByFeature(
omnibox::kZeroSuggestRedirectToChrome,
kZeroSuggestRedirectToChromeServerAddressParam);
}
bool OmniboxFieldTrial::ShortcutsScoringMaxRelevance( bool OmniboxFieldTrial::ShortcutsScoringMaxRelevance(
OmniboxEventProto::PageClassification current_page_classification, OmniboxEventProto::PageClassification current_page_classification,
int* max_relevance) { int* max_relevance) {
...@@ -825,6 +832,8 @@ const char OmniboxFieldTrial::kUIVerticalMarginParam[] = "UIVerticalMargin"; ...@@ -825,6 +832,8 @@ const char OmniboxFieldTrial::kUIVerticalMarginParam[] = "UIVerticalMargin";
const char OmniboxFieldTrial::kZeroSuggestRedirectToChromeExperimentIdParam[] = const char OmniboxFieldTrial::kZeroSuggestRedirectToChromeExperimentIdParam[] =
"ZeroSuggestRedirectToChromeExperimentID"; "ZeroSuggestRedirectToChromeExperimentID";
const char OmniboxFieldTrial::kZeroSuggestRedirectToChromeServerAddressParam[] =
"ZeroSuggestRedirectToChromeServerAddress";
// static // static
int OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs = 100; int OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs = 100;
......
...@@ -216,6 +216,9 @@ class OmniboxFieldTrial { ...@@ -216,6 +216,9 @@ class OmniboxFieldTrial {
// Returns -1 if there is no associated experiment ID. // Returns -1 if there is no associated experiment ID.
static int GetZeroSuggestRedirectToChromeExperimentId(); static int GetZeroSuggestRedirectToChromeExperimentId();
// Returns the server address associated with the current field trial.
static std::string GetZeroSuggestRedirectToChromeServerAddress();
// --------------------------------------------------------- // ---------------------------------------------------------
// For the ShortcutsScoringMaxRelevance experiment that's part of the // For the ShortcutsScoringMaxRelevance experiment that's part of the
// bundled omnibox field trial. // bundled omnibox field trial.
...@@ -505,6 +508,7 @@ class OmniboxFieldTrial { ...@@ -505,6 +508,7 @@ class OmniboxFieldTrial {
// Parameter names used by Zero Suggest Redirect to Chrome. // Parameter names used by Zero Suggest Redirect to Chrome.
static const char kZeroSuggestRedirectToChromeExperimentIdParam[]; static const char kZeroSuggestRedirectToChromeExperimentIdParam[];
static const char kZeroSuggestRedirectToChromeServerAddressParam[];
// The amount of time to wait before sending a new suggest request after the // The amount of time to wait before sending a new suggest request after the
// previous one unless overridden by a field trial parameter. // previous one unless overridden by a field trial parameter.
......
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