summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 21:46:58 +0000
committerhfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 21:46:58 +0000
commit727cd6519de86e6dcc8a8c9ce3156d9e3bc342bb (patch)
tree3735bda381ff368796d0e01e1820a739b852fd96
parent4138aa8ca532533a208e9862e3455e0e0a8210ea (diff)
downloadchromium_src-727cd6519de86e6dcc8a8c9ce3156d9e3bc342bb.zip
chromium_src-727cd6519de86e6dcc8a8c9ce3156d9e3bc342bb.tar.gz
chromium_src-727cd6519de86e6dcc8a8c9ce3156d9e3bc342bb.tar.bz2
Allow ZeroSuggest to be triggered by the OmniboxBundledExperimentV1 field trial.
BUG= TESTS=OmniboxFieldTrialTest.ZeroSuggestFieldTrial Review URL: https://codereview.chromium.org/150113005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249121 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial.cc16
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial.h2
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial_unittest.cc36
3 files changed, 51 insertions, 3 deletions
diff --git a/chrome/browser/omnibox/omnibox_field_trial.cc b/chrome/browser/omnibox/omnibox_field_trial.cc
index 445d793..950c190 100644
--- a/chrome/browser/omnibox/omnibox_field_trial.cc
+++ b/chrome/browser/omnibox/omnibox_field_trial.cc
@@ -270,17 +270,25 @@ bool OmniboxFieldTrial::HasDynamicFieldTrialGroupPrefix(
}
bool OmniboxFieldTrial::InZeroSuggestFieldTrial() {
- return HasDynamicFieldTrialGroupPrefix(kEnableZeroSuggestGroupPrefix);
+ return HasDynamicFieldTrialGroupPrefix(kEnableZeroSuggestGroupPrefix) ||
+ chrome_variations::GetVariationParamValue(
+ kBundledExperimentFieldTrialName, kZeroSuggestRule) == "true";
}
bool OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial() {
return HasDynamicFieldTrialGroupPrefix(
- kEnableZeroSuggestMostVisitedGroupPrefix);
+ kEnableZeroSuggestMostVisitedGroupPrefix) ||
+ chrome_variations::GetVariationParamValue(
+ kBundledExperimentFieldTrialName,
+ kZeroSuggestVariantRule) == "MostVisited";
}
bool OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial() {
return HasDynamicFieldTrialGroupPrefix(
- kEnableZeroSuggestAfterTypingGroupPrefix);
+ kEnableZeroSuggestAfterTypingGroupPrefix) ||
+ chrome_variations::GetVariationParamValue(
+ kBundledExperimentFieldTrialName,
+ kZeroSuggestVariantRule) == "AfterTyping";
}
bool OmniboxFieldTrial::ShortcutsScoringMaxRelevance(
@@ -446,6 +454,8 @@ const char OmniboxFieldTrial::kHQPDiscountFrecencyWhenFewVisitsRule[] =
const char OmniboxFieldTrial::kHQPAllowMatchInTLDRule[] = "HQPAllowMatchInTLD";
const char OmniboxFieldTrial::kHQPAllowMatchInSchemeRule[] =
"HQPAllowMatchInScheme";
+const char OmniboxFieldTrial::kZeroSuggestRule[] = "ZeroSuggest";
+const char OmniboxFieldTrial::kZeroSuggestVariantRule[] = "ZeroSuggestVariant";
const char OmniboxFieldTrial::kReorderForLegalDefaultMatchRuleEnabled[] =
"ReorderForLegalDefaultMatch";
diff --git a/chrome/browser/omnibox/omnibox_field_trial.h b/chrome/browser/omnibox/omnibox_field_trial.h
index 7389677..64f2e1f 100644
--- a/chrome/browser/omnibox/omnibox_field_trial.h
+++ b/chrome/browser/omnibox/omnibox_field_trial.h
@@ -298,6 +298,8 @@ class OmniboxFieldTrial {
static const char kHQPDiscountFrecencyWhenFewVisitsRule[];
static const char kHQPAllowMatchInTLDRule[];
static const char kHQPAllowMatchInSchemeRule[];
+ static const char kZeroSuggestRule[];
+ static const char kZeroSuggestVariantRule[];
// Rule values.
static const char kReorderForLegalDefaultMatchRuleEnabled[];
diff --git a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
index 32e1d80..d386d95 100644
--- a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
+++ b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
@@ -157,6 +157,42 @@ TEST_F(OmniboxFieldTrialTest, ZeroSuggestFieldTrial) {
CreateTestTrial("AutocompleteDynamicTrial_3", "EnableZeroSuggest_URLs");
EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
}
+
+ {
+ SCOPED_TRACE("Bundled field trial parameters.");
+ ResetFieldTrialList();
+ std::map<std::string, std::string> params;
+ params[std::string(OmniboxFieldTrial::kZeroSuggestRule)] = "true";
+ ASSERT_TRUE(chrome_variations::AssociateVariationParams(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
+ base::FieldTrialList::CreateFieldTrial(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
+ EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
+ EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
+ EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
+
+ ResetFieldTrialList();
+ params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] =
+ "MostVisited";
+ ASSERT_TRUE(chrome_variations::AssociateVariationParams(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
+ base::FieldTrialList::CreateFieldTrial(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
+ EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
+ EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
+ EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
+
+ ResetFieldTrialList();
+ params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] =
+ "AfterTyping";
+ base::FieldTrialList::CreateFieldTrial(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
+ ASSERT_TRUE(chrome_variations::AssociateVariationParams(
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
+ EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
+ EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
+ EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
+ }
}
TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) {