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.-->
+