Index: ui/base/gestures/gesture_recognizer_impl.cc |
diff --git a/ui/base/gestures/gesture_recognizer_impl.cc b/ui/base/gestures/gesture_recognizer_impl.cc |
index 78adfab9c0e6a1b0649a75ecd68f7320a29f96a1..b5c1b8d738aea1e255004e6f9b43784b102070bf 100644 |
--- a/ui/base/gestures/gesture_recognizer_impl.cc |
+++ b/ui/base/gestures/gesture_recognizer_impl.cc |
@@ -132,12 +132,13 @@ GestureConsumer* GestureRecognizerImpl::GetTargetForLocation( |
for (int j = 0; j < GestureSequence::kMaxGesturePoints; ++j) { |
if (!points[j].in_use()) |
continue; |
- gfx::Point delta = |
- points[j].last_touch_position().Subtract(location); |
- int distance = delta.x() * delta.x() + delta.y() * delta.y(); |
- if (!closest_point || distance < closest_distance_squared) { |
+ gfx::Vector2d delta = points[j].last_touch_position() - location; |
+ // Relative distance is all we need here, so LengthSquared() is |
+ // appropriate, and cheaper than Length(). |
+ int distance_squared = delta.LengthSquared(); |
+ if (!closest_point || distance_squared < closest_distance_squared) { |
closest_point = &points[j]; |
- closest_distance_squared = distance; |
+ closest_distance_squared = distance_squared; |
} |
} |
} |