Commit eb90cae1 authored by Darren Shen's avatar Darren Shen Committed by Chromium LUCI CQ

ime: Use `code` instead of `key` in assistive suggesters.

This change is part of a larger refactor to remove
InputMethodEngineBase::KeyboardEvent in favour of ui::KeyEvent.

Assistive suggesters use KeyboardEvent.key, which, for special keys like
the arrow keys, are actually based off KeyboardEvent.code (with some
variations like Escape -> Esc):
https://source.chromium.org/chromium/chromium/src/+/master:chrome/browser/chromeos/input_method/input_method_engine_base.cc;l=42;drc=5af06c5ea5983c42aecf4ac02ba38730a51bed6b

Change the suggesters to use code so that it's easier to switch to
ui::KeyEvent.

This is a mechanical change:
- If the key is Up/Down/Left/Right, then the code is Arrow + key:
https://source.chromium.org/chromium/chromium/src/+/master:chrome/browser/chromeos/input_method/input_method_engine_base.cc;l=50;drc=5af06c5ea5983c42aecf4ac02ba38730a51bed6b

- If the key is Esc, the code is Escape:
https://source.chromium.org/chromium/chromium/src/+/master:chrome/browser/chromeos/input_method/input_method_engine_base.cc;l=52;drc=5af06c5ea5983c42aecf4ac02ba38730a51bed6b

- If the key is Enter, the code is Enter:
https://source.chromium.org/chromium/chromium/src/+/master:chrome/browser/chromeos/input_method/input_method_engine_base.cc;l=55;drc=5af06c5ea5983c42aecf4ac02ba38730a51bed6b

