diff options
author | varunjain@chromium.org <varunjain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-03 18:31:09 +0000 |
---|---|---|
committer | varunjain@chromium.org <varunjain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-03 18:31:09 +0000 |
commit | 341ad584d4d3145f373ed670198df3a00e66ffe0 (patch) | |
tree | aac04fffab369787378c89e4849e45c6edd79184 /ash/drag_drop/drag_drop_controller.h | |
parent | efbbe0d3a7e678be15646d39814c0e7d22878e5d (diff) | |
download | chromium_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.h | 7 |
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; |