| Index: ui/views/widget/desktop_native_widget_helper_aura.h
|
| diff --git a/ui/views/widget/desktop_native_widget_helper_aura.h b/ui/views/widget/desktop_native_widget_helper_aura.h
|
| index 90d41cb31ac33dce7bf818a7ed11d784a2ad0c8e..20b5caa5432aca47f45692c6c484072456e32d37 100644
|
| --- a/ui/views/widget/desktop_native_widget_helper_aura.h
|
| +++ b/ui/views/widget/desktop_native_widget_helper_aura.h
|
| @@ -6,6 +6,7 @@
|
| #define UI_VIEWS_WIDGET_DESKTOP_NATIVE_WIDGET_HELPER_AURA_H_
|
|
|
| #include "ui/aura/root_window_observer.h"
|
| +#include "ui/aura/window_observer.h"
|
| #include "ui/gfx/rect.h"
|
| #include "ui/views/views_export.h"
|
| #include "ui/views/widget/native_widget_helper_aura.h"
|
| @@ -14,6 +15,7 @@
|
| namespace aura {
|
| class RootWindow;
|
| class DesktopCursorClient;
|
| +class DesktopWindowMoveClient;
|
| namespace client {
|
| class ScreenPositionClient;
|
| }
|
| @@ -34,6 +36,7 @@ namespace views {
|
| class NativeWidgetAura;
|
| class WidgetMessageFilter;
|
| #if defined(USE_X11)
|
| +class X11DesktopWindowMoveClient;
|
| class X11WindowEventFilter;
|
| #endif
|
|
|
| @@ -41,6 +44,7 @@ class X11WindowEventFilter;
|
| // NativeWidgetAuras to work in a traditional desktop environment.
|
| class VIEWS_EXPORT DesktopNativeWidgetHelperAura
|
| : public NativeWidgetHelperAura,
|
| + public aura::WindowObserver,
|
| public aura::RootWindowObserver {
|
| public:
|
| explicit DesktopNativeWidgetHelperAura(NativeWidgetAura* widget);
|
| @@ -55,19 +59,28 @@ class VIEWS_EXPORT DesktopNativeWidgetHelperAura
|
| virtual void PreInitialize(aura::Window* window,
|
| const Widget::InitParams& params) OVERRIDE;
|
| virtual void PostInitialize() OVERRIDE;
|
| - virtual void ShowRootWindow() OVERRIDE;
|
| virtual aura::RootWindow* GetRootWindow() OVERRIDE;
|
| virtual gfx::Rect ModifyAndSetBounds(const gfx::Rect& bounds) OVERRIDE;
|
|
|
| + // Overridden from aura::WindowObserver:
|
| + virtual void OnWindowVisibilityChanged(aura::Window* window,
|
| + bool visible) OVERRIDE;
|
| +
|
| // Overridden from aura::RootWindowObserver:
|
| virtual void OnRootWindowResized(const aura::RootWindow* root,
|
| const gfx::Size& old_size) OVERRIDE;
|
| + virtual void OnRootWindowMoved(const aura::RootWindow* root,
|
| + const gfx::Point& new_origin) OVERRIDE;
|
| virtual void OnRootWindowHostClosed(const aura::RootWindow* root) OVERRIDE;
|
|
|
| private:
|
| // A weak pointer back to our owning widget.
|
| NativeWidgetAura* widget_;
|
|
|
| + // The window from the NativeWidgetAura. We observe events on it, and proxy
|
| + // visibility stuff to
|
| + aura::Window* window_;
|
| +
|
| // Optionally, a RootWindow that we attach ourselves to.
|
| scoped_ptr<aura::RootWindow> root_window_;
|
|
|
| @@ -93,10 +106,13 @@ class VIEWS_EXPORT DesktopNativeWidgetHelperAura
|
| // A simple cursor client which just forwards events to the RootWindow.
|
| scoped_ptr<aura::DesktopCursorClient> cursor_client_;
|
|
|
| + // Handles spinning up the nested run loop for tab dragging.
|
| +
|
| #if defined(OS_WIN)
|
| scoped_ptr<ui::HWNDMessageFilter> hwnd_message_filter_;
|
| #elif defined(USE_X11)
|
| scoped_ptr<X11WindowEventFilter> x11_window_event_filter_;
|
| + scoped_ptr<X11DesktopWindowMoveClient> x11_window_move_client_;
|
| #endif
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DesktopNativeWidgetHelperAura);
|
|
|