Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(737)

Unified Diff: ui/views/widget/root_view.cc

Issue 11280290: events: Change gesture-event handler in EventHandler to not return any values. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/widget/root_view.h ('k') | ui/views/widget/widget.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/root_view.cc
diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc
index 4dc398090eb0f138390fdb0a9f77b600c4914c58..35934241f7a54cc9964c3f3b702f4b99bb006e76 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 -----------------------------------------------------------------------
« no previous file with comments | « ui/views/widget/root_view.h ('k') | ui/views/widget/widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698