Commit ef3a78ab authored by Justin Donnelly's avatar Justin Donnelly Committed by Commit Bot

Enable shift-up and shift-down handling for text selection.

Bug: 892216
Change-Id: I728bde6f03e7896df093d1abb75027dba726fa47
Reviewed-on: https://chromium-review.googlesource.com/c/1269110Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Commit-Queue: Justin Donnelly <jdonnelly@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598755}
parent 786b1994
......@@ -151,6 +151,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::KeyEvent& event) {
return shift
? ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
: ui::TextEditCommand::MOVE_TO_END_OF_LINE;
case ui::VKEY_UP:
return shift ? ui::TextEditCommand::
MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_DOWN:
return shift
? ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
: ui::TextEditCommand::INVALID_COMMAND;
case ui::VKEY_BACK:
if (!control)
return ui::TextEditCommand::DELETE_BACKWARD;
......
......@@ -1067,27 +1067,18 @@ TEST_F(TextfieldTest, MoveUpDownAndModifySelection) {
textfield_->SetSelectionRange(gfx::Range(6));
// Shift+[Up/Down] on Mac should execute the command
// MOVE_[UP/DOWN]_AND_MODIFY_SELECTION. On other platforms, textfield won't
// handle these events.
// Shift+[Up/Down] should select the text to the beginning and end of the
// line, respectively.
SendKeyEvent(ui::VKEY_UP, true /* shift */, false /* command */);
EXPECT_TRUE(textfield_->key_received());
#if defined(OS_MACOSX)
EXPECT_TRUE(textfield_->key_handled());
EXPECT_EQ(gfx::Range(6, 0), textfield_->GetSelectedRange());
#else
EXPECT_FALSE(textfield_->key_handled());
#endif
textfield_->clear();
SendKeyEvent(ui::VKEY_DOWN, true /* shift */, false /* command */);
EXPECT_TRUE(textfield_->key_received());
#if defined(OS_MACOSX)
EXPECT_TRUE(textfield_->key_handled());
EXPECT_EQ(gfx::Range(6, 11), textfield_->GetSelectedRange());
#else
EXPECT_FALSE(textfield_->key_handled());
#endif
textfield_->clear();
}
......
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