Index: ui/events/platform/x11/x11_event_source.h |
diff --git a/ui/events/platform/x11/x11_event_source.h b/ui/events/platform/x11/x11_event_source.h |
index 26d646016607273684183310df1a393d8e0d1558..292136630c0ed848d38d2fd137f29919caf3f0c0 100644 |
--- a/ui/events/platform/x11/x11_event_source.h |
+++ b/ui/events/platform/x11/x11_event_source.h |
@@ -13,8 +13,6 @@ |
#include "ui/events/platform/platform_event_source.h" |
#include "ui/gfx/x/x11_types.h" |
-typedef struct _GPollFD GPollFD; |
-typedef struct _GSource GSource; |
typedef union _XEvent XEvent; |
typedef unsigned long XID; |
@@ -22,8 +20,8 @@ namespace ui { |
class X11HotplugEventHandler; |
-// A PlatformEventSource implementation for reading events from X11 server and |
-// dispatching the events to the appropriate dispatcher. |
+// Abstract PlatformEventSource implementation for reading events from X11 |
+// server. |
class EVENTS_EXPORT X11EventSource : public PlatformEventSource { |
public: |
explicit X11EventSource(XDisplay* display); |
@@ -31,7 +29,7 @@ class EVENTS_EXPORT X11EventSource : public PlatformEventSource { |
static X11EventSource* GetInstance(); |
- // Called by the glib source dispatch function. Processes all (if any) |
+ // Called when there is a new XEvent available. Processes all (if any) |
// available X events. |
void DispatchXEvents(); |
@@ -47,25 +45,27 @@ class EVENTS_EXPORT X11EventSource : public PlatformEventSource { |
void BlockUntilWindowMapped(XID window); |
protected: |
- XDisplay* display() { return display_; } |
- |
- private: |
// Extracts cookie data from |xevent| if it's of GenericType, and dispatches |
// the event. This function also frees up the cookie data after dispatch is |
// complete. |
- uint32_t ExtractCookieDataDispatchEvent(XEvent* xevent); |
+ void ExtractCookieDataDispatchEvent(XEvent* xevent); |
+ |
+ // Handles updates after event has been dispatched. |
+ void PostDispatchEvent(XEvent* xevent); |
// PlatformEventSource: |
- uint32_t DispatchEvent(XEvent* xevent) override; |
void StopCurrentEventStream() override; |
void OnDispatcherListChanged() override; |
+ XDisplay* display() { return display_; } |
+ |
+ private: |
// The connection to the X11 server used to receive the events. |
XDisplay* display_; |
// Keeps track of whether this source should continue to dispatch all the |
// available events. |
- bool continue_stream_; |
+ bool continue_stream_ = true; |
scoped_ptr<X11HotplugEventHandler> hotplug_event_handler_; |