Bug: b/174612548
Change-Id: Ib2dd08925546229567df07b0a9d427e67ef0b24b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2568910Reviewed-by: default avatarMy Nguyen <myy@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#832656}
parent cda7a05f
...@@ -61,7 +61,7 @@ bool AutocorrectManager::OnKeyEvent( ...@@ -61,7 +61,7 @@ bool AutocorrectManager::OnKeyEvent(
if (event.type != "keydown") { if (event.type != "keydown") {
return false; return false;
} }
if (event.key == "Up" && window_visible) { if (event.code == "ArrowUp" && window_visible) {
std::string error; std::string error;
auto button = ui::ime::AssistiveWindowButton(); auto button = ui::ime::AssistiveWindowButton();
button.id = ui::ime::ButtonId::kUndo; button.id = ui::ime::ButtonId::kUndo;
...@@ -74,7 +74,7 @@ bool AutocorrectManager::OnKeyEvent( ...@@ -74,7 +74,7 @@ bool AutocorrectManager::OnKeyEvent(
button_highlighted = true; button_highlighted = true;
return true; return true;
} }
if (event.key == "Enter" && window_visible && button_highlighted) { if (event.code == "Enter" && window_visible && button_highlighted) {
UndoAutocorrect(); UndoAutocorrect();
return true; return true;
} }
......
...@@ -162,18 +162,18 @@ SuggestionStatus EmojiSuggester::HandleKeyEvent( ...@@ -162,18 +162,18 @@ SuggestionStatus EmojiSuggester::HandleKeyEvent(
if (!suggestion_shown_) if (!suggestion_shown_)
return SuggestionStatus::kNotHandled; return SuggestionStatus::kNotHandled;
if (event.key == "Esc") { if (event.code == "Escape") {
DismissSuggestion(); DismissSuggestion();
return SuggestionStatus::kDismiss; return SuggestionStatus::kDismiss;
} }
if (highlighted_index_ == kNoneHighlighted && buttons_.size() > 0) { if (highlighted_index_ == kNoneHighlighted && buttons_.size() > 0) {
if (event.key == "Down" || event.key == "Up") { if (event.code == "ArrowDown" || event.code == "ArrowUp") {
highlighted_index_ = event.key == "Down" ? 0 : buttons_.size() - 1; highlighted_index_ = event.code == "ArrowDown" ? 0 : buttons_.size() - 1;
SetButtonHighlighted(buttons_[highlighted_index_], true); SetButtonHighlighted(buttons_[highlighted_index_], true);
return SuggestionStatus::kBrowsing; return SuggestionStatus::kBrowsing;
} }
} else { } else {
if (event.key == "Enter") { if (event.code == "Enter") {
switch (buttons_[highlighted_index_].id) { switch (buttons_[highlighted_index_].id) {
case ui::ime::ButtonId::kSuggestion: case ui::ime::ButtonId::kSuggestion:
AcceptSuggestion(highlighted_index_); AcceptSuggestion(highlighted_index_);
...@@ -184,9 +184,9 @@ SuggestionStatus EmojiSuggester::HandleKeyEvent( ...@@ -184,9 +184,9 @@ SuggestionStatus EmojiSuggester::HandleKeyEvent(
default: default:
break; break;
} }
} else if (event.key == "Up" || event.key == "Down") { } else if (event.code == "ArrowUp" || event.code == "ArrowDown") {
SetButtonHighlighted(buttons_[highlighted_index_], false); SetButtonHighlighted(buttons_[highlighted_index_], false);
if (event.key == "Up") { if (event.code == "ArrowUp") {
highlighted_index_ = highlighted_index_ =
(highlighted_index_ + buttons_.size() - 1) % buttons_.size(); (highlighted_index_ + buttons_.size() - 1) % buttons_.size();
} else { } else {
......
...@@ -115,9 +115,9 @@ class EmojiSuggesterTest : public testing::Test { ...@@ -115,9 +115,9 @@ class EmojiSuggesterTest : public testing::Test {
chrome_keyboard_controller_client_->set_keyboard_visible_for_test(false); chrome_keyboard_controller_client_->set_keyboard_visible_for_test(false);
} }
SuggestionStatus Press(std::string event_key) { SuggestionStatus Press(const std::string& event_code) {
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = event_key; event.code = event_code;
return emoji_suggester_->HandleKeyEvent(event); return emoji_suggester_->HandleKeyEvent(event);
} }
...@@ -162,7 +162,7 @@ TEST_F(EmojiSuggesterTest, DoNotShowSuggestionWhenVirtualKeyboardEnabled) { ...@@ -162,7 +162,7 @@ TEST_F(EmojiSuggesterTest, DoNotShowSuggestionWhenVirtualKeyboardEnabled) {
TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingDown) { TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingDown) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = "Down"; event.code = "ArrowDown";
EXPECT_EQ(SuggestionStatus::kBrowsing, EXPECT_EQ(SuggestionStatus::kBrowsing,
emoji_suggester_->HandleKeyEvent(event)); emoji_suggester_->HandleKeyEvent(event));
} }
...@@ -170,7 +170,7 @@ TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingDown) { ...@@ -170,7 +170,7 @@ TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingDown) {
TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingUp) { TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingUp) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = "Up"; event.code = "ArrowUp";
EXPECT_EQ(SuggestionStatus::kBrowsing, EXPECT_EQ(SuggestionStatus::kBrowsing,
emoji_suggester_->HandleKeyEvent(event)); emoji_suggester_->HandleKeyEvent(event));
} }
...@@ -178,7 +178,7 @@ TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingUp) { ...@@ -178,7 +178,7 @@ TEST_F(EmojiSuggesterTest, ReturnkBrowsingWhenPressingUp) {
TEST_F(EmojiSuggesterTest, ReturnkDismissWhenPressingEsc) { TEST_F(EmojiSuggesterTest, ReturnkDismissWhenPressingEsc) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = "Esc"; event.code = "Escape";
EXPECT_EQ(SuggestionStatus::kDismiss, EXPECT_EQ(SuggestionStatus::kDismiss,
emoji_suggester_->HandleKeyEvent(event)); emoji_suggester_->HandleKeyEvent(event));
} }
...@@ -186,10 +186,10 @@ TEST_F(EmojiSuggesterTest, ReturnkDismissWhenPressingEsc) { ...@@ -186,10 +186,10 @@ TEST_F(EmojiSuggesterTest, ReturnkDismissWhenPressingEsc) {
TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenValidNumber) { TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenValidNumber) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event1; InputMethodEngineBase::KeyboardEvent event1;
event1.key = "Down"; event1.code = "ArrowDown";
emoji_suggester_->HandleKeyEvent(event1); emoji_suggester_->HandleKeyEvent(event1);
InputMethodEngineBase::KeyboardEvent event2; InputMethodEngineBase::KeyboardEvent event2;
event2.key = "1"; event2.code = "1";
EXPECT_EQ(SuggestionStatus::kNotHandled, EXPECT_EQ(SuggestionStatus::kNotHandled,
emoji_suggester_->HandleKeyEvent(event2)); emoji_suggester_->HandleKeyEvent(event2));
} }
...@@ -197,10 +197,10 @@ TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenValidNumber) { ...@@ -197,10 +197,10 @@ TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenValidNumber) {
TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenNotANumber) { TEST_F(EmojiSuggesterTest, ReturnkNotHandledWhenPressDownThenNotANumber) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event1; InputMethodEngineBase::KeyboardEvent event1;
event1.key = "Down"; event1.code = "ArrowDown";
emoji_suggester_->HandleKeyEvent(event1); emoji_suggester_->HandleKeyEvent(event1);
InputMethodEngineBase::KeyboardEvent event2; InputMethodEngineBase::KeyboardEvent event2;
event2.key = "a"; event2.code = "a";
EXPECT_EQ(SuggestionStatus::kNotHandled, EXPECT_EQ(SuggestionStatus::kNotHandled,
emoji_suggester_->HandleKeyEvent(event2)); emoji_suggester_->HandleKeyEvent(event2));
} }
...@@ -209,7 +209,7 @@ TEST_F(EmojiSuggesterTest, ...@@ -209,7 +209,7 @@ TEST_F(EmojiSuggesterTest,
ReturnkNotHandledWhenPressingEnterAndACandidateHasNotBeenChosen) { ReturnkNotHandledWhenPressingEnterAndACandidateHasNotBeenChosen) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = "Enter"; event.code = "Enter";
EXPECT_EQ(SuggestionStatus::kNotHandled, EXPECT_EQ(SuggestionStatus::kNotHandled,
emoji_suggester_->HandleKeyEvent(event)); emoji_suggester_->HandleKeyEvent(event));
} }
...@@ -217,19 +217,19 @@ TEST_F(EmojiSuggesterTest, ...@@ -217,19 +217,19 @@ TEST_F(EmojiSuggesterTest,
TEST_F(EmojiSuggesterTest, TEST_F(EmojiSuggesterTest,
ReturnkAcceptWhenPressingEnterAndACandidateHasBeenChosenByPressingDown) { ReturnkAcceptWhenPressingEnterAndACandidateHasBeenChosenByPressingDown) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Press "Down" to choose a candidate. // Press "ArrowDown" to choose a candidate.
InputMethodEngineBase::KeyboardEvent event1; InputMethodEngineBase::KeyboardEvent event1;
event1.key = "Down"; event1.code = "ArrowDown";
emoji_suggester_->HandleKeyEvent(event1); emoji_suggester_->HandleKeyEvent(event1);
InputMethodEngineBase::KeyboardEvent event2; InputMethodEngineBase::KeyboardEvent event2;
event2.key = "Enter"; event2.code = "Enter";
EXPECT_EQ(SuggestionStatus::kAccept, EXPECT_EQ(SuggestionStatus::kAccept,
emoji_suggester_->HandleKeyEvent(event2)); emoji_suggester_->HandleKeyEvent(event2));
} }
TEST_F(EmojiSuggesterTest, HighlightFirstCandidateWhenPressingDown) { TEST_F(EmojiSuggesterTest, HighlightFirstCandidateWhenPressingDown) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
Press("Down"); Press("ArrowDown");
engine_->VerifyCandidateHighlighted(0, true); engine_->VerifyCandidateHighlighted(0, true);
} }
...@@ -237,15 +237,15 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingUp) { ...@@ -237,15 +237,15 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingUp) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Go into the window. // Go into the window.
Press("Down"); Press("ArrowDown");
// Press "Up" to choose learn more button. // Press "ArrowUp" to choose learn more button.
Press("Up"); Press("ArrowUp");
engine_->VerifyLearnMoreButtonHighlighted(true); engine_->VerifyLearnMoreButtonHighlighted(true);
// Press "Up" to go through candidates; // Press "ArrowUp" to go through candidates;
for (size_t i = emoji_suggester_->GetCandidatesSizeForTesting(); i > 0; i--) { for (size_t i = emoji_suggester_->GetCandidatesSizeForTesting(); i > 0; i--) {
Press("Up"); Press("ArrowUp");
engine_->VerifyCandidateHighlighted(i - 1, true); engine_->VerifyCandidateHighlighted(i - 1, true);
engine_->VerifyLearnMoreButtonHighlighted(false); engine_->VerifyLearnMoreButtonHighlighted(false);
if (i != emoji_suggester_->GetCandidatesSizeForTesting()) { if (i != emoji_suggester_->GetCandidatesSizeForTesting()) {
...@@ -253,17 +253,17 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingUp) { ...@@ -253,17 +253,17 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingUp) {
} }
} }
// Press "Up" to go to learn more button from first candidate. // Press "ArrowUp" to go to learn more button from first candidate.
Press("Up"); Press("ArrowUp");
engine_->VerifyLearnMoreButtonHighlighted(true); engine_->VerifyLearnMoreButtonHighlighted(true);
} }
TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingDown) { TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingDown) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Press "Down" to go through candidates. // Press "ArrowDown" to go through candidates.
for (size_t i = 0; i < emoji_suggester_->GetCandidatesSizeForTesting(); i++) { for (size_t i = 0; i < emoji_suggester_->GetCandidatesSizeForTesting(); i++) {
Press("Down"); Press("ArrowDown");
engine_->VerifyCandidateHighlighted(i, true); engine_->VerifyCandidateHighlighted(i, true);
engine_->VerifyLearnMoreButtonHighlighted(false); engine_->VerifyLearnMoreButtonHighlighted(false);
if (i != 0) { if (i != 0) {
...@@ -272,13 +272,13 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingDown) { ...@@ -272,13 +272,13 @@ TEST_F(EmojiSuggesterTest, HighlightButtonCorrectlyWhenPressingDown) {
} }
// Go to LearnMore Button // Go to LearnMore Button
Press("Down"); Press("ArrowDown");
engine_->VerifyLearnMoreButtonHighlighted(true); engine_->VerifyLearnMoreButtonHighlighted(true);
engine_->VerifyCandidateHighlighted( engine_->VerifyCandidateHighlighted(
emoji_suggester_->GetCandidatesSizeForTesting() - 1, false); emoji_suggester_->GetCandidatesSizeForTesting() - 1, false);
// Go to first candidate // Go to first candidate
Press("Down"); Press("ArrowDown");
engine_->VerifyLearnMoreButtonHighlighted(false); engine_->VerifyLearnMoreButtonHighlighted(false);
engine_->VerifyCandidateHighlighted(0, true); engine_->VerifyCandidateHighlighted(0, true);
} }
...@@ -288,9 +288,9 @@ TEST_F(EmojiSuggesterTest, ...@@ -288,9 +288,9 @@ TEST_F(EmojiSuggesterTest,
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Go into the window. // Go into the window.
Press("Down"); Press("ArrowDown");
// Choose Learn More Button. // Choose Learn More Button.
Press("Up"); Press("ArrowUp");
engine_->VerifyLearnMoreButtonHighlighted(true); engine_->VerifyLearnMoreButtonHighlighted(true);
EXPECT_EQ(Press("Enter"), SuggestionStatus::kOpenSettings); EXPECT_EQ(Press("Enter"), SuggestionStatus::kOpenSettings);
...@@ -304,7 +304,7 @@ TEST_F(EmojiSuggesterTest, DoesNotShowIndicesWhenFirstSuggesting) { ...@@ -304,7 +304,7 @@ TEST_F(EmojiSuggesterTest, DoesNotShowIndicesWhenFirstSuggesting) {
TEST_F(EmojiSuggesterTest, DoesNotShowIndexAfterPressingDown) { TEST_F(EmojiSuggesterTest, DoesNotShowIndexAfterPressingDown) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
Press("Down"); Press("ArrowDown");
engine_->VerifyShowIndices(false); engine_->VerifyShowIndices(false);
} }
...@@ -319,7 +319,7 @@ TEST_F(EmojiSuggesterTest, DoesNotShowIndicesAfterGettingSuggestionsTwice) { ...@@ -319,7 +319,7 @@ TEST_F(EmojiSuggesterTest, DoesNotShowIndicesAfterGettingSuggestionsTwice) {
TEST_F(EmojiSuggesterTest, TEST_F(EmojiSuggesterTest,
DoesNotShowIndicesAfterPressingDownThenGetNewSuggestions) { DoesNotShowIndicesAfterPressingDownThenGetNewSuggestions) {
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
Press("Down"); Press("ArrowDown");
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
engine_->VerifyShowIndices(false); engine_->VerifyShowIndices(false);
...@@ -329,7 +329,7 @@ TEST_F(EmojiSuggesterTest, ShowSettingLinkCorrectly) { ...@@ -329,7 +329,7 @@ TEST_F(EmojiSuggesterTest, ShowSettingLinkCorrectly) {
for (int i = 0; i < kEmojiSuggesterShowSettingMaxCount; i++) { for (int i = 0; i < kEmojiSuggesterShowSettingMaxCount; i++) {
emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")); emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "));
// Dismiss suggestion. // Dismiss suggestion.
Press("Esc"); Press("Escape");
engine_->VerifyShowSettingLink(true); engine_->VerifyShowSettingLink(true);
} }
emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")); emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "));
...@@ -341,8 +341,8 @@ TEST_F(EmojiSuggesterTest, RecordsTimeToAccept) { ...@@ -341,8 +341,8 @@ TEST_F(EmojiSuggesterTest, RecordsTimeToAccept) {
histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToAccept.Emoji", histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToAccept.Emoji",
0); 0);
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Press "Down" to choose and accept a candidate. // Press "ArrowDown" to choose and accept a candidate.
Press("Down"); Press("ArrowDown");
Press("Enter"); Press("Enter");
histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToAccept.Emoji", histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToAccept.Emoji",
1); 1);
...@@ -353,8 +353,8 @@ TEST_F(EmojiSuggesterTest, RecordsTimeToDismiss) { ...@@ -353,8 +353,8 @@ TEST_F(EmojiSuggesterTest, RecordsTimeToDismiss) {
histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToDismiss.Emoji", histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToDismiss.Emoji",
0); 0);
EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy "))); EXPECT_TRUE(emoji_suggester_->Suggest(base::UTF8ToUTF16("happy ")));
// Press "Esc" to dismiss. // Press "Escape" to dismiss.
Press("Esc"); Press("Escape");
histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToDismiss.Emoji", histogram_tester.ExpectTotalCount("InputMethod.Assistive.TimeToDismiss.Emoji",
1); 1);
} }
......
...@@ -190,18 +190,18 @@ SuggestionStatus PersonalInfoSuggester::HandleKeyEvent( ...@@ -190,18 +190,18 @@ SuggestionStatus PersonalInfoSuggester::HandleKeyEvent(
if (!suggestion_shown_) if (!suggestion_shown_)
return SuggestionStatus::kNotHandled; return SuggestionStatus::kNotHandled;
if (event.key == "Esc") { if (event.code == "Escape") {
DismissSuggestion(); DismissSuggestion();
return SuggestionStatus::kDismiss; return SuggestionStatus::kDismiss;
} }
if (highlighted_index_ == kNoneHighlighted && buttons_.size() > 0) { if (highlighted_index_ == kNoneHighlighted && buttons_.size() > 0) {
if (event.key == "Down" || event.key == "Up") { if (event.code == "ArrowDown" || event.code == "ArrowUp") {
highlighted_index_ = event.key == "Down" ? 0 : buttons_.size() - 1; highlighted_index_ = event.code == "ArrowDown" ? 0 : buttons_.size() - 1;
SetButtonHighlighted(buttons_[highlighted_index_], true); SetButtonHighlighted(buttons_[highlighted_index_], true);
return SuggestionStatus::kBrowsing; return SuggestionStatus::kBrowsing;
} }
} else { } else {
if (event.key == "Enter") { if (event.code == "Enter") {
switch (buttons_[highlighted_index_].id) { switch (buttons_[highlighted_index_].id) {
case ui::ime::ButtonId::kSuggestion: case ui::ime::ButtonId::kSuggestion:
AcceptSuggestion(); AcceptSuggestion();
...@@ -212,9 +212,9 @@ SuggestionStatus PersonalInfoSuggester::HandleKeyEvent( ...@@ -212,9 +212,9 @@ SuggestionStatus PersonalInfoSuggester::HandleKeyEvent(
default: default:
break; break;
} }
} else if (event.key == "Up" || event.key == "Down") { } else if (event.code == "ArrowUp" || event.code == "ArrowDown") {
SetButtonHighlighted(buttons_[highlighted_index_], false); SetButtonHighlighted(buttons_[highlighted_index_], false);
if (event.key == "Up") { if (event.code == "ArrowUp") {
highlighted_index_ = highlighted_index_ =
(highlighted_index_ + buttons_.size() - 1) % buttons_.size(); (highlighted_index_ + buttons_.size() - 1) % buttons_.size();
} else { } else {
......
...@@ -158,9 +158,9 @@ class PersonalInfoSuggesterTest : public testing::Test { ...@@ -158,9 +158,9 @@ class PersonalInfoSuggesterTest : public testing::Test {
chrome_keyboard_controller_client_->set_keyboard_visible_for_test(false); chrome_keyboard_controller_client_->set_keyboard_visible_for_test(false);
} }
void SendKeyboardEvent(std::string key) { void SendKeyboardEvent(const std::string& code) {
InputMethodEngineBase::KeyboardEvent event; InputMethodEngineBase::KeyboardEvent event;
event.key = key; event.code = code;
suggester_->HandleKeyEvent(event); suggester_->HandleKeyEvent(event);
} }
...@@ -196,11 +196,11 @@ TEST_F(PersonalInfoSuggesterTest, SuggestEmail) { ...@@ -196,11 +196,11 @@ TEST_F(PersonalInfoSuggesterTest, SuggestEmail) {
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
suggestion_handler_->VerifySuggestion(email_, 0); suggestion_handler_->VerifySuggestion(email_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("My email is: ")); suggester_->Suggest(base::UTF8ToUTF16("My email is: "));
suggestion_handler_->VerifySuggestion(email_, 0); suggestion_handler_->VerifySuggestion(email_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("hi, my email: ")); suggester_->Suggest(base::UTF8ToUTF16("hi, my email: "));
suggestion_handler_->VerifySuggestion(email_, 0); suggestion_handler_->VerifySuggestion(email_, 0);
...@@ -277,15 +277,15 @@ TEST_F(PersonalInfoSuggesterTest, SuggestNames) { ...@@ -277,15 +277,15 @@ TEST_F(PersonalInfoSuggesterTest, SuggestNames) {
suggester_->Suggest(base::UTF8ToUTF16("my first name is ")); suggester_->Suggest(base::UTF8ToUTF16("my first name is "));
suggestion_handler_->VerifySuggestion(first_name_, 0); suggestion_handler_->VerifySuggestion(first_name_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my last name is: ")); suggester_->Suggest(base::UTF8ToUTF16("my last name is: "));
suggestion_handler_->VerifySuggestion(last_name_, 0); suggestion_handler_->VerifySuggestion(last_name_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my name is ")); suggester_->Suggest(base::UTF8ToUTF16("my name is "));
suggestion_handler_->VerifySuggestion(full_name_, 0); suggestion_handler_->VerifySuggestion(full_name_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("Hmm... my FULL name: ")); suggester_->Suggest(base::UTF8ToUTF16("Hmm... my FULL name: "));
suggestion_handler_->VerifySuggestion(full_name_, 0); suggestion_handler_->VerifySuggestion(full_name_, 0);
...@@ -365,19 +365,19 @@ TEST_F(PersonalInfoSuggesterTest, SuggestAddress) { ...@@ -365,19 +365,19 @@ TEST_F(PersonalInfoSuggesterTest, SuggestAddress) {
suggester_->Suggest(base::UTF8ToUTF16("my address is ")); suggester_->Suggest(base::UTF8ToUTF16("my address is "));
suggestion_handler_->VerifySuggestion(address_, 0); suggestion_handler_->VerifySuggestion(address_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("our address is: ")); suggester_->Suggest(base::UTF8ToUTF16("our address is: "));
suggestion_handler_->VerifySuggestion(address_, 0); suggestion_handler_->VerifySuggestion(address_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my shipping address: ")); suggester_->Suggest(base::UTF8ToUTF16("my shipping address: "));
suggestion_handler_->VerifySuggestion(address_, 0); suggestion_handler_->VerifySuggestion(address_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("our billing address is ")); suggester_->Suggest(base::UTF8ToUTF16("our billing address is "));
suggestion_handler_->VerifySuggestion(address_, 0); suggestion_handler_->VerifySuggestion(address_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my current address: ")); suggester_->Suggest(base::UTF8ToUTF16("my current address: "));
suggestion_handler_->VerifySuggestion(address_, 0); suggestion_handler_->VerifySuggestion(address_, 0);
...@@ -453,19 +453,19 @@ TEST_F(PersonalInfoSuggesterTest, SuggestPhoneNumber) { ...@@ -453,19 +453,19 @@ TEST_F(PersonalInfoSuggesterTest, SuggestPhoneNumber) {
suggester_->Suggest(base::UTF8ToUTF16("my phone number is ")); suggester_->Suggest(base::UTF8ToUTF16("my phone number is "));
suggestion_handler_->VerifySuggestion(phone_number_, 0); suggestion_handler_->VerifySuggestion(phone_number_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my number is ")); suggester_->Suggest(base::UTF8ToUTF16("my number is "));
suggestion_handler_->VerifySuggestion(phone_number_, 0); suggestion_handler_->VerifySuggestion(phone_number_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my mobile number is: ")); suggester_->Suggest(base::UTF8ToUTF16("my mobile number is: "));
suggestion_handler_->VerifySuggestion(phone_number_, 0); suggestion_handler_->VerifySuggestion(phone_number_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my number: ")); suggester_->Suggest(base::UTF8ToUTF16("my number: "));
suggestion_handler_->VerifySuggestion(phone_number_, 0); suggestion_handler_->VerifySuggestion(phone_number_, 0);
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggester_->Suggest(base::UTF8ToUTF16("my telephone number is ")); suggester_->Suggest(base::UTF8ToUTF16("my telephone number is "));
suggestion_handler_->VerifySuggestion(phone_number_, 0); suggestion_handler_->VerifySuggestion(phone_number_, 0);
...@@ -523,7 +523,7 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithDownEnter) { ...@@ -523,7 +523,7 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithDownEnter) {
profile_->set_profile_name(base::UTF16ToUTF8(email_)); profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0); suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
...@@ -542,7 +542,7 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithUpEnter) { ...@@ -542,7 +542,7 @@ TEST_F(PersonalInfoSuggesterTest, AcceptSuggestionWithUpEnter) {
profile_->set_profile_name(base::UTF16ToUTF8(email_)); profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Up"); SendKeyboardEvent("ArrowUp");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0); suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
...@@ -561,7 +561,7 @@ TEST_F(PersonalInfoSuggesterTest, DismissSuggestion) { ...@@ -561,7 +561,7 @@ TEST_F(PersonalInfoSuggesterTest, DismissSuggestion) {
personal_data_->AddProfile(autofill_profile); personal_data_->AddProfile(autofill_profile);
suggester_->Suggest(base::UTF8ToUTF16("my name is ")); suggester_->Suggest(base::UTF8ToUTF16("my name is "));
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0); suggestion_handler_->VerifySuggestion(base::EmptyString16(), 0);
EXPECT_FALSE(suggestion_handler_->IsSuggestionAccepted()); EXPECT_FALSE(suggestion_handler_->IsSuggestionAccepted());
} }
...@@ -598,7 +598,7 @@ TEST_F(PersonalInfoSuggesterTest, ...@@ -598,7 +598,7 @@ TEST_F(PersonalInfoSuggesterTest,
task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(5000)); task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(5000));
tts_handler_->VerifyAnnouncement(""); tts_handler_->VerifyAnnouncement("");
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(5000)); task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(5000));
tts_handler_->VerifyAnnouncement(""); tts_handler_->VerifyAnnouncement("");
...@@ -622,7 +622,7 @@ TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) { ...@@ -622,7 +622,7 @@ TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) {
tts_handler_->VerifyAnnouncement( tts_handler_->VerifyAnnouncement(
"Personal info suggested. Press down arrow to access; escape to ignore."); "Personal info suggested. Press down arrow to access; escape to ignore.");
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(200)); task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(200));
tts_handler_->VerifyAnnouncement("Suggestion inserted."); tts_handler_->VerifyAnnouncement("Suggestion inserted.");
...@@ -631,7 +631,7 @@ TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) { ...@@ -631,7 +631,7 @@ TEST_F(PersonalInfoSuggesterTest, AnnounceSpokenFeedbackWhenChromeVoxIsOn) {
task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(1500)); task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(1500));
tts_handler_->VerifyAnnouncement( tts_handler_->VerifyAnnouncement(
"Personal info suggested. Press down arrow to access; escape to ignore."); "Personal info suggested. Press down arrow to access; escape to ignore.");
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(200)); task_environment_.FastForwardBy(base::TimeDelta::FromMilliseconds(200));
tts_handler_->VerifyAnnouncement("Suggestion dismissed."); tts_handler_->VerifyAnnouncement("Suggestion dismissed.");
} }
...@@ -644,7 +644,7 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowAnnotationAfterMaxAcceptanceCount) { ...@@ -644,7 +644,7 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowAnnotationAfterMaxAcceptanceCount) {
for (int i = 0; i < kMaxAcceptanceCount; i++) { for (int i = 0; i < kMaxAcceptanceCount; i++) {
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggestion_handler_->VerifyShowAnnotation(true); suggestion_handler_->VerifyShowAnnotation(true);
} }
...@@ -665,7 +665,7 @@ TEST_F(PersonalInfoSuggesterTest, ShowSettingLink) { ...@@ -665,7 +665,7 @@ TEST_F(PersonalInfoSuggesterTest, ShowSettingLink) {
for (int i = 0; i < kMaxShowSettingCount; i++) { for (int i = 0; i < kMaxShowSettingCount; i++) {
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
// Dismiss suggestion. // Dismiss suggestion.
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
suggestion_handler_->VerifyShowSettingLink(true); suggestion_handler_->VerifyShowSettingLink(true);
} }
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
...@@ -684,7 +684,7 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowSettingLinkAfterAcceptance) { ...@@ -684,7 +684,7 @@ TEST_F(PersonalInfoSuggesterTest, DoNotShowSettingLinkAfterAcceptance) {
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
suggestion_handler_->VerifyShowSettingLink(true); suggestion_handler_->VerifyShowSettingLink(true);
// Accept suggestion. // Accept suggestion.
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
suggestion_handler_->VerifyShowSettingLink(false); suggestion_handler_->VerifyShowSettingLink(false);
...@@ -703,8 +703,8 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithDownDownEnter) { ...@@ -703,8 +703,8 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithDownDownEnter) {
profile_->set_profile_name(base::UTF16ToUTF8(email_)); profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggestion_handler_->VerifyButtonClicked( suggestion_handler_->VerifyButtonClicked(
...@@ -724,7 +724,7 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithUpEnter) { ...@@ -724,7 +724,7 @@ TEST_F(PersonalInfoSuggesterTest, ClickSettingsWithUpEnter) {
profile_->set_profile_name(base::UTF16ToUTF8(email_)); profile_->set_profile_name(base::UTF16ToUTF8(email_));
suggester_->Suggest(base::UTF8ToUTF16("my email is ")); suggester_->Suggest(base::UTF8ToUTF16("my email is "));
SendKeyboardEvent("Up"); SendKeyboardEvent("ArrowUp");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
suggestion_handler_->VerifyButtonClicked( suggestion_handler_->VerifyButtonClicked(
...@@ -745,8 +745,8 @@ TEST_F(PersonalInfoSuggesterTest, RecordsTimeToAccept) { ...@@ -745,8 +745,8 @@ TEST_F(PersonalInfoSuggesterTest, RecordsTimeToAccept) {
EXPECT_TRUE(suggester_->Suggest(base::UTF8ToUTF16("my email is "))); EXPECT_TRUE(suggester_->Suggest(base::UTF8ToUTF16("my email is ")));
// Press "Down" to choose and accept the suggestion. // Press "ArrowDown" to choose and accept the suggestion.
SendKeyboardEvent("Down"); SendKeyboardEvent("ArrowDown");
SendKeyboardEvent("Enter"); SendKeyboardEvent("Enter");
histogram_tester.ExpectTotalCount( histogram_tester.ExpectTotalCount(
"InputMethod.Assistive.TimeToAccept.PersonalInfo", 1); "InputMethod.Assistive.TimeToAccept.PersonalInfo", 1);
...@@ -765,8 +765,8 @@ TEST_F(PersonalInfoSuggesterTest, RecordsTimeToDismiss) { ...@@ -765,8 +765,8 @@ TEST_F(PersonalInfoSuggesterTest, RecordsTimeToDismiss) {
profile_->set_profile_name(base::UTF16ToUTF8(email_)); profile_->set_profile_name(base::UTF16ToUTF8(email_));
EXPECT_TRUE(suggester_->Suggest(base::UTF8ToUTF16("my email is "))); EXPECT_TRUE(suggester_->Suggest(base::UTF8ToUTF16("my email is ")));
// Press "Esc" to dismiss. // Press "Escape" to dismiss.
SendKeyboardEvent("Esc"); SendKeyboardEvent("Escape");
histogram_tester.ExpectTotalCount( histogram_tester.ExpectTotalCount(
"InputMethod.Assistive.TimeToDismiss.PersonalInfo", 1); "InputMethod.Assistive.TimeToDismiss.PersonalInfo", 1);
} }
......
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