| 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;
|
| }
|
|
|
|
|