blob: 87609435626e7d7a98c1fd9e0a6aabf5cec100a0 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_FIELD_TRIAL_H_
#define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_FIELD_TRIAL_H_
#include <string>
#include "base/basictypes.h"
// This class manages the Autocomplete field trials.
class AutocompleteFieldTrial {
public:
// Creates the field trial groups.
// *** MUST NOT BE CALLED MORE THAN ONCE. ***
static void Activate();
// ---------------------------------------------------------
// For the inline History Quick Provider field trial.
// Returns whether the user is in any field trial group for this
// field trial. False indicates that the field trial wasn't
// successfully created for some reason.
static bool InDisallowInlineHQPFieldTrial();
// Returns whether the user should get the experiment setup or
// the default setup for this field trial. The experiment
// group prohibits inlining suggestions.
static bool InDisallowInlineHQPFieldTrialExperimentGroup();
// ---------------------------------------------------------
// For the suggest field trial.
// Returns whether the user is in any field trial group for this
// field trial. False indicates that the field trial wasn't
// successfully created for some reason.
static bool InSuggestFieldTrial();
// Gets the group name to use when sending a suggest query to Google.
// Should only be called if InSuggestFieldTrial().
static std::string GetSuggestGroupName();
// Gets the group name (as a number) to use when sending a suggest query
// to Google. Should only be called if InSuggestFieldTrial().
static int GetSuggestGroupNameAsNumber();
// Gets the maximum number of groups in the suggest field trial.
// (Useful for telling UMA_HISTOGRAM_ENUMERATION the number of buckets
// to create.)
static int GetSuggestNumberOfGroups();
// ---------------------------------------------------------
// For the History Quick Provider new scoring field trial.
// Returns whether the user is in any field trial group for this
// field trial. False indicates that the field trial wasn't
// successfully created for some reason.
static bool InHQPNewScoringFieldTrial();
// Returns whether the user should get the experimental setup or
// the default setup for this field trial. The experiment
// group uses "new scoring" (a complex multiplicative calculation
// that, among other differences from "old scoring", uses word
// break information).
static bool InHQPNewScoringFieldTrialExperimentGroup();
// ---------------------------------------------------------
// For the HistoryURL provider disable culling redirects field trial.
// Returns whether the user is in any group for this field trial.
// (Should always be true unless initialization went wrong..)
static bool InHUPCullRedirectsFieldTrial();
// Returns whether we should disable culling of redirects in
// HistoryURL provider.
static bool InHUPCullRedirectsFieldTrialExperimentGroup();
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(AutocompleteFieldTrial);
};
#endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_FIELD_TRIAL_H_