summaryrefslogtreecommitdiffstats
path: root/ui/views/widget
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-04 05:08:30 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-04 05:08:30 +0000
commite93b70ccbb53c6fec20427019b421a05a371114e (patch)
tree5e836b9d26f56a633f2ad0316cdf0ea1dd9fe98d /ui/views/widget
parent1940c4ee397232a4948b0328e728024ea19e3f5f (diff)
downloadchromium_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 'ui/views/widget')
-rw-r--r--ui/views/widget/desktop_aura/desktop_activation_client.cc4
-rw-r--r--ui/views/widget/desktop_aura/desktop_activation_client.h2
-rw-r--r--ui/views/widget/desktop_aura/desktop_native_widget_aura.cc5
-rw-r--r--ui/views/widget/desktop_aura/desktop_native_widget_aura.h2
-rw-r--r--ui/views/widget/native_widget_aura.cc4
-rw-r--r--ui/views/widget/native_widget_aura.h2
-rw-r--r--ui/views/widget/native_widget_aura_unittest.cc5
-rw-r--r--ui/views/widget/native_widget_delegate.h2
-rw-r--r--ui/views/widget/root_view.cc48
-rw-r--r--ui/views/widget/root_view.h2
-rw-r--r--ui/views/widget/widget.cc5
-rw-r--r--ui/views/widget/widget.h2
-rw-r--r--ui/views/widget/widget_unittest.cc5
13 files changed, 45 insertions, 43 deletions
diff --git a/ui/views/widget/desktop_aura/desktop_activation_client.cc b/ui/views/widget/desktop_aura/desktop_activation_client.cc
index b53feba..a099e48 100644
--- a/ui/views/widget/desktop_aura/desktop_activation_client.cc
+++ b/ui/views/widget/desktop_aura/desktop_activation_client.cc
@@ -164,13 +164,11 @@ ui::EventResult DesktopActivationClient::OnTouchEvent(ui::TouchEvent* event) {
return ui::ER_UNHANDLED;
}
-ui::EventResult DesktopActivationClient::OnGestureEvent(
- ui::GestureEvent* event) {
+void DesktopActivationClient::OnGestureEvent(ui::GestureEvent* event) {
if (event->type() == ui::ET_GESTURE_BEGIN &&
event->details().touch_points() == 1) {
FocusWindowWithEvent(event);
}
- return ui::ER_UNHANDLED;
}
void DesktopActivationClient::FocusWindowWithEvent(const ui::Event* event) {
diff --git a/ui/views/widget/desktop_aura/desktop_activation_client.h b/ui/views/widget/desktop_aura/desktop_activation_client.h
index 87b1299..55ade7f 100644
--- a/ui/views/widget/desktop_aura/desktop_activation_client.h
+++ b/ui/views/widget/desktop_aura/desktop_activation_client.h
@@ -62,7 +62,7 @@ class VIEWS_EXPORT DesktopActivationClient
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:
void FocusWindowWithEvent(const ui::Event* event);
diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
index 87b8bf1..870b878 100644
--- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
+++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
@@ -572,9 +572,8 @@ ui::EventResult DesktopNativeWidgetAura::OnTouchEvent(ui::TouchEvent* event) {
return native_widget_delegate_->OnTouchEvent(event);
}
-ui::EventResult DesktopNativeWidgetAura::OnGestureEvent(
- ui::GestureEvent* event) {
- return native_widget_delegate_->OnGestureEvent(event);
+void DesktopNativeWidgetAura::OnGestureEvent(ui::GestureEvent* event) {
+ native_widget_delegate_->OnGestureEvent(event);
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.h b/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
index 742b133..b3abe0f 100644
--- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
+++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.h
@@ -153,7 +153,7 @@ class VIEWS_EXPORT DesktopNativeWidgetAura
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;
// Overridden from aura::client::ActivationDelegate:
virtual bool ShouldActivate() const OVERRIDE;
diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc
index f0779c3..0d804a6 100644
--- a/ui/views/widget/native_widget_aura.cc
+++ b/ui/views/widget/native_widget_aura.cc
@@ -841,9 +841,9 @@ ui::EventResult NativeWidgetAura::OnTouchEvent(ui::TouchEvent* event) {
return delegate_->OnTouchEvent(event);
}
-ui::EventResult NativeWidgetAura::OnGestureEvent(ui::GestureEvent* event) {
+void NativeWidgetAura::OnGestureEvent(ui::GestureEvent* event) {
DCHECK(window_->IsVisible());
- return delegate_->OnGestureEvent(event);
+ delegate_->OnGestureEvent(event);
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/ui/views/widget/native_widget_aura.h b/ui/views/widget/native_widget_aura.h
index 623e9b8..7a7474e 100644
--- a/ui/views/widget/native_widget_aura.h
+++ b/ui/views/widget/native_widget_aura.h
@@ -157,7 +157,7 @@ class VIEWS_EXPORT NativeWidgetAura : public internal::NativeWidgetPrivate,
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;
// Overridden from aura::client::ActivationDelegate:
virtual bool ShouldActivate() const OVERRIDE;
diff --git a/ui/views/widget/native_widget_aura_unittest.cc b/ui/views/widget/native_widget_aura_unittest.cc
index f0db7c2..7e06b79 100644
--- a/ui/views/widget/native_widget_aura_unittest.cc
+++ b/ui/views/widget/native_widget_aura_unittest.cc
@@ -216,9 +216,10 @@ class GestureTrackingView : public views::View {
}
// View overrides:
- virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
+ virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
got_gesture_event_ = true;
- return consume_gesture_event_ ? ui::ER_CONSUMED : ui::ER_UNHANDLED;
+ if (consume_gesture_event_)
+ event->StopPropagation();
}
private:
diff --git a/ui/views/widget/native_widget_delegate.h b/ui/views/widget/native_widget_delegate.h
index 29ab54f..bc82cdc 100644
--- a/ui/views/widget/native_widget_delegate.h
+++ b/ui/views/widget/native_widget_delegate.h
@@ -112,7 +112,7 @@ class VIEWS_EXPORT NativeWidgetDelegate {
virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) = 0;
virtual ui::EventResult OnScrollEvent(ui::ScrollEvent* event) = 0;
- virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) = 0;
+ virtual void OnGestureEvent(ui::GestureEvent* event) = 0;
// Runs the specified native command. Returns true if the command is handled.
virtual bool ExecuteCommand(int command_id) = 0;
diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc
index 4dc3980..3593424 100644
--- a/ui/views/widget/root_view.cc
+++ b/ui/views/widget/root_view.cc
@@ -196,9 +196,7 @@ ui::EventResult RootView::DispatchTouchEvent(ui::TouchEvent* event) {
return status;
}
-ui::EventResult RootView::DispatchGestureEvent(ui::GestureEvent* event) {
- ui::EventResult status = ui::ER_UNHANDLED;
-
+void RootView::DispatchGestureEvent(ui::GestureEvent* event) {
if (gesture_handler_) {
// |gesture_handler_| (or |scroll_gesture_handler_|) can be deleted during
// processing.
@@ -206,8 +204,7 @@ ui::EventResult RootView::DispatchGestureEvent(ui::GestureEvent* event) {
(event->IsScrollGestureEvent() || event->IsFlingScrollEvent()) ?
scroll_gesture_handler_ : gesture_handler_;
ui::GestureEvent handler_event(*event, static_cast<View*>(this), handler);
-
- ui::EventResult status = handler->ProcessGestureEvent(&handler_event);
+ handler->ProcessGestureEvent(&handler_event);
if (event->type() == ui::ET_GESTURE_END &&
event->details().touch_points() <= 1) {
@@ -225,10 +222,13 @@ ui::EventResult RootView::DispatchGestureEvent(ui::GestureEvent* event) {
scroll_gesture_handler_ = NULL;
}
- if (status == ui::ER_CONSUMED)
- return status;
-
- DCHECK_EQ(ui::ER_UNHANDLED, status);
+ if (handler_event.stopped_propagation()) {
+ event->StopPropagation();
+ return;
+ } else if (handler_event.handled()) {
+ event->SetHandled();
+ return;
+ }
if (event->type() == ui::ET_GESTURE_SCROLL_BEGIN &&
!scroll_gesture_handler_) {
@@ -241,14 +241,19 @@ ui::EventResult RootView::DispatchGestureEvent(ui::GestureEvent* event) {
scroll_gesture_handler_ = scroll_gesture_handler_->parent()) {
ui::GestureEvent gesture_event(*event, static_cast<View*>(this),
scroll_gesture_handler_);
- status = scroll_gesture_handler_->ProcessGestureEvent(&gesture_event);
- if (status == ui::ER_CONSUMED)
- return status;
+ scroll_gesture_handler_->ProcessGestureEvent(&gesture_event);
+ if (gesture_event.stopped_propagation()) {
+ event->StopPropagation();
+ return;
+ } else if (gesture_event.handled()) {
+ event->SetHandled();
+ return;
+ }
}
scroll_gesture_handler_ = NULL;
}
- return ui::ER_UNHANDLED;
+ return;
}
// Walk up the tree until we find a view that wants the gesture event.
@@ -257,34 +262,35 @@ ui::EventResult RootView::DispatchGestureEvent(ui::GestureEvent* event) {
gesture_handler_ = gesture_handler_->parent()) {
if (!gesture_handler_->enabled()) {
// Disabled views eat events but are treated as not handled.
- return ui::ER_UNHANDLED;
+ return;
}
// See if this view wants to handle the Gesture.
ui::GestureEvent gesture_event(*event, static_cast<View*>(this),
gesture_handler_);
- status = gesture_handler_->ProcessGestureEvent(&gesture_event);
+ gesture_handler_->ProcessGestureEvent(&gesture_event);
// The view could have removed itself from the tree when handling
// OnGestureEvent(). So handle as per OnMousePressed. NB: we
// assume that the RootView itself cannot be so removed.
if (!gesture_handler_)
- return ui::ER_UNHANDLED;
+ return;
- if (status == ui::ER_CONSUMED) {
+ if (gesture_event.handled()) {
if (gesture_event.type() == ui::ET_GESTURE_SCROLL_BEGIN)
scroll_gesture_handler_ = gesture_handler_;
- return status;
+ if (gesture_event.stopped_propagation())
+ event->StopPropagation();
+ else
+ event->SetHandled();
+ return;
}
// The gesture event wasn't processed. Go up the view hierarchy and
// dispatch the gesture event.
- DCHECK_EQ(ui::ER_UNHANDLED, status);
}
gesture_handler_ = NULL;
-
- return status;
}
// Focus -----------------------------------------------------------------------
diff --git a/ui/views/widget/root_view.h b/ui/views/widget/root_view.h
index 66ff49b..c87692d 100644
--- a/ui/views/widget/root_view.h
+++ b/ui/views/widget/root_view.h
@@ -64,7 +64,7 @@ class VIEWS_EXPORT RootView : public View, public FocusTraversable {
ui::EventResult DispatchKeyEvent(const ui::KeyEvent& event);
ui::EventResult DispatchScrollEvent(ui::ScrollEvent* event);
ui::EventResult DispatchTouchEvent(ui::TouchEvent* event);
- virtual ui::EventResult DispatchGestureEvent(ui::GestureEvent* event);
+ virtual void DispatchGestureEvent(ui::GestureEvent* event);
// Focus ---------------------------------------------------------------------
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
index 9942c3d..457e1fe 100644
--- a/ui/views/widget/widget.cc
+++ b/ui/views/widget/widget.cc
@@ -1170,7 +1170,7 @@ ui::EventResult Widget::OnScrollEvent(ui::ScrollEvent* event) {
DispatchScrollEvent(event);
}
-ui::EventResult Widget::OnGestureEvent(ui::GestureEvent* event) {
+void Widget::OnGestureEvent(ui::GestureEvent* event) {
ScopedEvent scoped(this, *event);
switch (event->type()) {
case ui::ET_GESTURE_TAP_DOWN:
@@ -1191,8 +1191,7 @@ ui::EventResult Widget::OnGestureEvent(ui::GestureEvent* event) {
default:
break;
}
- return static_cast<internal::RootView*>(GetRootView())->
- DispatchGestureEvent(event);
+ static_cast<internal::RootView*>(GetRootView())->DispatchGestureEvent(event);
}
bool Widget::ExecuteCommand(int command_id) {
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
index 139c69a..3daac12 100644
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -659,7 +659,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
virtual void OnMouseCaptureLost() OVERRIDE;
virtual ui::EventResult OnTouchEvent(ui::TouchEvent* event) OVERRIDE;
virtual ui::EventResult OnScrollEvent(ui::ScrollEvent* event) OVERRIDE;
- virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE;
+ virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE;
virtual bool ExecuteCommand(int command_id) OVERRIDE;
virtual InputMethod* GetInputMethodDirect() OVERRIDE;
virtual const std::vector<ui::Layer*>& GetRootLayers() OVERRIDE;
diff --git a/ui/views/widget/widget_unittest.cc b/ui/views/widget/widget_unittest.cc
index 44fa495..f4d9381 100644
--- a/ui/views/widget/widget_unittest.cc
+++ b/ui/views/widget/widget_unittest.cc
@@ -127,12 +127,11 @@ class GestureCaptureView : public View {
private:
// Overridden from View:
- virtual ui::EventResult OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
+ virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE {
if (event->type() == ui::ET_GESTURE_BEGIN) {
GetWidget()->SetCapture(this);
- return ui::ER_CONSUMED;
+ event->StopPropagation();
}
- return ui::ER_UNHANDLED;
}
DISALLOW_COPY_AND_ASSIGN(GestureCaptureView);