summaryrefslogtreecommitdiffstats
path: root/ash/drag_drop/drag_drop_controller.h
diff options
context:
space:
mode:
authorvarunjain@chromium.org <varunjain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-03 18:31:09 +0000
committervarunjain@chromium.org <varunjain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-03 18:31:09 +0000
commit341ad584d4d3145f373ed670198df3a00e66ffe0 (patch)
treeaac04fffab369787378c89e4849e45c6edd79184 /ash/drag_drop/drag_drop_controller.h
parentefbbe0d3a7e678be15646d39814c0e7d22878e5d (diff)
downloadchromium_src-341ad584d4d3145f373ed670198df3a00e66ffe0.zip
chromium_src-341ad584d4d3145f373ed670198df3a00e66ffe0.tar.gz
chromium_src-341ad584d4d3145f373ed670198df3a00e66ffe0.tar.bz2
aura: This CL fixes a bunch of issues:
1. NWA should supply the right value for drag_operation to DropHelper. 2. The target window could be destroyed during a drag/drop session. DragDropController should listen to such event and update its state. 3. The RootWindow might send some synthetic mouse events to the DragDropController during a drag/drop session. The controller should ignore these events. BUG=110495 TEST=manual Review URL: http://codereview.chromium.org/9307041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120358 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/drag_drop/drag_drop_controller.h')
-rw-r--r--ash/drag_drop/drag_drop_controller.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/ash/drag_drop/drag_drop_controller.h b/ash/drag_drop/drag_drop_controller.h
index 9272257..4e5018a 100644
--- a/ash/drag_drop/drag_drop_controller.h
+++ b/ash/drag_drop/drag_drop_controller.h
@@ -10,6 +10,7 @@
#include "ui/aura/client/drag_drop_client.h"
#include "ui/aura/event.h"
#include "ui/aura/event_filter.h"
+#include "ui/aura/window_observer.h"
#include "ui/base/dragdrop/os_exchange_data.h"
#include "ui/base/events.h"
#include "ui/gfx/compositor/layer_animation_observer.h"
@@ -36,7 +37,8 @@ class DragImageView;
class ASH_EXPORT DragDropController
: public aura::client::DragDropClient,
public aura::EventFilter,
- public ui::ImplicitAnimationObserver {
+ public ui::ImplicitAnimationObserver,
+ public aura::WindowObserver {
public:
DragDropController();
virtual ~DragDropController();
@@ -66,6 +68,9 @@ public:
aura::Window* target,
aura::GestureEvent* event) OVERRIDE;
+ // Overridden from aura::WindowObserver.
+ virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE;
+
private:
friend class ash::test::DragDropControllerTest;