Commit 838f53a6 authored by Jing Wang's avatar Jing Wang Committed by Commit Bot

Add a feature flag for each type of assistive personal info.

Now we can independently enable/disable each type, which is useful when
we rollout personal info experiment in stable.

Bug: 1042084
Change-Id: I2e355fa2fb00fddc2bb94cf66e5056153c205abe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2409684Reviewed-by: default avatarKeith Lee <keithlee@chromium.org>
Commit-Queue: Jing Wang <jiwan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807370}
parent 991f1b67
......@@ -142,6 +142,8 @@ class NativeInputMethodEngineTest : public InProcessBrowserTest,
NativeInputMethodEngineTest() : input_method_(this) {
feature_list_.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfo,
chromeos::features::kAssistPersonalInfoEmail,
chromeos::features::kAssistPersonalInfoName,
chromeos::features::kEmojiSuggestAddition},
/*disabled_features=*/{});
}
......@@ -639,7 +641,7 @@ class NativeInputMethodEngineAssistiveOff : public InProcessBrowserTest {
public:
NativeInputMethodEngineAssistiveOff() {
feature_list_.InitWithFeatures(
/*enabled_features=*/{},
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoName},
/*disabled_features=*/{chromeos::features::kAssistPersonalInfo,
chromeos::features::kEmojiSuggestAddition});
}
......
......@@ -7,6 +7,7 @@
#include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
#include "ash/public/cpp/ash_pref_names.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
#include "base/strings/string_util.h"
......@@ -17,6 +18,7 @@
#include "chrome/browser/chromeos/input_method/ui/suggestion_details.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/ash/keyboard/chrome_keyboard_controller_client.h"
#include "chromeos/constants/chromeos_features.h"
#include "chromeos/constants/chromeos_pref_names.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
#include "components/autofill/core/browser/personal_data_manager.h"
......@@ -133,36 +135,54 @@ AssistiveType ProposePersonalInfoAssistiveAction(const base::string16& text) {
if (!(RE2::FullMatch(lower_case_utf8_text, ".* $"))) {
return AssistiveType::kGenericAction;
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kEmailRegex, kTriggersRegex))) {
return AssistiveType::kPersonalEmail;
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalName;
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleOrPluralSubjectRegex,
kAddressRegex, kTriggersRegex))) {
return AssistiveType::kPersonalAddress;
if (base::FeatureList::IsEnabled(
chromeos::features::kAssistPersonalInfoAddress)) {
if (RE2::FullMatch(
lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleOrPluralSubjectRegex,
kAddressRegex, kTriggersRegex))) {
return AssistiveType::kPersonalAddress;
}
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kPhoneNumberRegex, kTriggersRegex))) {
return AssistiveType::kPersonalPhoneNumber;
if (base::FeatureList::IsEnabled(
chromeos::features::kAssistPersonalInfoEmail)) {
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kEmailRegex, kTriggersRegex))) {
return AssistiveType::kPersonalEmail;
}
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kFirstNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalFirstName;
if (base::FeatureList::IsEnabled(
chromeos::features::kAssistPersonalInfoName)) {
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalName;
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kFirstNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalFirstName;
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kLastNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalLastName;
}
}
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kLastNameRegex, kTriggersRegex))) {
return AssistiveType::kPersonalLastName;
if (base::FeatureList::IsEnabled(
chromeos::features::kAssistPersonalInfoPhoneNumber)) {
if (RE2::FullMatch(lower_case_utf8_text,
base::StringPrintf(".*%s%s%s", kSingleSubjectRegex,
kPhoneNumberRegex, kTriggersRegex))) {
return AssistiveType::kPersonalPhoneNumber;
}
}
return AssistiveType::kGenericAction;
}
......
......@@ -8,9 +8,11 @@
#include "base/guid.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/chromeos/input_method/ui/suggestion_details.h"
#include "chrome/browser/ui/ash/keyboard/chrome_keyboard_controller_client.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/constants/chromeos_features.h"
#include "chromeos/constants/chromeos_pref_names.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
......@@ -191,6 +193,11 @@ class PersonalInfoSuggesterTest : public testing::Test {
};
TEST_F(PersonalInfoSuggesterTest, SuggestEmail) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is "));
......@@ -205,7 +212,24 @@ TEST_F(PersonalInfoSuggesterTest, SuggestEmail) {
suggestion_handler_->VerifySuggestion(email_, 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestEmail) {
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestEmailWhenFlagIsDisabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{},
/*disabled_features=*/{chromeos::features::kAssistPersonalInfoEmail});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestEmailWhenPrefixDoesNotMatch) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is John"));
......@@ -216,6 +240,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotSuggestEmail) {
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestWhenVirtualKeyboardEnabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
chrome_keyboard_controller_client_->set_keyboard_visible_for_test(true);
profile_->set_profile_name(base::UTF16ToUTF8(email_));
......@@ -225,6 +254,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotSuggestWhenVirtualKeyboardEnabled) {
TEST_F(PersonalInfoSuggesterTest,
SendsEmailSuggestionToExtensionWhenVirtualKeyboardEnabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
chrome_keyboard_controller_client_->set_keyboard_visible_for_test(true);
profile_->set_profile_name(base::UTF16ToUTF8(email_));
......@@ -234,6 +268,11 @@ TEST_F(PersonalInfoSuggesterTest,
}
TEST_F(PersonalInfoSuggesterTest, SuggestNames) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoName},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_FIRST,
......@@ -258,7 +297,36 @@ TEST_F(PersonalInfoSuggesterTest, SuggestNames) {
suggestion_handler_->VerifySuggestion(full_name_, 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestNames) {
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestNamesWhenFlagIsDisabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{},
/*disabled_features=*/{chromeos::features::kAssistPersonalInfoName});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_FIRST,
first_name_);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_LAST, last_name_);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_FULL, full_name_);
personal_data_->AddProfile(autofill_profile);
suggester_->Suggest(base::UTF8ToUTF16("my first name is "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
suggester_->Suggest(base::UTF8ToUTF16("my last name is: "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
suggester_->Suggest(base::UTF8ToUTF16("my name is "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestNamesWhenPrefixDoesNotMatch) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_FIRST,
......@@ -281,6 +349,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotSuggestNames) {
}
TEST_F(PersonalInfoSuggesterTest, SuggestAddress) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoAddress},
/*disabled_features=*/{});
autofill::CountryNames::SetLocaleString("en-US");
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
......@@ -316,7 +389,37 @@ TEST_F(PersonalInfoSuggesterTest, SuggestAddress) {
suggestion_handler_->VerifySuggestion(address_, 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestAddress) {
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestAddressWhenFlagIsDisabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{},
/*disabled_features=*/{chromeos::features::kAssistPersonalInfoAddress});
autofill::CountryNames::SetLocaleString("en-US");
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(autofill::ServerFieldType::ADDRESS_HOME_LINE1,
base::UTF8ToUTF16("1 Dream Road"));
autofill_profile.SetRawInfo(autofill::ServerFieldType::ADDRESS_HOME_CITY,
base::UTF8ToUTF16("Hollywood"));
autofill_profile.SetRawInfo(autofill::ServerFieldType::ADDRESS_HOME_ZIP,
base::UTF8ToUTF16("12345"));
autofill_profile.SetRawInfo(autofill::ServerFieldType::ADDRESS_HOME_STATE,
base::UTF8ToUTF16("CA"));
autofill_profile.SetRawInfo(autofill::ServerFieldType::ADDRESS_HOME_COUNTRY,
base::UTF8ToUTF16("US"));
personal_data_->AddProfile(autofill_profile);
suggester_->Suggest(base::UTF8ToUTF16("my address is "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestAddressWhenPrefixDoesNotMatch) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoAddress},
/*disabled_features=*/{});
autofill::CountryNames::SetLocaleString("en-US");
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
......@@ -343,6 +446,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotSuggestAddress) {
}
TEST_F(PersonalInfoSuggesterTest, SuggestPhoneNumber) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoPhoneNumber},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(
......@@ -369,7 +477,30 @@ TEST_F(PersonalInfoSuggesterTest, SuggestPhoneNumber) {
suggestion_handler_->VerifySuggestion(phone_number_, 0);
}
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestPhoneNumber) {
TEST_F(PersonalInfoSuggesterTest, DoNotSuggestPhoneNumberWhenFlagIsDisabled) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{},
/*disabled_features=*/{
chromeos::features::kAssistPersonalInfoPhoneNumber});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(
autofill::ServerFieldType::PHONE_HOME_WHOLE_NUMBER, phone_number_);
personal_data_->AddProfile(autofill_profile);
suggester_->Suggest(base::UTF8ToUTF16("my phone number is "));
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
}
TEST_F(PersonalInfoSuggesterTest,
DoNotSuggestPhoneNumberWhenPrefixDoesNotMatch) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoPhoneNumber},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(
......@@ -390,6 +521,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotSuggestPhoneNumber) {
}
TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithDownEnter) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is "));
......@@ -401,6 +537,11 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithDownEnter) {
}
TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithUpEnter) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
DictionaryPrefUpdate update(profile_->GetPrefs(),
prefs::kAssistiveInputFeatureSettings);
update->SetIntKey(kPersonalInfoSuggesterAcceptanceCount, 1);
......@@ -415,6 +556,11 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithUpEnter) {
}
TEST_F(PersonalInfoSuggesterTest, DismissSuggestion) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoName},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(autofill::ServerFieldType::NAME_FULL, full_name_);
......@@ -427,6 +573,11 @@ TEST_F(PersonalInfoSuggesterTest, DismissSuggestion) {
}
TEST_F(PersonalInfoSuggesterTest, SuggestWithConfirmedLength) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoPhoneNumber},
/*disabled_features=*/{});
autofill::AutofillProfile autofill_profile(base::GenerateGUID(),
autofill::test::kEmptyOrigin);
autofill_profile.SetRawInfo(
......@@ -440,6 +591,11 @@ TEST_F(PersonalInfoSuggesterTest, SuggestWithConfirmedLength) {
TEST_F(PersonalInfoSuggesterTest,
DoNotAnnounceSpokenFeedbackWhenChromeVoxIsOff) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
profile_->GetPrefs()->SetBoolean(
ash::prefs::kAccessibilitySpokenFeedbackEnabled, false);
......@@ -455,6 +611,11 @@ TEST_F(PersonalInfoSuggesterTest,
}
TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
profile_->set_profile_name(base::UTF16ToUTF8(email_));
profile_->GetPrefs()->SetBoolean(
ash::prefs::kAccessibilitySpokenFeedbackEnabled, true);
......@@ -482,6 +643,11 @@ TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) {
}
TEST_F(PersonalInfoSuggesterTest, DoNotShowAnnotationAfterMaxAcceptanceCount) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
for (int i = 0; i < kMaxAcceptanceCount; i++) {
suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Down");
......@@ -493,6 +659,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowAnnotationAfterMaxAcceptanceCount) {
}
TEST_F(PersonalInfoSuggesterTest, ShowSettingLink) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
DictionaryPrefUpdate update(profile_->GetPrefs(),
prefs::kAssistiveInputFeatureSettings);
update->RemoveKey(kPersonalInfoSuggesterShowSettingCount);
......@@ -508,6 +679,11 @@ TEST_F(PersonalInfoSuggesterTest, ShowSettingLink) {
}
TEST_F(PersonalInfoSuggesterTest, DoNotShowSettingLinkAfterAcceptance) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
DictionaryPrefUpdate update(profile_->GetPrefs(),
prefs::kAssistiveInputFeatureSettings);
update->SetIntKey(kPersonalInfoSuggesterShowSettingCount, 0);
......@@ -521,6 +697,11 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowSettingLinkAfterAcceptance) {
}
TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithDownDownEnter) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
DictionaryPrefUpdate update(profile_->GetPrefs(),
prefs::kAssistiveInputFeatureSettings);
update->RemoveKey(kPersonalInfoSuggesterShowSettingCount);
......@@ -537,6 +718,11 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithDownDownEnter) {
}
TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithUpEnter) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
DictionaryPrefUpdate update(profile_->GetPrefs(),
prefs::kAssistiveInputFeatureSettings);
update->RemoveKey(kPersonalInfoSuggesterShowSettingCount);
......@@ -552,6 +738,11 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithUpEnter) {
}
TEST_F(PersonalInfoSuggesterTest, RecordsTimeToAccept) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
base::HistogramTester histogram_tester;
histogram_tester.ExpectTotalCount(
"InputMethod.Assistive.TimeToAccept.PersonalInfo", 0);
......@@ -568,6 +759,11 @@ TEST_F(PersonalInfoSuggesterTest, RecordsTimeToAccept) {
}
TEST_F(PersonalInfoSuggesterTest, RecordsTimeToDismiss) {
base::test::ScopedFeatureList feature_list;
feature_list.InitWithFeatures(
/*enabled_features=*/{chromeos::features::kAssistPersonalInfoEmail},
/*disabled_features=*/{});
base::HistogramTester histogram_tester;
histogram_tester.ExpectTotalCount(
"InputMethod.Assistive.TimeToAccept.PersonalInfo", 0);
......
......@@ -57,10 +57,30 @@ const base::Feature kAutoScreenBrightness{"AutoScreenBrightness",
const base::Feature kAssistAutoCorrect{"AssistAutoCorrect",
base::FEATURE_ENABLED_BY_DEFAULT};
// Controls whether to enable assist personal information.
// Controls whether to enable assistive personal information.
const base::Feature kAssistPersonalInfo{"AssistPersonalInfo",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to suggest addresses in assistive personal information. This
// is only effective when AssistPersonalInfo flag is enabled.
const base::Feature kAssistPersonalInfoAddress{
"AssistPersonalInfoAddress", base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to suggest emails in assistive personal information. This is
// only effective when AssistPersonalInfo flag is enabled.
const base::Feature kAssistPersonalInfoEmail{"AssistPersonalInfoEmail",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to suggest names in assistive personal information. This is
// only effective when AssistPersonalInfo flag is enabled.
const base::Feature kAssistPersonalInfoName{"AssistPersonalInfoName",
base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to suggest phone numbers in assistive personal information.
// This is only effective when AssistPersonalInfo flag is enabled.
const base::Feature kAssistPersonalInfoPhoneNumber{
"AssistPersonalInfoPhoneNumber", base::FEATURE_DISABLED_BY_DEFAULT};
// Displays the avatar toolbar button and the profile menu.
// https://crbug.com/1041472
extern const base::Feature kAvatarToolbarButton{
......
......@@ -36,6 +36,14 @@ extern const base::Feature kAssistAutoCorrect;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAssistPersonalInfo;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAssistPersonalInfoAddress;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAssistPersonalInfoEmail;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAssistPersonalInfoName;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAssistPersonalInfoPhoneNumber;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kAvatarToolbarButton;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kBetterUpdateScreen;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment