Index: chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.cc |
diff --git a/chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.cc b/chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.cc |
index 1af7898ad6469d5bfb30baf63db964e48bce2942..bc39182de37655277b71d093977df93ca0475f6a 100644 |
--- a/chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.cc |
+++ b/chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.cc |
@@ -4,7 +4,6 @@ |
#include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h" |
-#include <gdk/gdkx.h> |
#include <X11/Xlib.h> |
#include <X11/extensions/XInput2.h> |
@@ -76,12 +75,7 @@ XInputHierarchyChangedEventListener::XInputHierarchyChangedEventListener() |
: stopped_(false), |
xiopcode_(GetXInputOpCode()) { |
SelectXInputEvents(); |
- |
-#if defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
- MessageLoopForUI::current()->AddObserver(this); |
-#else |
- gdk_window_add_filter(NULL, GdkEventFilter, this); |
-#endif |
+ Init(); |
} |
XInputHierarchyChangedEventListener::~XInputHierarchyChangedEventListener() { |
@@ -92,60 +86,21 @@ void XInputHierarchyChangedEventListener::Stop() { |
if (stopped_) |
return; |
-#if defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
- MessageLoopForUI::current()->RemoveObserver(this); |
-#else |
- gdk_window_remove_filter(NULL, GdkEventFilter, this); |
-#endif |
+ StopImpl(); |
stopped_ = true; |
xiopcode_ = -1; |
} |
-#if defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
-base::EventStatus XInputHierarchyChangedEventListener::WillProcessEvent( |
- const base::NativeEvent& event) { |
- // There may be multiple listeners for the XI_HierarchyChanged event. So |
- // always return EVENT_CONTINUE to make sure all the listeners receive the |
- // event. |
- ProcessedXEvent(event); |
- return base::EVENT_CONTINUE; |
-} |
- |
-void XInputHierarchyChangedEventListener::DidProcessEvent( |
- const base::NativeEvent& event) { |
-} |
-#else // defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
-// static |
-GdkFilterReturn XInputHierarchyChangedEventListener::GdkEventFilter( |
- GdkXEvent* gxevent, GdkEvent* gevent, gpointer data) { |
- XInputHierarchyChangedEventListener* listener = |
- static_cast<XInputHierarchyChangedEventListener*>(data); |
- XEvent* xevent = static_cast<XEvent*>(gxevent); |
- |
- return listener->ProcessedXEvent(xevent) ? GDK_FILTER_REMOVE |
- : GDK_FILTER_CONTINUE; |
-} |
-#endif // defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
- |
bool XInputHierarchyChangedEventListener::ProcessedXEvent(XEvent* xevent) { |
if ((xevent->xcookie.type != GenericEvent) || |
(xevent->xcookie.extension != xiopcode_)) { |
return false; |
} |
-#if !defined(TOUCH_UI) |
- if (!XGetEventData(xevent->xgeneric.display, &xevent->xcookie)) { |
- VLOG(1) << "XGetEventData failed"; |
- return false; |
- } |
-#endif |
XGenericEventCookie* cookie = &(xevent->xcookie); |
const bool should_consume = (cookie->evtype == XI_HierarchyChanged); |
if (should_consume) |
HandleHierarchyChangedEvent(static_cast<XIHierarchyEvent*>(cookie->data)); |
-#if !defined(TOUCH_UI) |
- XFreeEventData(xevent->xgeneric.display, cookie); |
-#endif |
return should_consume; |
} |