Index: components/autofill/content/renderer/page_click_tracker.cc |
diff --git a/components/autofill/content/renderer/page_click_tracker.cc b/components/autofill/content/renderer/page_click_tracker.cc |
index 4e54f9e638668a2b09a994b45e0a31e4fb37fc8c..17cefcbb7478b37ab5d0781fe8b639daf4f900dd 100644 |
--- a/components/autofill/content/renderer/page_click_tracker.cc |
+++ b/components/autofill/content/renderer/page_click_tracker.cc |
@@ -13,6 +13,7 @@ |
#include "third_party/WebKit/public/web/WebLocalFrame.h" |
#include "third_party/WebKit/public/web/WebTextAreaElement.h" |
#include "third_party/WebKit/public/web/WebView.h" |
+#include "ui/gfx/geometry/rect_f.h" |
using blink::WebElement; |
using blink::WebGestureEvent; |
@@ -74,14 +75,17 @@ void PageClickTracker::DidHandleMouseEvent(const WebMouseEvent& event) { |
return; |
} |
- PotentialActivationAt(event.x, event.y); |
+ PotentialActivationAt(gfx::RectF(event.x, event.y, 1, 1)); |
} |
void PageClickTracker::DidHandleGestureEvent(const WebGestureEvent& event) { |
if (event.type != WebGestureEvent::GestureTap) |
return; |
- PotentialActivationAt(event.x, event.y); |
+ PotentialActivationAt(gfx::RectF(event.x - event.data.tap.width / 2.0, |
+ event.y - event.data.tap.height / 2.0, |
+ event.data.tap.width, |
+ event.data.tap.height)); |
} |
void PageClickTracker::FocusedNodeChanged(const WebNode& node) { |
@@ -108,13 +112,13 @@ void PageClickTracker::FocusChangeComplete() { |
was_focused_before_now_ = true; |
} |
-void PageClickTracker::PotentialActivationAt(int x, int y) { |
+void PageClickTracker::PotentialActivationAt(const gfx::RectF& region) { |
WebElement focused_element = render_view()->GetFocusedElement(); |
if (focused_element.isNull()) |
return; |
if (!GetScaledBoundingBox(render_view()->GetWebView()->pageScaleFactor(), |
- &focused_element).Contains(x, y)) { |
+ &focused_element).Intersects(region)) { |
return; |
} |