diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-13 16:35:27 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-13 16:35:27 +0000 |
commit | 304594c8ca8ca017c317dc74cc10d1a3656a14db (patch) | |
tree | ed58a1b95bb9121454340bbfe6598210005a3634 /ash/drag_drop | |
parent | 2dbd513b86a1105f684c1fe2b031e5e937c53c52 (diff) | |
download | chromium_src-304594c8ca8ca017c317dc74cc10d1a3656a14db.zip chromium_src-304594c8ca8ca017c317dc74cc10d1a3656a14db.tar.gz chromium_src-304594c8ca8ca017c317dc74cc10d1a3656a14db.tar.bz2 |
ash: Convert all remaining EventFilters into EventHandlers.
This CL converts the following list of aura::EventFilters into ui::EventHandlers:
* MouseCursorEventFilter
* DragDropController
* LauncherTooltipManager
* TooltipController
* EventRewriterEventFilter
* OverlayEventFilter
* PanelWindowEventFilter
* SystemModalContainerEventFilter
* UserActivityDetector
* WindowCycleEventFilter
* WindowModalityController
* FrameMaximizeButton::EscapeEventFilter
* TabScrubber
Also remove AddEnvEventFilter/RemoveEnvEventFilter from Shell functions since
all the filters for the shell have been converted.
BUG=159632
Review URL: https://codereview.chromium.org/11366214
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167399 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/drag_drop')
-rw-r--r-- | ash/drag_drop/drag_drop_controller.cc | 33 | ||||
-rw-r--r-- | ash/drag_drop/drag_drop_controller.h | 21 |
2 files changed, 24 insertions, 30 deletions
diff --git a/ash/drag_drop/drag_drop_controller.cc b/ash/drag_drop/drag_drop_controller.cc index a7c73fd..7234b30 100644 --- a/ash/drag_drop/drag_drop_controller.cc +++ b/ash/drag_drop/drag_drop_controller.cc @@ -46,11 +46,11 @@ DragDropController::DragDropController() drag_operation_(0), drag_window_(NULL), should_block_during_drag_drop_(true) { - Shell::GetInstance()->AddEnvEventFilter(this); + Shell::GetInstance()->AddPreTargetHandler(this); } DragDropController::~DragDropController() { - Shell::GetInstance()->RemoveEnvEventFilter(this); + Shell::GetInstance()->RemovePreTargetHandler(this); Cleanup(); if (drag_image_.get()) drag_image_.reset(); @@ -196,23 +196,21 @@ bool DragDropController::IsDragDropInProgress() { return !!drag_drop_tracker_.get(); } -bool DragDropController::PreHandleKeyEvent(aura::Window* target, - ui::KeyEvent* event) { +ui::EventResult DragDropController::OnKeyEvent(ui::KeyEvent* event) { if (IsDragDropInProgress() && event->key_code() == ui::VKEY_ESCAPE) { DragCancel(); - return true; + return ui::ER_CONSUMED; } - return false; + return ui::ER_UNHANDLED; } -bool DragDropController::PreHandleMouseEvent(aura::Window* target, - ui::MouseEvent* event) { +ui::EventResult DragDropController::OnMouseEvent(ui::MouseEvent* event) { if (!IsDragDropInProgress()) - return false; + return ui::ER_UNHANDLED; aura::Window* translated_target = drag_drop_tracker_->GetTarget(*event); if (!translated_target) { DragCancel(); - return true; + return ui::ER_CONSUMED; } scoped_ptr<ui::MouseEvent> translated_event( drag_drop_tracker_->ConvertMouseEvent(translated_target, *event)); @@ -229,15 +227,18 @@ bool DragDropController::PreHandleMouseEvent(aura::Window* target, // (aura::RootWindow::PostMouseMoveEventAfterWindowChange). break; } - return true; + return ui::ER_CONSUMED; +} + +ui::EventResult DragDropController::OnScrollEvent(ui::ScrollEvent* event) { + return ui::ER_UNHANDLED; } -ui::EventResult DragDropController::PreHandleTouchEvent( - aura::Window* target, - ui::TouchEvent* event) { +ui::EventResult DragDropController::OnTouchEvent(ui::TouchEvent* event) { // TODO(sad): Also check for the touch-id. // TODO(varunjain): Add code for supporting drag-and-drop across displays // (http://crbug.com/114755). + aura::Window* target = static_cast<aura::Window*>(event->target()); if (!IsDragDropInProgress()) return ui::ER_UNHANDLED; switch (event->type()) { @@ -256,9 +257,7 @@ ui::EventResult DragDropController::PreHandleTouchEvent( return ui::ER_CONSUMED; } -ui::EventResult DragDropController::PreHandleGestureEvent( - aura::Window* target, - ui::GestureEvent* event) { +ui::EventResult DragDropController::OnGestureEvent(ui::GestureEvent* event) { return ui::ER_UNHANDLED; } diff --git a/ash/drag_drop/drag_drop_controller.h b/ash/drag_drop/drag_drop_controller.h index 1925bbe..a0e8629 100644 --- a/ash/drag_drop/drag_drop_controller.h +++ b/ash/drag_drop/drag_drop_controller.h @@ -8,10 +8,10 @@ #include "ash/ash_export.h" #include "base/callback.h" #include "ui/aura/client/drag_drop_client.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/event_constants.h" +#include "ui/base/events/event_handler.h" #include "ui/compositor/layer_animation_observer.h" #include "ui/gfx/point.h" @@ -37,7 +37,7 @@ class DragImageView; class ASH_EXPORT DragDropController : public aura::client::DragDropClient, - public aura::EventFilter, + public ui::EventHandler, public ui::ImplicitAnimationObserver, public aura::WindowObserver { public: @@ -63,17 +63,12 @@ class ASH_EXPORT DragDropController virtual void DragCancel() OVERRIDE; virtual bool IsDragDropInProgress() OVERRIDE; - // Overridden from aura::EventFilter: - virtual bool PreHandleKeyEvent(aura::Window* target, - ui::KeyEvent* event) OVERRIDE; - virtual bool PreHandleMouseEvent(aura::Window* target, - ui::MouseEvent* event) OVERRIDE; - virtual ui::EventResult PreHandleTouchEvent( - aura::Window* target, - ui::TouchEvent* event) OVERRIDE; - virtual ui::EventResult PreHandleGestureEvent( - aura::Window* target, - ui::GestureEvent* event) OVERRIDE; + // Overridden from ui::EventHandler: + virtual ui::EventResult OnKeyEvent(ui::KeyEvent* event) OVERRIDE; + virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; + virtual ui::EventResult OnScrollEvent(ui::ScrollEvent* event) OVERRIDE; + virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) OVERRIDE; + virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Overridden from aura::WindowObserver. virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE; |