Chromium Code Reviews| Index: views/widget/root_view.cc |
| diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc |
| index a124e60ef67bf1d88c032084f8d8033fbd8759f4..3106e33bef4b2b6ba620762ccf9cf78a3131b2f0 100644 |
| --- a/views/widget/root_view.cc |
| +++ b/views/widget/root_view.cc |
| @@ -315,13 +315,12 @@ View::TouchStatus RootView::OnTouchEvent(const TouchEvent& e) { |
| if (touch_pressed_handler_) { |
| TouchEvent touch_event(e, this, touch_pressed_handler_); |
| status = touch_pressed_handler_->ProcessTouchEvent(touch_event); |
| - gesture_manager_->ProcessTouchEventForGesture(e, this, true); |
| + gesture_manager_->ProcessTouchEventForGesture(e, this, status); |
|
sadrul
2011/01/18 19:33:30
Should the status fall through, or do we always wa
rjkroege
2011/01/18 20:01:28
the true was a bug. This is correct. (famous last
|
| if (status == TOUCH_STATUS_END) |
| touch_pressed_handler_ = NULL; |
| return status; |
| } |
| - bool handled = false; |
| // Walk up the tree until we find a view that wants the touch event. |
| for (touch_pressed_handler_ = GetViewForPoint(e.location()); |
| touch_pressed_handler_ && (touch_pressed_handler_ != this); |
| @@ -329,7 +328,6 @@ View::TouchStatus RootView::OnTouchEvent(const TouchEvent& e) { |
| if (!touch_pressed_handler_->IsEnabled()) { |
| // Disabled views eat events but are treated as not handled by the |
| // the GestureManager. |
| - handled = false; |
| status = TOUCH_STATUS_UNKNOWN; |
| break; |
| } |
| @@ -343,8 +341,6 @@ View::TouchStatus RootView::OnTouchEvent(const TouchEvent& e) { |
| if (status != TOUCH_STATUS_START) |
| touch_pressed_handler_ = NULL; |
| - handled = status != TOUCH_STATUS_UNKNOWN; |
| - |
| // The view could have removed itself from the tree when handling |
| // OnTouchEvent(). So handle as per OnMousePressed. NB: we |
| // assume that the RootView itself cannot be so removed. |
| @@ -357,8 +353,8 @@ View::TouchStatus RootView::OnTouchEvent(const TouchEvent& e) { |
| // If the view handled the event, leave touch_pressed_handler_ set and |
| // return true, which will cause subsequent drag/release events to get |
| // forwarded to that view. |
| - if (handled) { |
| - gesture_manager_->ProcessTouchEventForGesture(e, this, handled); |
| + if (status != TOUCH_STATUS_UNKNOWN) { |
| + gesture_manager_->ProcessTouchEventForGesture(e, this, status); |
| return status; |
| } |
| } |
| @@ -367,7 +363,7 @@ View::TouchStatus RootView::OnTouchEvent(const TouchEvent& e) { |
| touch_pressed_handler_ = NULL; |
| // Give the touch event to the gesture manager. |
| - gesture_manager_->ProcessTouchEventForGesture(e, this, handled); |
| + gesture_manager_->ProcessTouchEventForGesture(e, this, status); |
| return status; |
| } |
| #endif |