| Index: ui/aura/desktop_host_linux.cc
|
| diff --git a/ui/aura/desktop_host_linux.cc b/ui/aura/desktop_host_linux.cc
|
| index e20b1c57403bbeba3bf1b7d9e8b18aaec46642fc..2de31e68518240eb3f72ad280935cb2d5cedc885 100644
|
| --- a/ui/aura/desktop_host_linux.cc
|
| +++ b/ui/aura/desktop_host_linux.cc
|
| @@ -240,6 +240,7 @@ class DesktopHostLinux : public DesktopHost {
|
| virtual void SetSize(const gfx::Size& size) OVERRIDE;
|
| virtual void SetCursor(gfx::NativeCursor cursor_type) OVERRIDE;
|
| virtual gfx::Point QueryMouseLocation() OVERRIDE;
|
| + virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE;
|
|
|
| // Returns true if there's an X window manager present... in most cases. Some
|
| // window managers (notably, ion3) don't implement enough of ICCCM for us to
|
| @@ -481,6 +482,15 @@ gfx::Point DesktopHostLinux::QueryMouseLocation() {
|
| max(0, min(size_.height(), win_y_return)));
|
| }
|
|
|
| +void DesktopHostLinux::PostNativeEvent(const base::NativeEvent& native_event) {
|
| + DCHECK(xwindow_);
|
| + DCHECK(xdisplay_);
|
| + XEvent xevent = *native_event;
|
| + xevent.xany.display = xdisplay_;
|
| + xevent.xany.window = xwindow_;
|
| + ::XPutBackEvent(xdisplay_, &xevent);
|
| +}
|
| +
|
| bool DesktopHostLinux::IsWindowManagerPresent() {
|
| // Per ICCCM 2.8, "Manager Selections", window managers should take ownership
|
| // of WM_Sn selections (where n is a screen number).
|
|
|