Index: ui/views/widget/root_view.cc |
diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc |
index 1185c755153ad47dd10df9f4459358ea97792370..411ffd7d28f3144d2bb22a44bc28715be6c3eb49 100644 |
--- a/ui/views/widget/root_view.cc |
+++ b/ui/views/widget/root_view.cc |
@@ -278,10 +278,26 @@ void RootView::DispatchGestureEvent(ui::GestureEvent* event) { |
break; |
} |
+ // Terry: A runtime flag will specify whether or not fuzzing should be |
tdanderson
2013/10/07 21:35:21
I still have to define a --use-rect-based-views-ta
|
+ // used here (and will possibly also specify an overlap percentage). |
+ bool use_fuzzing = true; |
+ |
+ View* gesture_handler = NULL; |
+ if (use_fuzzing) { |
+ // Terry: account for any possible transformations on rect? |
+ gfx::Rect touch_rect(event->details().bounding_box()); |
+ gfx::Point origin(touch_rect.origin()); |
+ View::ConvertPointFromScreen(this, &origin); |
+ touch_rect.set_origin(origin); |
+ gesture_handler = GetEventHandlerForRect(touch_rect); |
+ } else { |
+ gesture_handler = GetEventHandlerForPoint(event->location()); |
+ } |
+ |
// Walk up the tree until we find a view that wants the gesture event. |
- for (gesture_handler_ = GetEventHandlerForPoint(event->location()); |
- gesture_handler_ && (gesture_handler_ != this); |
- gesture_handler_ = gesture_handler_->parent()) { |
+ for (gesture_handler_ = gesture_handler; |
+ gesture_handler_ && (gesture_handler_ != this); |
+ gesture_handler_ = gesture_handler_->parent()) { |
if (!gesture_handler_->enabled()) { |
// Disabled views eat events but are treated as not handled. |
return; |