| Index: chrome/browser/omnibox/omnibox_field_trial.h
|
| diff --git a/chrome/browser/omnibox/omnibox_field_trial.h b/chrome/browser/omnibox/omnibox_field_trial.h
|
| index d555a9fcfba920f0b34a820936c126dff120f10f..a3c352951cc5b4dd3a2cb7c311721fef22baaa1f 100644
|
| --- a/chrome/browser/omnibox/omnibox_field_trial.h
|
| +++ b/chrome/browser/omnibox/omnibox_field_trial.h
|
| @@ -9,6 +9,8 @@
|
| #include <vector>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/gtest_prod_util.h"
|
| +#include "chrome/browser/autocomplete/autocomplete_input.h"
|
|
|
| // This class manages the Omnibox field trials.
|
| class OmniboxFieldTrial {
|
| @@ -101,18 +103,42 @@ class OmniboxFieldTrial {
|
| static bool ShortcutsScoringMaxRelevance(int* max_relevance);
|
|
|
| // ---------------------------------------------------------
|
| - // For the SearchHistory field trial.
|
| + // For the SearchHistory experiment that's part of the bundled omnibox
|
| + // field trial.
|
|
|
| - // Returns true if the user is in the experiment group that scores
|
| - // search history query suggestions less aggressively so that they don't
|
| - // inline.
|
| - static bool SearchHistoryPreventInlining();
|
| + // Returns true if the user is in the experiment group that, given the
|
| + // provided |current_page_classification| context, scores search history
|
| + // query suggestions less aggressively so that they don't inline.
|
| + static bool SearchHistoryPreventInlining(
|
| + AutocompleteInput::PageClassification current_page_classification);
|
|
|
| - // Returns true if the user is in the experiment group that disables
|
| - // all query suggestions from search history.
|
| - static bool SearchHistoryDisable();
|
| + // Returns true if the user is in the experiment group that, given the
|
| + // provided |current_page_classification| context, disables all query
|
| + // suggestions from search history.
|
| + static bool SearchHistoryDisable(
|
| + AutocompleteInput::PageClassification current_page_classification);
|
|
|
| private:
|
| + FRIEND_TEST_ALL_PREFIXES(OmniboxFieldTrialTest,
|
| + GetValueOfRuleInPageClassificationContext);
|
| +
|
| + // The bundled omnibox experiment comes with a set of parameters
|
| + // (key-value pairs). Each key indicates a certain rule that applies in
|
| + // a certain context. The value indicates what the consequences of
|
| + // applying the rule are. For example, the value of a SearchHistory rule
|
| + // in the context of a search results page might indicate that we should
|
| + // prevent search history matches from inlining.
|
| + //
|
| + // This function returns the value associated with the |rule| that applies
|
| + // in the context of |page_classification|. If no such rule exists, looks
|
| + // for that rule in the global context and return its value if found. If
|
| + // the rule remains unfound in the global context, returns the empty string.
|
| + // For more details, see the implementation. How to interpret the value is
|
| + // left to the caller; this is rule-dependent.
|
| + static std::string GetValueOfRuleInPageClassificationContext(
|
| + const std::string& rule,
|
| + AutocompleteInput::PageClassification page_classification);
|
| +
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(OmniboxFieldTrial);
|
| };
|
|
|
|
|