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( ...@@ -71,9 +71,19 @@ void QuickAnswersMenuObserver::OnContextMenuShown(
if (!quick_answers_controller_ || !is_eligible_) if (!quick_answers_controller_ || !is_eligible_)
return; return;
if (params.is_editable) // Skip password input field.
if (params.input_field_type ==
blink::ContextMenuDataInputFieldType::kPassword) {
return; 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); auto selected_text = base::UTF16ToUTF8(params.selection_text);
if (selected_text.empty()) if (selected_text.empty())
return; return;
......
...@@ -504,6 +504,10 @@ const base::Feature kQuickAnswersTranslation{"QuickAnswersTranslation", ...@@ -504,6 +504,10 @@ const base::Feature kQuickAnswersTranslation{"QuickAnswersTranslation",
const base::Feature kQuickAnswersTranslationCloudAPI{ const base::Feature kQuickAnswersTranslationCloudAPI{
"QuickAnswersTranslationCloudAPI", base::FEATURE_DISABLED_BY_DEFAULT}; "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. // Controls whether the PIN auto submit feature is enabled.
const base::Feature kQuickUnlockPinAutosubmit{"QuickUnlockPinAutosubmit", const base::Feature kQuickUnlockPinAutosubmit{"QuickUnlockPinAutosubmit",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};
...@@ -774,6 +778,10 @@ bool IsQuickAnswersTranslationCloudAPIEnabled() { ...@@ -774,6 +778,10 @@ bool IsQuickAnswersTranslationCloudAPIEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersTranslationCloudAPI); return base::FeatureList::IsEnabled(kQuickAnswersTranslationCloudAPI);
} }
bool IsQuickAnswersOnEditableTextEnabled() {
return base::FeatureList::IsEnabled(kQuickAnswersOnEditableText);
}
bool IsSplitSettingsSyncEnabled() { bool IsSplitSettingsSyncEnabled() {
return base::FeatureList::IsEnabled(kSplitSettingsSync); return base::FeatureList::IsEnabled(kSplitSettingsSync);
} }
......
...@@ -231,6 +231,8 @@ extern const base::Feature kQuickAnswersTranslation; ...@@ -231,6 +231,8 @@ extern const base::Feature kQuickAnswersTranslation;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersTranslationCloudAPI; extern const base::Feature kQuickAnswersTranslationCloudAPI;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickAnswersOnEditableText;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kQuickUnlockPinAutosubmit; extern const base::Feature kQuickUnlockPinAutosubmit;
// TODO(crbug.com/1104164) - Remove this once most // TODO(crbug.com/1104164) - Remove this once most
// users have their preferences backfilled. // users have their preferences backfilled.
...@@ -337,6 +339,7 @@ bool IsQuickAnswersTextAnnotatorEnabled(); ...@@ -337,6 +339,7 @@ bool IsQuickAnswersTextAnnotatorEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
bool IsQuickAnswersTranslationCloudAPIEnabled(); bool IsQuickAnswersTranslationCloudAPIEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersOnEditableTextEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsViewBasedMultiprofileLoginEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsViewBasedMultiprofileLoginEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsWifiSyncAndroidEnabled(); 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