Index: ash/wm/toplevel_window_event_filter.h |
diff --git a/ash/wm/toplevel_window_event_filter.h b/ash/wm/toplevel_window_event_filter.h |
index de778def69512e2116466c3c4e6414f5ae4b7f87..310caea24008afead7b8153a34686dfba6c142b9 100644 |
--- a/ash/wm/toplevel_window_event_filter.h |
+++ b/ash/wm/toplevel_window_event_filter.h |
@@ -13,6 +13,7 @@ |
#include "ui/aura/client/window_move_client.h" |
#include "ui/aura/event_filter.h" |
#include "ash/ash_export.h" |
+#include "ash/display/display_controller.h" |
#include "ui/gfx/point.h" |
#include "ui/gfx/rect.h" |
@@ -30,7 +31,8 @@ class WindowResizer; |
class ASH_EXPORT ToplevelWindowEventFilter : |
public aura::EventFilter, |
- public aura::client::WindowMoveClient { |
+ public aura::client::WindowMoveClient, |
+ public DisplayController::Observer { |
public: |
explicit ToplevelWindowEventFilter(aura::Window* owner); |
virtual ~ToplevelWindowEventFilter(); |
@@ -54,10 +56,14 @@ class ASH_EXPORT ToplevelWindowEventFilter : |
ui::GestureEvent* event) OVERRIDE; |
// Overridden form aura::client::WindowMoveClient: |
- virtual void RunMoveLoop(aura::Window* source, |
- const gfx::Point& drag_offset) OVERRIDE; |
+ virtual aura::client::WindowMoveResult RunMoveLoop( |
+ aura::Window* source, |
+ const gfx::Point& drag_offset) OVERRIDE; |
virtual void EndMoveLoop() OVERRIDE; |
+ // Overridden form ash::DisplayController::Observer: |
+ virtual void OnDisplayConfigurationChanging() OVERRIDE; |
+ |
protected: |
// Creates a new WindowResizer. |
virtual WindowResizer* CreateWindowResizer(aura::Window* window, |
@@ -88,6 +94,10 @@ class ASH_EXPORT ToplevelWindowEventFilter : |
// Are we running a nested message loop from RunMoveLoop(). |
bool in_move_loop_; |
+ // Was the move operation cancelled? Used only when the nested loop |
+ // is used to move a window. |
+ bool move_cancelled_; |
+ |
// Is a gesture-resize in progress? |
bool in_gesture_resize_; |