| Index: components/password_manager/core/browser/password_bubble_experiment.cc
|
| diff --git a/components/password_manager/core/browser/password_bubble_experiment.cc b/components/password_manager/core/browser/password_bubble_experiment.cc
|
| index ff0b3ef493a395c0c43caf6a8ce81908fa5f326b..a0e5c88d13b1629d454ce825c91ac5a130808141 100644
|
| --- a/components/password_manager/core/browser/password_bubble_experiment.cc
|
| +++ b/components/password_manager/core/browser/password_bubble_experiment.cc
|
| @@ -18,13 +18,20 @@
|
|
|
| namespace password_bubble_experiment {
|
|
|
| +const char kBrandingExperimentName[] = "PasswordBranding";
|
| const char kChromeSignInPasswordPromoExperimentName[] = "SignInPasswordPromo";
|
| const char kChromeSignInPasswordPromoThresholdParam[] = "dismissal_threshold";
|
| const char kSmartBubbleExperimentName[] = "PasswordSmartBubble";
|
| const char kSmartBubbleThresholdParam[] = "dismissal_count";
|
| +const char kSmartLockBrandingGroupName[] = "SmartLockBranding";
|
| +const char kSmartLockBrandingSavePromptOnlyGroupName[] =
|
| + "SmartLockBrandingSavePromptOnly";
|
|
|
| void RegisterPrefs(PrefRegistrySimple* registry) {
|
| registry->RegisterBooleanPref(
|
| + password_manager::prefs::kWasSavePrompFirstRunExperienceShown, false);
|
| +
|
| + registry->RegisterBooleanPref(
|
| password_manager::prefs::kWasAutoSignInFirstRunExperienceShown, false,
|
| user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
|
|
|
| @@ -48,6 +55,40 @@ bool IsSmartLockUser(const syncer::SyncService* sync_service) {
|
| password_manager::SYNCING_NORMAL_ENCRYPTION;
|
| }
|
|
|
| +SmartLockBranding GetSmartLockBrandingState(
|
| + const syncer::SyncService* sync_service) {
|
| + // Query the group first for correct UMA reporting.
|
| + std::string group_name =
|
| + base::FieldTrialList::FindFullName(kBrandingExperimentName);
|
| + if (!IsSmartLockUser(sync_service))
|
| + return SmartLockBranding::NONE;
|
| + if (group_name == kSmartLockBrandingGroupName)
|
| + return SmartLockBranding::FULL;
|
| + if (group_name == kSmartLockBrandingSavePromptOnlyGroupName)
|
| + return SmartLockBranding::SAVE_PROMPT_ONLY;
|
| + return SmartLockBranding::NONE;
|
| +}
|
| +
|
| +bool IsSmartLockBrandingEnabled(const syncer::SyncService* sync_service) {
|
| + return GetSmartLockBrandingState(sync_service) == SmartLockBranding::FULL;
|
| +}
|
| +
|
| +bool IsSmartLockBrandingSavePromptEnabled(
|
| + const syncer::SyncService* sync_service) {
|
| + return GetSmartLockBrandingState(sync_service) != SmartLockBranding::NONE;
|
| +}
|
| +
|
| +bool ShouldShowSavePromptFirstRunExperience(
|
| + const syncer::SyncService* sync_service,
|
| + PrefService* prefs) {
|
| + return false;
|
| +}
|
| +
|
| +void RecordSavePromptFirstRunExperienceWasShown(PrefService* prefs) {
|
| + prefs->SetBoolean(
|
| + password_manager::prefs::kWasSavePrompFirstRunExperienceShown, true);
|
| +}
|
| +
|
| bool ShouldShowAutoSignInPromptFirstRunExperience(PrefService* prefs) {
|
| return !prefs->GetBoolean(
|
| password_manager::prefs::kWasAutoSignInFirstRunExperienceShown);
|
|
|