diff options
author | hfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 21:46:58 +0000 |
---|---|---|
committer | hfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 21:46:58 +0000 |
commit | 727cd6519de86e6dcc8a8c9ce3156d9e3bc342bb (patch) | |
tree | 3735bda381ff368796d0e01e1820a739b852fd96 | |
parent | 4138aa8ca532533a208e9862e3455e0e0a8210ea (diff) | |
download | chromium_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.cc | 16 | ||||
-rw-r--r-- | chrome/browser/omnibox/omnibox_field_trial.h | 2 | ||||
-rw-r--r-- | chrome/browser/omnibox/omnibox_field_trial_unittest.cc | 36 |
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) { |