diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 05:08:30 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 05:08:30 +0000 |
commit | e93b70ccbb53c6fec20427019b421a05a371114e (patch) | |
tree | 5e836b9d26f56a633f2ad0316cdf0ea1dd9fe98d /ash | |
parent | 1940c4ee397232a4948b0328e728024ea19e3f5f (diff) | |
download | chromium_src-e93b70ccbb53c6fec20427019b421a05a371114e.zip chromium_src-e93b70ccbb53c6fec20427019b421a05a371114e.tar.gz chromium_src-e93b70ccbb53c6fec20427019b421a05a371114e.tar.bz2 |
events: Change gesture-event handler in EventHandler to not return any values.
The EventHandler overriddes should mark the event as having been processed
(Event::SetHandled) when the event triggered an action, or stop the propagation
of the event (Event::StopPropagation) as appropriate (when the handler destroyed
the event-target, for example).
BUG=163618
Review URL: https://codereview.chromium.org/11280290
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170890 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
31 files changed, 97 insertions, 92 deletions
diff --git a/ash/drag_drop/drag_drop_controller.cc b/ash/drag_drop/drag_drop_controller.cc index db0e213..cf6135e 100644 --- a/ash/drag_drop/drag_drop_controller.cc +++ b/ash/drag_drop/drag_drop_controller.cc @@ -332,14 +332,17 @@ ui::EventResult DragDropController::OnTouchEvent(ui::TouchEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult DragDropController::OnGestureEvent(ui::GestureEvent* event) { +void DragDropController::OnGestureEvent(ui::GestureEvent* event) { if (!IsDragDropInProgress()) - return ui::ER_UNHANDLED; + return; // If current drag session was not started by touch, dont process this touch // event, but consume it so it does not interfere with current drag session. - if (current_drag_event_source_ != ui::DragDropTypes::DRAG_EVENT_SOURCE_TOUCH) - return ui::ER_CONSUMED; + if (current_drag_event_source_ != + ui::DragDropTypes::DRAG_EVENT_SOURCE_TOUCH) { + event->StopPropagation(); + return; + } // Apply kTouchDragImageVerticalOffset to the location. ui::GestureEvent touch_offset_event(*event, @@ -356,7 +359,8 @@ ui::EventResult DragDropController::OnGestureEvent(ui::GestureEvent* event) { drag_drop_tracker_->GetTarget(touch_offset_event); if (!translated_target) { DragCancel(); - return ui::ER_HANDLED; + event->SetHandled(); + return; } scoped_ptr<ui::LocatedEvent> translated_event( drag_drop_tracker_->ConvertEvent(translated_target, touch_offset_event)); @@ -384,7 +388,7 @@ ui::EventResult DragDropController::OnGestureEvent(ui::GestureEvent* event) { default: break; } - return ui::ER_HANDLED; + event->SetHandled(); } void DragDropController::OnWindowDestroyed(aura::Window* window) { diff --git a/ash/drag_drop/drag_drop_controller.h b/ash/drag_drop/drag_drop_controller.h index f38b522..6fe58a1 100644 --- a/ash/drag_drop/drag_drop_controller.h +++ b/ash/drag_drop/drag_drop_controller.h @@ -68,7 +68,7 @@ class ASH_EXPORT DragDropController virtual ui::EventResult OnKeyEvent(ui::KeyEvent* event) OVERRIDE; virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Overridden from aura::WindowObserver. virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE; diff --git a/ash/drag_drop/drag_drop_controller_unittest.cc b/ash/drag_drop/drag_drop_controller_unittest.cc index 5847fdc..14a25c6 100644 --- a/ash/drag_drop/drag_drop_controller_unittest.cc +++ b/ash/drag_drop/drag_drop_controller_unittest.cc @@ -85,10 +85,10 @@ class DragTestView : public views::View { return true; } - ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE { + void OnGestureEvent(ui::GestureEvent* event) OVERRIDE { if (event->type() == ui::ET_GESTURE_LONG_TAP) long_tap_received_ = true; - return ui::ER_UNHANDLED; + return; } bool GetDropFormats(int* formats, diff --git a/ash/launcher/launcher_button.cc b/ash/launcher/launcher_button.cc index b4c4f9b..be5e381 100644 --- a/ash/launcher/launcher_button.cc +++ b/ash/launcher/launcher_button.cc @@ -304,7 +304,7 @@ void LauncherButton::OnBlur() { CustomButton::OnBlur(); } -ui::EventResult LauncherButton::OnGestureEvent(ui::GestureEvent* event) { +void LauncherButton::OnGestureEvent(ui::GestureEvent* event) { switch (event->type()) { case ui::ET_GESTURE_TAP_DOWN: AddState(STATE_HOVERED); @@ -314,14 +314,17 @@ ui::EventResult LauncherButton::OnGestureEvent(ui::GestureEvent* event) { return CustomButton::OnGestureEvent(event); case ui::ET_GESTURE_SCROLL_BEGIN: host_->PointerPressedOnButton(this, LauncherButtonHost::TOUCH, *event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; case ui::ET_GESTURE_SCROLL_UPDATE: host_->PointerDraggedOnButton(this, LauncherButtonHost::TOUCH, *event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; case ui::ET_GESTURE_SCROLL_END: case ui::ET_SCROLL_FLING_START: host_->PointerReleasedOnButton(this, LauncherButtonHost::TOUCH, false); - return ui::ER_CONSUMED; + event->SetHandled(); + return; default: return CustomButton::OnGestureEvent(event); } diff --git a/ash/launcher/launcher_button.h b/ash/launcher/launcher_button.h index f4c0755..c46b209 100644 --- a/ash/launcher/launcher_button.h +++ b/ash/launcher/launcher_button.h @@ -91,7 +91,7 @@ class LauncherButton : public views::CustomButton { virtual void OnBlur() OVERRIDE; // ui::EventHandler overrides: - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Sets the icon image with a shadow. void SetShadowedImage(const gfx::ImageSkia& bitmap); diff --git a/ash/launcher/launcher_tooltip_manager.cc b/ash/launcher/launcher_tooltip_manager.cc index 4263bd6..05e8ccc 100644 --- a/ash/launcher/launcher_tooltip_manager.cc +++ b/ash/launcher/launcher_tooltip_manager.cc @@ -302,15 +302,12 @@ ui::EventResult LauncherTooltipManager::OnTouchEvent(ui::TouchEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult LauncherTooltipManager::OnGestureEvent( - ui::GestureEvent* event) { +void LauncherTooltipManager::OnGestureEvent(ui::GestureEvent* event) { if (widget_ && widget_->IsVisible()) { // Because this mouse event may arrive to |view_|, here we just schedule // the closing event rather than directly calling Close(). CloseSoon(); } - - return ui::ER_UNHANDLED; } void LauncherTooltipManager::OnSessionStateEvent( diff --git a/ash/launcher/launcher_tooltip_manager.h b/ash/launcher/launcher_tooltip_manager.h index 5bbab27..ee3395f 100644 --- a/ash/launcher/launcher_tooltip_manager.h +++ b/ash/launcher/launcher_tooltip_manager.h @@ -75,7 +75,7 @@ protected: // ui::EventHandler overrides: virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // SessionStateObserver override: virtual void OnSessionStateEvent(SessionStateObserver::EventType event) diff --git a/ash/launcher/launcher_tooltip_manager_unittest.cc b/ash/launcher/launcher_tooltip_manager_unittest.cc index 94b4c28..39ba6dc 100644 --- a/ash/launcher/launcher_tooltip_manager_unittest.cc +++ b/ash/launcher/launcher_tooltip_manager_unittest.cc @@ -184,8 +184,8 @@ TEST_F(LauncherTooltipManagerTest, ShouldHideForEvents) { base::TimeDelta::FromMilliseconds(base::Time::Now().ToDoubleT() * 1000), ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0.0f, 0.0f), 0); SetEventTarget(tooltip_widget->GetNativeWindow(), &gesture_event); - EXPECT_EQ(ui::ER_UNHANDLED, - event_handler->OnGestureEvent(&gesture_event)); + event_handler->OnGestureEvent(&gesture_event); + EXPECT_FALSE(gesture_event.handled()); RunAllPendingInMessageLoop(); EXPECT_FALSE(TooltipIsVisible()); } diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc index f51da7a..4148c87 100644 --- a/ash/launcher/launcher_view.cc +++ b/ash/launcher/launcher_view.cc @@ -788,9 +788,9 @@ views::FocusTraversable* LauncherView::GetPaneFocusTraversable() { return this; } -ui::EventResult LauncherView::OnGestureEvent(ui::GestureEvent* event) { - return gesture_handler_.ProcessGestureEvent(*event) ? - ui::ER_CONSUMED : ui::ER_UNHANDLED; +void LauncherView::OnGestureEvent(ui::GestureEvent* event) { + if (gesture_handler_.ProcessGestureEvent(*event)) + event->StopPropagation(); } void LauncherView::LauncherItemAdded(int model_index) { diff --git a/ash/launcher/launcher_view.h b/ash/launcher/launcher_view.h index ece7ba6..ff5fd6a 100644 --- a/ash/launcher/launcher_view.h +++ b/ash/launcher/launcher_view.h @@ -184,7 +184,7 @@ class ASH_EXPORT LauncherView : public views::View, virtual FocusTraversable* GetPaneFocusTraversable() OVERRIDE; // Overridden from ui::EventHandler: - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Overridden from LauncherModelObserver: virtual void LauncherItemAdded(int model_index) OVERRIDE; diff --git a/ash/system/status_area_widget_delegate.cc b/ash/system/status_area_widget_delegate.cc index 94d6ea5..f82ec13 100644 --- a/ash/system/status_area_widget_delegate.cc +++ b/ash/system/status_area_widget_delegate.cc @@ -61,12 +61,11 @@ const views::Widget* StatusAreaWidgetDelegate::GetWidget() const { return View::GetWidget(); } -ui::EventResult StatusAreaWidgetDelegate::OnGestureEvent( - ui::GestureEvent* event) { +void StatusAreaWidgetDelegate::OnGestureEvent(ui::GestureEvent* event) { if (gesture_handler_.ProcessGestureEvent(*event)) - return ui::ER_CONSUMED; - - return views::AccessiblePaneView::OnGestureEvent(event); + event->StopPropagation(); + else + views::AccessiblePaneView::OnGestureEvent(event); } bool StatusAreaWidgetDelegate::CanActivate() const { diff --git a/ash/system/status_area_widget_delegate.h b/ash/system/status_area_widget_delegate.h index 7c56ff3..f924231 100644 --- a/ash/system/status_area_widget_delegate.h +++ b/ash/system/status_area_widget_delegate.h @@ -43,7 +43,7 @@ class ASH_EXPORT StatusAreaWidgetDelegate : public views::AccessiblePaneView, virtual const views::Widget* GetWidget() const OVERRIDE; // Overridden from ui::EventHandler: - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // views::WidgetDelegate overrides: virtual bool CanActivate() const OVERRIDE; diff --git a/ash/system/tray/tray_notification_view.cc b/ash/system/tray/tray_notification_view.cc index 2c4929b..1565fd7 100644 --- a/ash/system/tray/tray_notification_view.cc +++ b/ash/system/tray/tray_notification_view.cc @@ -124,13 +124,14 @@ bool TrayNotificationView::OnMousePressed(const ui::MouseEvent& event) { return true; } -ui::EventResult TrayNotificationView::OnGestureEvent(ui::GestureEvent* event) { - if (SlideOutView::OnGestureEvent(event) == ui::ER_CONSUMED) - return ui::ER_CONSUMED; +void TrayNotificationView::OnGestureEvent(ui::GestureEvent* event) { + SlideOutView::OnGestureEvent(event); + if (event->handled()) + return; if (event->type() != ui::ET_GESTURE_TAP) - return ui::ER_UNHANDLED; + return; HandleClickAction(); - return ui::ER_CONSUMED; + event->SetHandled(); } void TrayNotificationView::OnClose() { diff --git a/ash/system/tray/tray_notification_view.h b/ash/system/tray/tray_notification_view.h index 059e5c6..84ee9ac 100644 --- a/ash/system/tray/tray_notification_view.h +++ b/ash/system/tray/tray_notification_view.h @@ -59,7 +59,7 @@ class TrayNotificationView : public views::SlideOutView, virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE; // Overridden from ui::EventHandler. - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; protected: // Called when the close button is pressed. Does nothing by default. diff --git a/ash/system/tray/tray_views.cc b/ash/system/tray/tray_views.cc index ca7e625..522ca71 100644 --- a/ash/system/tray/tray_views.cc +++ b/ash/system/tray/tray_views.cc @@ -182,12 +182,9 @@ void ActionableView::OnPaintFocusBorder(gfx::Canvas* canvas) { DrawBorder(canvas, GetLocalBounds()); } -ui::EventResult ActionableView::OnGestureEvent(ui::GestureEvent* event) { - if (event->type() == ui::ET_GESTURE_TAP) { - return PerformAction(*event) ? ui::ER_CONSUMED : - ui::ER_UNHANDLED; - } - return ui::ER_UNHANDLED; +void ActionableView::OnGestureEvent(ui::GestureEvent* event) { + if (event->type() == ui::ET_GESTURE_TAP && PerformAction(*event)) + event->SetHandled(); } void ActionableView::GetAccessibleState(ui::AccessibleViewState* state) { diff --git a/ash/system/tray/tray_views.h b/ash/system/tray/tray_views.h index 84e8d17..92be6dd 100644 --- a/ash/system/tray/tray_views.h +++ b/ash/system/tray/tray_views.h @@ -82,7 +82,7 @@ class ASH_EXPORT ActionableView : public views::View { virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE; // Overridden from ui::EventHandler. - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; private: string16 accessible_name_; diff --git a/ash/wm/activation_controller.cc b/ash/wm/activation_controller.cc index 0810d51..337979b 100644 --- a/ash/wm/activation_controller.cc +++ b/ash/wm/activation_controller.cc @@ -286,12 +286,11 @@ ui::EventResult ActivationController::OnTouchEvent(ui::TouchEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult ActivationController::OnGestureEvent(ui::GestureEvent* event) { +void ActivationController::OnGestureEvent(ui::GestureEvent* event) { if (event->type() == ui::ET_GESTURE_BEGIN && event->details().touch_points() == 1) { FocusWindowWithEvent(event); } - return ui::ER_UNHANDLED; } //////////////////////////////////////////////////////////////////////////////// diff --git a/ash/wm/activation_controller.h b/ash/wm/activation_controller.h index 3b439ab..6af15ed 100644 --- a/ash/wm/activation_controller.h +++ b/ash/wm/activation_controller.h @@ -77,7 +77,7 @@ class ASH_EXPORT ActivationController 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; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Implementation of ActivateWindow() with an Event. void ActivateWindowWithEvent(aura::Window* window, diff --git a/ash/wm/app_list_controller.cc b/ash/wm/app_list_controller.cc index 2abb2b9..e0785c8 100644 --- a/ash/wm/app_list_controller.cc +++ b/ash/wm/app_list_controller.cc @@ -253,10 +253,9 @@ ui::EventResult AppListController::OnMouseEvent(ui::MouseEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult AppListController::OnGestureEvent(ui::GestureEvent* event) { +void AppListController::OnGestureEvent(ui::GestureEvent* event) { if (event->type() == ui::ET_GESTURE_TAP) ProcessLocatedEvent(event); - return ui::ER_UNHANDLED; } //////////////////////////////////////////////////////////////////////////////// diff --git a/ash/wm/app_list_controller.h b/ash/wm/app_list_controller.h index 0446791..6f08a3f 100644 --- a/ash/wm/app_list_controller.h +++ b/ash/wm/app_list_controller.h @@ -76,7 +76,7 @@ class AppListController : public views::corewm::FocusChangeShim, // ui::EventHandler overrides: virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // aura::client::FocusChangeObserver overrides: virtual void OnWindowFocused(aura::Window* window) OVERRIDE; diff --git a/ash/wm/system_gesture_event_filter.cc b/ash/wm/system_gesture_event_filter.cc index 5e40f93..57aecd4 100644 --- a/ash/wm/system_gesture_event_filter.cc +++ b/ash/wm/system_gesture_event_filter.cc @@ -72,8 +72,7 @@ ui::EventResult SystemGestureEventFilter::OnTouchEvent(ui::TouchEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult SystemGestureEventFilter::OnGestureEvent( - ui::GestureEvent* event) { +void SystemGestureEventFilter::OnGestureEvent(ui::GestureEvent* event) { aura::Window* target = static_cast<aura::Window*>(event->target()); touch_uma_.RecordGestureEvent(target, *event); long_press_affordance_->ProcessEvent(target, event, @@ -81,18 +80,21 @@ ui::EventResult SystemGestureEventFilter::OnGestureEvent( if (!target || target == target->GetRootWindow()) { bezel_gestures_->ProcessGestureEvent(target, *event); - return ui::ER_CONSUMED; + event->StopPropagation(); + return; } - if (two_finger_drag_->ProcessGestureEvent(target, *event)) - return ui::ER_CONSUMED; + if (two_finger_drag_->ProcessGestureEvent(target, *event)) { + event->StopPropagation(); + return; + } if (!system_gestures_enabled_) - return ui::ER_UNHANDLED; + return; aura::Window* system_target = GetTargetForSystemGestureEvent(target); if (!system_target) - return ui::ER_UNHANDLED; + return; RootWindowController* root_controller = GetRootWindowController(system_target->GetRootWindow()); @@ -108,9 +110,9 @@ ui::EventResult SystemGestureEventFilter::OnGestureEvent( ash::AcceleratorController* accelerator = ash::Shell::GetInstance()->accelerator_controller(); if (accelerator->PerformAction(CYCLE_FORWARD_MRU, ui::Accelerator())) - return ui::ER_CONSUMED; + event->StopPropagation(); } - return ui::ER_UNHANDLED; + return; } WindowPinchHandlerMap::iterator find = pinch_handlers_.find(system_target); @@ -119,18 +121,16 @@ ui::EventResult SystemGestureEventFilter::OnGestureEvent( (*find).second->ProcessGestureEvent(*event); if (status == SYSTEM_GESTURE_END) ClearGestureHandlerForWindow(system_target); - return ui::ER_CONSUMED; + event->StopPropagation(); } else { if (event->type() == ui::ET_GESTURE_BEGIN && event->details().touch_points() >= SystemPinchHandler::kSystemGesturePoints) { pinch_handlers_[system_target] = new SystemPinchHandler(system_target); system_target->AddObserver(this); - return ui::ER_CONSUMED; + event->StopPropagation(); } } - - return ui::ER_UNHANDLED; } void SystemGestureEventFilter::OnWindowVisibilityChanged(aura::Window* window, diff --git a/ash/wm/system_gesture_event_filter.h b/ash/wm/system_gesture_event_filter.h index 8d7843f..961929e 100644 --- a/ash/wm/system_gesture_event_filter.h +++ b/ash/wm/system_gesture_event_filter.h @@ -47,7 +47,7 @@ class SystemGestureEventFilter : public ui::EventHandler, // Overridden from ui::EventHandler: virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Overridden from aura::WindowObserver. virtual void OnWindowVisibilityChanged(aura::Window* window, diff --git a/ash/wm/toplevel_window_event_handler.cc b/ash/wm/toplevel_window_event_handler.cc index 4f5ad28..db7acb4 100644 --- a/ash/wm/toplevel_window_event_handler.cc +++ b/ash/wm/toplevel_window_event_handler.cc @@ -156,11 +156,10 @@ ui::EventResult ToplevelWindowEventHandler::OnMouseEvent( return ui::ER_UNHANDLED; } -ui::EventResult ToplevelWindowEventHandler::OnGestureEvent( - ui::GestureEvent* event) { +void ToplevelWindowEventHandler::OnGestureEvent(ui::GestureEvent* event) { aura::Window* target = static_cast<aura::Window*>(event->target()); if (!target->delegate()) - return ui::ER_UNHANDLED; + return; switch (event->type()) { case ui::ET_GESTURE_SCROLL_BEGIN: { @@ -168,7 +167,7 @@ ui::EventResult ToplevelWindowEventHandler::OnGestureEvent( target->delegate()->GetNonClientComponent(event->location()); if (WindowResizer::GetBoundsChangeForWindowComponent(component) == 0) { window_resizer_.reset(); - return ui::ER_UNHANDLED; + return; } in_gesture_drag_ = true; gfx::Point location_in_parent( @@ -178,14 +177,14 @@ ui::EventResult ToplevelWindowEventHandler::OnGestureEvent( } case ui::ET_GESTURE_SCROLL_UPDATE: { if (!in_gesture_drag_) - return ui::ER_UNHANDLED; + return; HandleDrag(target, event); break; } case ui::ET_GESTURE_SCROLL_END: case ui::ET_SCROLL_FLING_START: { if (!in_gesture_drag_) - return ui::ER_UNHANDLED; + return; CompleteDrag(DRAG_COMPLETE, event->flags()); if (in_move_loop_) { @@ -194,15 +193,17 @@ ui::EventResult ToplevelWindowEventHandler::OnGestureEvent( } in_gesture_drag_ = false; - if (event->type() == ui::ET_GESTURE_SCROLL_END) - return ui::ER_CONSUMED; + if (event->type() == ui::ET_GESTURE_SCROLL_END) { + event->StopPropagation(); + return; + } int component = target->delegate()->GetNonClientComponent(event->location()); if (WindowResizer::GetBoundsChangeForWindowComponent(component) == 0) - return ui::ER_UNHANDLED; + return; if (!wm::IsWindowNormal(target)) - return ui::ER_UNHANDLED; + return; if (fabs(event->details().velocity_y()) > kMinVertVelocityForWindowMinimize) { @@ -225,10 +226,10 @@ ui::EventResult ToplevelWindowEventHandler::OnGestureEvent( break; } default: - return ui::ER_UNHANDLED; + return; } - return ui::ER_CONSUMED; + event->StopPropagation(); } aura::client::WindowMoveResult ToplevelWindowEventHandler::RunMoveLoop( diff --git a/ash/wm/toplevel_window_event_handler.h b/ash/wm/toplevel_window_event_handler.h index dc2c6d5..7b1a0b5 100644 --- a/ash/wm/toplevel_window_event_handler.h +++ b/ash/wm/toplevel_window_event_handler.h @@ -40,7 +40,7 @@ class ASH_EXPORT ToplevelWindowEventHandler // Overridden from ui::EventHandler: virtual ui::EventResult OnKeyEvent(ui::KeyEvent* event) OVERRIDE; virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Overridden form aura::client::WindowMoveClient: virtual aura::client::WindowMoveResult RunMoveLoop( diff --git a/ash/wm/user_activity_detector.cc b/ash/wm/user_activity_detector.cc index f245d55..ee6a2b7 100644 --- a/ash/wm/user_activity_detector.cc +++ b/ash/wm/user_activity_detector.cc @@ -58,9 +58,8 @@ ui::EventResult UserActivityDetector::OnTouchEvent(ui::TouchEvent* event) { return ui::ER_UNHANDLED; } -ui::EventResult UserActivityDetector::OnGestureEvent(ui::GestureEvent* event) { +void UserActivityDetector::OnGestureEvent(ui::GestureEvent* event) { MaybeNotify(); - return ui::ER_UNHANDLED; } void UserActivityDetector::MaybeNotify() { diff --git a/ash/wm/user_activity_detector.h b/ash/wm/user_activity_detector.h index a555034..b28b9ec 100644 --- a/ash/wm/user_activity_detector.h +++ b/ash/wm/user_activity_detector.h @@ -39,7 +39,7 @@ class ASH_EXPORT UserActivityDetector : public ui::EventHandler { 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; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; private: // Notifies observers if enough time has passed since the last notification. diff --git a/ash/wm/user_activity_detector_unittest.cc b/ash/wm/user_activity_detector_unittest.cc index 14c48a1..2aa0ef5f 100644 --- a/ash/wm/user_activity_detector_unittest.cc +++ b/ash/wm/user_activity_detector_unittest.cc @@ -127,7 +127,8 @@ TEST_F(UserActivityDetectorTest, Basic) { base::TimeDelta::FromMilliseconds(base::Time::Now().ToDoubleT() * 1000), ui::GestureEventDetails(ui::ET_GESTURE_TAP, 0, 0), 0U); SetEventTarget(window.get(), &gesture_event); - EXPECT_FALSE(detector_->OnGestureEvent(&gesture_event)); + detector_->OnGestureEvent(&gesture_event); + EXPECT_FALSE(gesture_event.handled()); EXPECT_EQ(1, observer_->num_invocations()); observer_->reset_stats(); } diff --git a/ash/wm/workspace/frame_maximize_button.cc b/ash/wm/workspace/frame_maximize_button.cc index 2d2a57a..a1c8ca9 100644 --- a/ash/wm/workspace/frame_maximize_button.cc +++ b/ash/wm/workspace/frame_maximize_button.cc @@ -245,11 +245,12 @@ void FrameMaximizeButton::OnMouseCaptureLost() { ImageButton::OnMouseCaptureLost(); } -ui::EventResult FrameMaximizeButton::OnGestureEvent(ui::GestureEvent* event) { +void FrameMaximizeButton::OnGestureEvent(ui::GestureEvent* event) { if (event->type() == ui::ET_GESTURE_TAP_DOWN) { is_snap_enabled_ = true; ProcessStartEvent(*event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; } if (event->type() == ui::ET_GESTURE_TAP || @@ -261,7 +262,8 @@ ui::EventResult FrameMaximizeButton::OnGestureEvent(ui::GestureEvent* event) { if (event->type() == ui::ET_GESTURE_TAP) snap_type_ = SnapTypeForLocation(event->location()); ProcessEndEvent(*event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; } if (is_snap_enabled_) { @@ -272,17 +274,19 @@ ui::EventResult FrameMaximizeButton::OnGestureEvent(ui::GestureEvent* event) { ProcessUpdateEvent(*event); snap_type_ = SnapTypeForLocation(event->location()); ProcessEndEvent(*event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; } if (event->type() == ui::ET_GESTURE_SCROLL_UPDATE || event->type() == ui::ET_GESTURE_SCROLL_BEGIN) { ProcessUpdateEvent(*event); - return ui::ER_CONSUMED; + event->SetHandled(); + return; } } - return ImageButton::OnGestureEvent(event); + ImageButton::OnGestureEvent(event); } void FrameMaximizeButton::ProcessStartEvent(const ui::LocatedEvent& event) { diff --git a/ash/wm/workspace/frame_maximize_button.h b/ash/wm/workspace/frame_maximize_button.h index 6179deb..2e76bbb 100644 --- a/ash/wm/workspace/frame_maximize_button.h +++ b/ash/wm/workspace/frame_maximize_button.h @@ -66,7 +66,7 @@ class ASH_EXPORT FrameMaximizeButton : public views::ImageButton, virtual void OnMouseCaptureLost() OVERRIDE; // ui::EventHandler overrides: - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; // Unit test overwrite: Change the UI delay used for the bubble show up. void set_bubble_appearance_delay_ms(int bubble_appearance_delay_ms) { diff --git a/ash/wm/workspace/workspace_event_handler.cc b/ash/wm/workspace/workspace_event_handler.cc index 75626ff..929d09c 100644 --- a/ash/wm/workspace/workspace_event_handler.cc +++ b/ash/wm/workspace/workspace_event_handler.cc @@ -106,15 +106,16 @@ ui::EventResult WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event) { return ToplevelWindowEventHandler::OnMouseEvent(event); } -ui::EventResult WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) { +void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) { aura::Window* target = static_cast<aura::Window*>(event->target()); if (event->type() == ui::ET_GESTURE_DOUBLE_TAP && target->delegate()->GetNonClientComponent(event->location()) == HTCAPTION) { ToggleMaximizedState(target); // |this| may be destroyed from here. - return ui::ER_CONSUMED; + event->StopPropagation(); + return; } - return ToplevelWindowEventHandler::OnGestureEvent(event); + ToplevelWindowEventHandler::OnGestureEvent(event); } void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( diff --git a/ash/wm/workspace/workspace_event_handler.h b/ash/wm/workspace/workspace_event_handler.h index 62da0bd..66e10d0 100644 --- a/ash/wm/workspace/workspace_event_handler.h +++ b/ash/wm/workspace/workspace_event_handler.h @@ -24,7 +24,7 @@ class WorkspaceEventHandler : public ToplevelWindowEventHandler { // Overridden from ToplevelWindowEventHandler: virtual ui::EventResult OnMouseEvent(ui::MouseEvent* event) OVERRIDE; - virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE; + virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; private: friend class WorkspaceEventHandlerTestHelper; |