| 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;
|
| }
|
|
|
|
|