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 @@
namespace {
// Server address for the experimental suggestions service.
const char kExperimentalServerAddress[] =
const char kDefaultExperimentalServerAddress[] =
"https://cuscochromeextension-pa.googleapis.com/v1/omniboxsuggestions";
void AddVariationHeaders(std::unique_ptr<net::URLFetcher>& fetcher) {
......@@ -161,7 +161,11 @@ GURL ContextualSuggestionsService::ExperimentalContextualSuggestionsUrl(
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.
if (!suggest_url.is_valid()) {
return GURL();
......
......@@ -352,10 +352,17 @@ bool OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(
int OmniboxFieldTrial::GetZeroSuggestRedirectToChromeExperimentId() {
return base::GetFieldTrialParamByFeatureAsInt(
omnibox::kZeroSuggestRedirectToChrome,
OmniboxFieldTrial::kZeroSuggestRedirectToChromeExperimentIdParam,
kZeroSuggestRedirectToChromeExperimentIdParam,
/*default_value=*/-1);
}
// static
std::string OmniboxFieldTrial::GetZeroSuggestRedirectToChromeServerAddress() {
return base::GetFieldTrialParamValueByFeature(
omnibox::kZeroSuggestRedirectToChrome,
kZeroSuggestRedirectToChromeServerAddressParam);
}
bool OmniboxFieldTrial::ShortcutsScoringMaxRelevance(
OmniboxEventProto::PageClassification current_page_classification,
int* max_relevance) {
......@@ -825,6 +832,8 @@ const char OmniboxFieldTrial::kUIVerticalMarginParam[] = "UIVerticalMargin";
const char OmniboxFieldTrial::kZeroSuggestRedirectToChromeExperimentIdParam[] =
"ZeroSuggestRedirectToChromeExperimentID";
const char OmniboxFieldTrial::kZeroSuggestRedirectToChromeServerAddressParam[] =
"ZeroSuggestRedirectToChromeServerAddress";
// static
int OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs = 100;
......
......@@ -216,6 +216,9 @@ class OmniboxFieldTrial {
// Returns -1 if there is no associated experiment ID.
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
// bundled omnibox field trial.
......@@ -505,6 +508,7 @@ class OmniboxFieldTrial {
// Parameter names used by Zero Suggest Redirect to Chrome.
static const char kZeroSuggestRedirectToChromeExperimentIdParam[];
static const char kZeroSuggestRedirectToChromeServerAddressParam[];
// The amount of time to wait before sending a new suggest request after the
// 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