diff --git a/chrome/browser/ash/input_method/assistive_suggester_unittest.cc b/chrome/browser/ash/input_method/assistive_suggester_unittest.cc index 6279963e15f36..76c3c6ef5a6ab 100644 --- a/chrome/browser/ash/input_method/assistive_suggester_unittest.cc +++ b/chrome/browser/ash/input_method/assistive_suggester_unittest.cc @@ -472,6 +472,25 @@ TEST_F(AssistiveSuggesterTest, EXPECT_EQ(suggestion_handler_->GetSuggestionText(), u"à;á;â;ã;ã;ä;å;ā"); } +TEST_F(AssistiveSuggesterTest, DiacriticsSuggestionOnKeyDownRecordsSuccess) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{features::kDiacriticsOnPhysicalKeyboardLongpress}, + /*disabled_features=*/{}); + SetInputMethodOptions(*profile_, /*predictive_writing_enabled=*/false, + /*diacritics_on_longpress_enabled=*/true); + assistive_suggester_->OnActivate(kUsEnglishEngineId); + assistive_suggester_->OnFocus(5); + + EXPECT_FALSE(assistive_suggester_->OnKeyEvent(PressKey(ui::DomCode::US_A))); + task_environment_.FastForwardBy(base::Seconds(1)); + EXPECT_TRUE(assistive_suggester_->OnKeyEvent(PressKey(ui::DomCode::DIGIT1))); + + histogram_tester_.ExpectTotalCount("InputMethod.Assistive.Success", 1); + histogram_tester_.ExpectUniqueSample("InputMethod.Assistive.Success", + AssistiveType::kLongpressDiacritics, 1); +} + TEST_F(AssistiveSuggesterTest, NoDiacriticsSuggestionOnKeyDownLongpressForUSEnglishOnPrefDisabled) { base::test::ScopedFeatureList feature_list; diff --git a/chrome/browser/ash/input_method/longpress_diacritics_suggester.cc b/chrome/browser/ash/input_method/longpress_diacritics_suggester.cc index 83c05c7162c24..31ddd42d26019 100644 --- a/chrome/browser/ash/input_method/longpress_diacritics_suggester.cc +++ b/chrome/browser/ash/input_method/longpress_diacritics_suggester.cc @@ -230,8 +230,7 @@ void LongpressDiacriticsSuggester::DismissSuggestion() { } AssistiveType LongpressDiacriticsSuggester::GetProposeActionType() { - // TODO(b/217560706): Should handle action. - return AssistiveType::kGenericAction; + return AssistiveType::kLongpressDiacritics; } bool LongpressDiacriticsSuggester::HasSuggestions() { diff --git a/chrome/browser/ash/input_method/longpress_diacritics_suggester_unittest.cc b/chrome/browser/ash/input_method/longpress_diacritics_suggester_unittest.cc index cea0d65e05d08..57117b52a026c 100644 --- a/chrome/browser/ash/input_method/longpress_diacritics_suggester_unittest.cc +++ b/chrome/browser/ash/input_method/longpress_diacritics_suggester_unittest.cc @@ -9,6 +9,7 @@ #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "chrome/browser/ash/input_method/fake_suggestion_handler.h" +#include "chrome/browser/ash/input_method/suggestion_enums.h" #include "chrome/test/base/testing_profile.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/events/base_event_utils.h" @@ -612,6 +613,16 @@ TEST_P(LongpressDiacriticsSuggesterTest, NoDismissSuggestionOnRepeatKeyPress) { EXPECT_FALSE(suggestion_handler.GetAcceptedSuggestion()); } +TEST_P(LongpressDiacriticsSuggesterTest, ReturnsDiacriticsProposeActionType) { + FakeSuggestionHandler suggestion_handler; + LongpressDiacriticsSuggester suggester = + LongpressDiacriticsSuggester(&suggestion_handler); + suggester.OnFocus(kContextId); + + EXPECT_EQ(suggester.GetProposeActionType(), + AssistiveType::kLongpressDiacritics); +} + INSTANTIATE_TEST_SUITE_P( /* no prefix */, LongpressDiacriticsSuggesterTest, diff --git a/chrome/browser/ash/input_method/suggestion_enums.h b/chrome/browser/ash/input_method/suggestion_enums.h index 524d8aa81cc01..3ab2275fe7dca 100644 --- a/chrome/browser/ash/input_method/suggestion_enums.h +++ b/chrome/browser/ash/input_method/suggestion_enums.h @@ -25,7 +25,8 @@ enum class AssistiveType { kAutocorrectReverted = 12, kMultiWordPrediction = 13, kMultiWordCompletion = 14, - kMaxValue = kMultiWordCompletion, + kLongpressDiacritics = 15, + kMaxValue = kLongpressDiacritics, }; enum class SuggestionStatus { diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 1ae29e2a78670..7be88e6d5fff2 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml @@ -49782,6 +49782,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.--> +