Distinguish between keystroke and character events.
As described in its class comment, a ui::KeyEvent can be either of two
distinct kinds. When constructing a ui::KeyEvent from a native event,
the distinction is made by a new IsCharFromNative() call, in the same
way that other ui::Event properties are determined, instead of having the
caller inspect the native event itself. Removing the redundant |is_char|
parameter from constructors also prevent accidental synthetic `mixed'
events that consuming code does not handle.
Incidentally, while KeyEvent constructor calls are being touched, use
EF_NONE instead of 0 to make that argument's purpose clear.
BUG=380349
TEST=unit_tests,ash_unittests,events_unittests,ui_unittests,interactive_ui_tests
Review URL: https://codereview.chromium.org/404203003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285605 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
index cdd5b76..4df68a10 100644
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc
@@ -64,7 +64,7 @@
ui::KeyboardCode ui_keycode,
int ui_flags,
ui::EventType ui_type) {
- const ui::KeyEvent event(ui_type, ui_keycode, ui_flags, false);
+ const ui::KeyEvent event(ui_type, ui_keycode, ui_flags);
scoped_ptr<ui::Event> new_event;
rewriter->RewriteEvent(event, &new_event);
if (new_event)
@@ -99,7 +99,7 @@
chromeos::EventRewriter* rewriter,
const KeyTestCase& test,
XEvent* xevent) {
- ui::KeyEvent xkey_event(xevent, false);
+ ui::KeyEvent xkey_event(xevent);
if (test.test & KeyTestCase::NUMPAD)
xkey_event.set_flags(xkey_event.flags() | ui::EF_NUMPAD_KEY);
// Verify that the X11-based key event is as expected.
@@ -117,7 +117,7 @@
// Build a new ui::KeyEvent from the rewritten native component,
// and check that it also matches the rewritten event.
EXPECT_TRUE(rewritten_key_event.native_event());
- ui::KeyEvent from_native_event(rewritten_key_event.native_event(), false);
+ ui::KeyEvent from_native_event(rewritten_key_event.native_event());
EXPECT_EQ(expected, GetKeyEventAsString(from_native_event));
}
}
@@ -194,7 +194,7 @@
xev.InitKeyEvent(test.type, test.input.key_code, test.input.flags);
XEvent* xevent = xev;
if (xevent->xkey.keycode) {
- ui::KeyEvent xkey_event(xevent, false);
+ ui::KeyEvent xkey_event(xevent);
// Rewrite the event and check the result.
scoped_ptr<ui::Event> new_event;
rewriter->RewriteEvent(xkey_event, &new_event);
@@ -1713,7 +1713,7 @@
// Send left control press.
{
ui::KeyEvent keyevent(
- ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, ui::EF_FINAL, false);
+ ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, ui::EF_FINAL);
scoped_ptr<ui::Event> new_event;
// Control should NOT be remapped to Alt if EF_FINAL is set.
EXPECT_EQ(ui::EVENT_REWRITE_CONTINUE,
@@ -1728,7 +1728,7 @@
XEvent* xevent = xev;
xevent->xkey.keycode = XKeysymToKeycode(gfx::GetXDisplay(), XK_Control_L);
xevent->xkey.send_event = True; // XSendEvent() always does this.
- ui::KeyEvent keyevent(xev, false /* is_char */);
+ ui::KeyEvent keyevent(xev);
scoped_ptr<ui::Event> new_event;
// Control should NOT be remapped to Alt if send_event
// flag in the event is True.
@@ -1832,7 +1832,7 @@
}
void SendKeyEvent(ui::EventType type, ui::KeyboardCode key_code) {
- ui::KeyEvent press(type, key_code, ui::EF_NONE, false);
+ ui::KeyEvent press(type, key_code, ui::EF_NONE);
ui::EventDispatchDetails details = Send(&press);
CHECK(!details.dispatcher_destroyed);
}
@@ -1891,7 +1891,7 @@
ScopedVector<ui::Event> events;
// Create a simulated keypress of F1 targetted at the window.
- ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, 0, false);
+ ui::KeyEvent press_f1(ui::ET_KEY_PRESSED, ui::VKEY_F1, ui::EF_NONE);
// Simulate an apps v2 window that has requested top row keys as function
// keys. The event should not be rewritten.
@@ -2197,7 +2197,7 @@
// Test key press event is correctly modified and modifier release
// event is sent.
- ui::KeyEvent press(ui::ET_KEY_PRESSED, ui::VKEY_C, ui::EF_NONE, false);
+ ui::KeyEvent press(ui::ET_KEY_PRESSED, ui::VKEY_C, ui::EF_NONE);
ui::EventDispatchDetails details = Send(&press);
PopEvents(&events);
EXPECT_EQ(2u, events.size());
@@ -2209,7 +2209,7 @@
static_cast<ui::KeyEvent*>(events[1])->key_code());
// Test key release event is not modified.
- ui::KeyEvent release(ui::ET_KEY_RELEASED, ui::VKEY_C, ui::EF_NONE, false);
+ ui::KeyEvent release(ui::ET_KEY_RELEASED, ui::VKEY_C, ui::EF_NONE);
details = Send(&release);
ASSERT_FALSE(details.dispatcher_destroyed);
PopEvents(&events);