Index: content/test/render_view_test.cc |
diff --git a/content/test/render_view_test.cc b/content/test/render_view_test.cc |
index 154dd4c5f59636f4b807580a7a3712a542373deb..1cb8fda1fa53a0eca29a5bd376610dd84ad85821 100644 |
--- a/content/test/render_view_test.cc |
+++ b/content/test/render_view_test.cc |
@@ -30,10 +30,8 @@ |
#if defined(USE_AURA) && defined(USE_X11) |
#include <X11/Xlib.h> |
-#include <X11/keysym.h> |
#include "ui/base/events.h" |
#include "ui/base/keycodes/keyboard_code_conversion.h" |
-#include "ui/base/keycodes/keyboard_code_conversion_x.h" |
#include "ui/base/x/x11_util.h" |
#endif |
@@ -50,65 +48,6 @@ const int32 kOpenerId = 7; |
const int32 kRouteId = 5; |
#if defined(USE_AURA) && defined(USE_X11) |
-// Converts ui::EventType to XKeyEvent state. |
-unsigned int XKeyEventState(int flags) { |
- return |
- ((flags & ui::EF_SHIFT_DOWN) ? ShiftMask : 0) | |
- ((flags & ui::EF_CONTROL_DOWN) ? ControlMask : 0) | |
- ((flags & ui::EF_CAPS_LOCK_DOWN) ? LockMask : 0); |
-} |
- |
-// Converts ui::EventType to XKeyEvent type. |
-int XKeyEventType(ui::EventType type) { |
- switch (type) { |
- case ui::ET_KEY_PRESSED: |
- return KeyPress; |
- case ui::ET_KEY_RELEASED: |
- return KeyRelease; |
- default: |
- return 0; |
- } |
-} |
- |
-// Converts ui::KeyboardCode to XKeyEvent keycode. |
-unsigned int XKeyEventKeyCode(ui::KeyboardCode key_code, |
- int flags, |
- Display* display) { |
- const int keysym = ui::XKeysymForWindowsKeyCode(key_code, |
- flags & ui::EF_SHIFT_DOWN); |
- // The test assumes the keycode for XK_less is equal to the one of XK_comma, |
- // but XKeysymToKeycode returns 94 for XK_less while it returns 59 for |
- // XK_comma. Here we convert the value for XK_less to the value for XK_comma. |
- return (keysym == XK_less) ? 59 : XKeysymToKeycode(display, keysym); |
-} |
- |
-// Creates a fake XEvent for testing. |
-XEvent* CreateFakeXEvent(ui::EventType type, |
- ui::KeyboardCode key_code, |
- int flags) { |
- Display* display = ui::GetXDisplay(); |
- XKeyEvent key_event; |
- key_event.type = XKeyEventType(type); |
- key_event.serial = 0; |
- key_event.send_event = 0; |
- key_event.display = display; |
- key_event.time = 0; |
- key_event.window = 0; |
- key_event.root = 0; |
- key_event.subwindow = 0; |
- key_event.x = 0; |
- key_event.y = 0; |
- key_event.x_root = 0; |
- key_event.y_root = 0; |
- key_event.state = XKeyEventState(flags); |
- key_event.keycode = XKeyEventKeyCode(key_code, flags, display); |
- key_event.same_screen = 1; |
- XEvent* event = new XEvent; |
- event->type = key_event.type; |
- event->xkey = key_event; |
- return event; |
-} |
- |
// Converts MockKeyboard::Modifiers to ui::EventFlags. |
int ConvertMockKeyboardModifier(MockKeyboard::Modifiers modifiers) { |
static struct ModifierMap { |
@@ -306,27 +245,30 @@ int RenderViewTest::SendKeyEvent(MockKeyboard::Layout layout, |
CHECK(output); |
const int flags = ConvertMockKeyboardModifier(modifiers); |
- scoped_ptr<XEvent> xevent1(CreateFakeXEvent( |
- ui::ET_KEY_PRESSED, |
- static_cast<ui::KeyboardCode>(key_code), |
- flags)); |
- aura::KeyEvent event1(xevent1.get(), false); |
+ XEvent xevent1; |
+ InitXKeyEventForTesting(ui::ET_KEY_PRESSED, |
+ static_cast<ui::KeyboardCode>(key_code), |
+ flags, |
+ &xevent1); |
+ aura::KeyEvent event1(&xevent1, false); |
NativeWebKeyboardEvent keydown_event(&event1); |
SendNativeKeyEvent(keydown_event); |
- scoped_ptr<XEvent> xevent2(CreateFakeXEvent( |
- ui::ET_KEY_PRESSED, |
- static_cast<ui::KeyboardCode>(key_code), |
- flags)); |
- aura::KeyEvent event2(xevent2.get(), true); |
+ XEvent xevent2; |
+ InitXKeyEventForTesting(ui::ET_KEY_PRESSED, |
+ static_cast<ui::KeyboardCode>(key_code), |
+ flags, |
+ &xevent2); |
+ aura::KeyEvent event2(&xevent2, true); |
NativeWebKeyboardEvent char_event(&event2); |
SendNativeKeyEvent(char_event); |
- scoped_ptr<XEvent> xevent3(CreateFakeXEvent( |
- ui::ET_KEY_RELEASED, |
- static_cast<ui::KeyboardCode>(key_code), |
- flags)); |
- aura::KeyEvent event3(xevent3.get(), false); |
+ XEvent xevent3; |
+ InitXKeyEventForTesting(ui::ET_KEY_RELEASED, |
+ static_cast<ui::KeyboardCode>(key_code), |
+ flags, |
+ &xevent3); |
+ aura::KeyEvent event3(&xevent3, false); |
NativeWebKeyboardEvent keyup_event(&event3); |
SendNativeKeyEvent(keyup_event); |