Chromium Code Reviews| Index: ui/aura/root_window_host_linux.cc |
| diff --git a/ui/aura/root_window_host_linux.cc b/ui/aura/root_window_host_linux.cc |
| index cb2a5517cc78839c91a3b7356eb61c4cae345f10..ab68c8d39b9f42fc1aa7457c9d8a1ed0268ecb9f 100644 |
| --- a/ui/aura/root_window_host_linux.cc |
| +++ b/ui/aura/root_window_host_linux.cc |
| @@ -23,6 +23,7 @@ |
| #include "ui/base/keycodes/keyboard_codes.h" |
| #include "ui/base/touch/touch_factory.h" |
| #include "ui/base/x/x11_util.h" |
| +#include "ui/base/view_prop.h" |
| #include "ui/gfx/compositor/layer.h" |
| using std::max; |
| @@ -36,6 +37,8 @@ namespace { |
| const int kBackMouseButton = 8; |
| const int kForwardMouseButton = 9; |
| +const char* kRootWindowHostLinuxKey = "__AURA_ROOT_WINDOW_HOST_LINUX__"; |
|
Daniel Erat
2012/05/01 22:51:48
nit: i think that "const char kRootWindowHostLinux
|
| + |
| // The events reported for slave devices can have incorrect information for some |
| // fields. This utility function is used to check for such inconsistencies. |
| void CheckXEventForConsistency(XEvent* xevent) { |
| @@ -314,6 +317,8 @@ RootWindowHostLinux::RootWindowHostLinux(const gfx::Rect& bounds) |
| static_cast<DispatcherLinux*>(Env::GetInstance()->GetDispatcher())-> |
| WindowDispatcherCreated(xwindow_, this); |
| + prop_.reset(new ui::ViewProp(xwindow_, kRootWindowHostLinuxKey, this)); |
| + |
| long event_mask = ButtonPressMask | ButtonReleaseMask | FocusChangeMask | |
| KeyPressMask | KeyReleaseMask | |
| EnterWindowMask | LeaveWindowMask | |
| @@ -806,8 +811,8 @@ RootWindowHost* RootWindowHost::Create(const gfx::Rect& bounds) { |
| // static |
| RootWindowHost* RootWindowHost::GetForAcceleratedWidget( |
| gfx::AcceleratedWidget accelerated_widget) { |
| - NOTIMPLEMENTED(); |
| - return NULL; // TODO(erg): implement if necessary or remove this comment. |
| + return reinterpret_cast<RootWindowHost*>( |
| + ui::ViewProp::GetValue(accelerated_widget, kRootWindowHostLinuxKey)); |
| } |
| // static |