blob: 9c4d30272df0f8c84b14c8cb6b63ff4e3c76db1a [file] [log] [blame]
// Copyright 2014 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_UI_PASSWORDS_PASSWORD_BUBBLE_EXPERIMENT_H_
#define CHROME_BROWSER_UI_PASSWORDS_PASSWORD_BUBBLE_EXPERIMENT_H_
#include "base/macros.h"
#include "components/password_manager/core/browser/password_manager_metrics_util.h"
namespace user_prefs {
class PrefRegistrySyncable;
}
class PrefService;
// These functions handle the algorithms according to which the "Save password?"
// bubble is shown to user.
namespace password_bubble_experiment {
void RegisterPrefs(user_prefs::PrefRegistrySyncable* registry);
// The decision is made based on the "PasswordBubbleAlgorithm" finch experiment.
// The default value is true.
// It should be called before showing the "Save Password?" dialog.
bool ShouldShowBubble(PrefService* prefs);
// Should be called when user dismisses the "Save Password?" dialog. It stores
// the statistics about interactions with the bubble.
void RecordBubbleClosed(
PrefService* prefs,
password_manager::metrics_util::UIDismissalReason reason);
// The name of the finch experiment controlling the algorithm.
extern const char kExperimentName[];
// The group name for the time based algorithm.
extern const char kGroupTimeSpanBased[];
// The group name for the probability algorithm.
extern const char kGroupProbabilityBased[];
// For "Probability" group. The additional "Saves" to be added to the model.
extern const char kParamProbabilityFakeSaves[];
// For "Probability" group. The interaction history length.
extern const char kParamProbabilityInteractionsCount[];
// For "TimeSpan" group. The time span until the nope counter is zeroed.
extern const char kParamTimeSpan[];
// For "TimeSpan" group. The nopes threshold.
extern const char kParamTimeSpanNopeThreshold[];
} // namespace password_bubble_experiment
#endif // CHROME_BROWSER_UI_PASSWORDS_PASSWORD_BUBBLE_EXPERIMENT_H_