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

Unified Diff: components/omnibox/browser/omnibox_field_trial.h

Issue 2591053002: Show PhysicalWebProvider suggestions with omnibox input (Closed)
Patch Set: add field trials Created 4 years 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: components/omnibox/browser/omnibox_field_trial.h
diff --git a/components/omnibox/browser/omnibox_field_trial.h b/components/omnibox/browser/omnibox_field_trial.h
index 46b8f490f14c55bffae193382be1f9add07869c4..0a7a0ab51deb2aa8db206cb7ec611debdc74aa94 100644
--- a/components/omnibox/browser/omnibox_field_trial.h
+++ b/components/omnibox/browser/omnibox_field_trial.h
@@ -95,6 +95,21 @@ struct HUPScoringParams {
ScoreBuckets visited_count_buckets;
};
+// The set of parameters customizing PhysicalWebProvider relevance scoring.
Mark P 2016/12/21 23:21:41 This approach works but I feel it's a little heavy
mattreynolds 2016/12/22 00:23:40 Agreed, this is cleaner and less error-prone. Done
+struct PhysicalWebScoringParams {
+ PhysicalWebScoringParams() : experimental_scoring_enabled(false) {}
+
+ bool experimental_scoring_enabled;
+
+ // The base relevance score for PhysicalWebProvider suggestions when the user
+ // has not entered any text in the omnibox.
+ int zero_suggest_base_relevance;
+
+ // The base relevance score for PhysicalWebprovider suggestions after the user
+ // has typed a query in the omnibox.
+ int after_typing_base_relevance;
+};
+
// This class manages the Omnibox field trials.
class OmniboxFieldTrial {
public:
@@ -374,6 +389,25 @@ class OmniboxFieldTrial {
metrics::OmniboxInputType::Type input_type);
// ---------------------------------------------------------
+ // For PhysicalWebProvider related experiments.
+
+ // Returns whether the user is in a Physical Web field trial where the
+ // PhysicalWebProvider should be used to get suggestions when the user clicks
+ // on the omnibox but has not typed anything yet.
+ static bool InPhysicalWebZeroSuggestFieldTrial();
+
+ // Returns whether the user is in a Physical Web field trial and URL-based
+ // suggestions can continue to appear after the user has started typing.
+ static bool InPhysicalWebAfterTypingFieldTrial();
+
+ // Initializes the PhysicalWebProvider |scoring_params| based on the active
+ // Physical Web scoring experiment. If there is no such experiment, this
+ // function simply sets |scoring_params|->experimental_scoring_enabled to
+ // false.
+ static void GetExperimentalPhysicalWebScoringParams(
+ PhysicalWebScoringParams* scoring_params);
+
+ // ---------------------------------------------------------
// Exposed publicly for the sake of unittests.
static const char kBundledExperimentFieldTrialName[];
// Rule names used by the bundled experiment.
@@ -405,6 +439,8 @@ class OmniboxFieldTrial {
static const char kKeywordScoreForSufficientlyCompleteMatchRule[];
static const char kHQPAllowDupMatchesForScoringRule[];
static const char kEmphasizeTitlesRule[];
+ static const char kPhysicalWebZeroSuggestRule[];
+ static const char kPhysicalWebAfterTypingRule[];
// Parameter names used by the HUP new scoring experiments.
static const char kHUPNewScoringEnabledParam[];
@@ -421,6 +457,11 @@ class OmniboxFieldTrial {
static const char kHQPExperimentalScoringBucketsParam[];
static const char kHQPExperimentalScoringTopicalityThresholdParam[];
+ // Parameter names used by the Physical Web experimental scoring experiments.
+ static const char kPhysicalWebExperimentalScoringParam[];
+ static const char kPhysicalWebZeroSuggestBaseRelevanceParam[];
+ static const char kPhysicalWebAfterTypingBaseRelevanceParam[];
+
// The amount of time to wait before sending a new suggest request after the
// previous one unless overridden by a field trial parameter.
// Non-const because some unittests modify this value.

Powered by Google App Engine
This is Rietveld 408576698