Index: ui/views/test/x11_property_change_waiter.cc |
diff --git a/ui/views/test/x11_property_change_waiter.cc b/ui/views/test/x11_property_change_waiter.cc |
index 7211f827cbe8476f08bef62a400beeeb50ec2695..c3adc55439d81a9a1f20fad6b3332b48b5c587bf 100644 |
--- a/ui/views/test/x11_property_change_waiter.cc |
+++ b/ui/views/test/x11_property_change_waiter.cc |
@@ -7,6 +7,7 @@ |
#include <X11/Xlib.h> |
#include "base/run_loop.h" |
+#include "ui/base/x/x11_window_event_manager.h" |
#include "ui/events/platform/platform_event_source.h" |
#include "ui/events/platform/scoped_event_dispatcher.h" |
#include "ui/gfx/x/x11_atom_cache.h" |
@@ -15,19 +16,14 @@ namespace views { |
X11PropertyChangeWaiter::X11PropertyChangeWaiter(XID window, |
const char* property) |
- : x_window_(window), |
- property_(property), |
- wait_(true), |
- old_event_mask_(0) { |
+ : x_window_(window), property_(property), wait_(true) { |
Display* display = gfx::GetXDisplay(); |
// Ensure that we are listening to PropertyNotify events for |window|. This |
// is not the case for windows which were not created by |
// DesktopWindowTreeHostX11. |
- XWindowAttributes attributes; |
- XGetWindowAttributes(display, x_window_, &attributes); |
- old_event_mask_ = attributes.your_event_mask; |
- XSelectInput(display, x_window_, old_event_mask_ | PropertyChangeMask); |
+ x_window_events_.reset( |
+ new ui::XScopedEventSelector(x_window_, PropertyChangeMask)); |
const char* kAtomsToCache[] = { property, NULL }; |
atom_cache_.reset(new ui::X11AtomCache(display, kAtomsToCache)); |
@@ -39,9 +35,7 @@ X11PropertyChangeWaiter::X11PropertyChangeWaiter(XID window, |
ui::PlatformEventSource::GetInstance()->OverrideDispatcher(this); |
} |
-X11PropertyChangeWaiter::~X11PropertyChangeWaiter() { |
- XSelectInput(gfx::GetXDisplay(), x_window_, old_event_mask_); |
-} |
+X11PropertyChangeWaiter::~X11PropertyChangeWaiter() {} |
void X11PropertyChangeWaiter::Wait() { |
if (!wait_) |