Commit b1ff2f45 authored by Yue Li's avatar Yue Li Committed by Commit Bot

Quick Answers: Enable on editable text selection

Bug: b/171435744
Test: Manual Test
Change-Id: If5c8c07853ad417eba38d664e46866ffd3cd4fb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2492304
Commit-Queue: Yue Li <updowndota@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Auto-Submit: Yue Li <updowndota@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820543}
parent fe6f3faa
......@@ -71,9 +71,19 @@ void QuickAnswersMenuObserver::OnContextMenuShown(
if (!quick_answers_controller_ || !is_eligible_)
return;
if (params.is_editable)
// Skip password input field.
if (params.input_field_type ==
blink::ContextMenuDataInputFieldType::kPassword) {
return;
}
// Skip editable text selection if the feature is not enabled.
if (params.is_editable &&
!chromeos::features::IsQuickAnswersOnEditableTextEnabled()) {
return;
}
// Skip if no text selected.
auto selected_text = base::UTF16ToUTF8(params.selection_text);
if (selected_text.empty())
return;
......
......@@ -504,6 +504,10 @@ const base::Feature kQuickAnswersTranslation{"QuickAnswersTranslation",
const base::Feature kQuickAnswersTranslationCloudAPI{
"QuickAnswersTranslationCloudAPI", base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether to trigger quick answers on editable text selection.
const base::Feature kQuickAnswersOnEditableText{
"QuickAnswersOnEditableText", base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether the PIN auto submit feature is enabled.
const base::Feature kQuickUnlockPinAutosubmit{"QuickUnlockPinAutosubmit",
base::FEATURE_ENABLED_BY_DEFAULT};
......@@ -774,6 +778,10 @@ bool IsQuickAnswersTranslationCloudAPIEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTranslationCloudAPI);
}
bool IsQuickAnswersOnEditableTextEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersOnEditableText);
}
bool IsSplitSettingsSyncEnabled() {
return base::FeatureList::IsEnabled(kSplitSettingsSync);
}
......
......@@ -231,6 +231,8 @@ extern const base::Feature kQuickAnswersTranslation;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersTranslationCloudAPI;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersOnEditableText;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickUnlockPinAutosubmit;
// TODO(crbug.com/1104164) - Remove this once most
// users have their preferences backfilled.
......@@ -337,6 +339,7 @@ bool IsQuickAnswersTextAnnotatorEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersTranslationCloudAPIEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersOnEditableTextEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsViewBasedMultiprofileLoginEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsWifiSyncAndroidEnabled();
......
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