Make event sender supply a good default area for tap gesture events
In most real-world scenarios, tap gestures will come with an area and so
trigger a very different hit testing path in blink (for touch adjustment).
We've had a few cases of missing test coverage for tests that didn't
explicitly supply an area. So now default to using a reasonable area if
none is provided.
BUG=None
Review URL: https://codereview.chromium.org/423593003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286873 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/shell/renderer/test_runner/event_sender.cc b/content/shell/renderer/test_runner/event_sender.cc
index 8791a2f..e80e5951 100644
--- a/content/shell/renderer/test_runner/event_sender.cc
+++ b/content/shell/renderer/test_runner/event_sender.cc
@@ -1923,37 +1923,36 @@
event.x = current_gesture_location_.x;
event.y = current_gesture_location_.y;
break;
- case WebInputEvent::GestureTap:
+ case WebInputEvent::GestureTap:
+ {
+ float tap_count = 1;
+ float width = 30;
+ float height = 30;
if (!args->PeekNext().IsEmpty()) {
- float tap_count;
if (!args->GetNext(&tap_count)) {
args->ThrowError();
return;
}
- event.data.tap.tapCount = tap_count;
- } else {
- event.data.tap.tapCount = 1;
}
if (!args->PeekNext().IsEmpty()) {
- float width;
if (!args->GetNext(&width)) {
args->ThrowError();
return;
}
- event.data.tap.width = width;
}
if (!args->PeekNext().IsEmpty()) {
- float height;
if (!args->GetNext(&height)) {
args->ThrowError();
return;
}
- event.data.tap.height = height;
}
-
+ event.data.tap.tapCount = tap_count;
+ event.data.tap.width = width;
+ event.data.tap.height = height;
event.x = point.x;
event.y = point.y;
break;
+ }
case WebInputEvent::GestureTapUnconfirmed:
if (!args->PeekNext().IsEmpty()) {
float tap_count;
@@ -1969,45 +1968,49 @@
event.y = point.y;
break;
case WebInputEvent::GestureTapDown:
- event.x = point.x;
- event.y = point.y;
+ {
+ float width = 30;
+ float height = 30;
if (!args->PeekNext().IsEmpty()) {
- float width;
if (!args->GetNext(&width)) {
args->ThrowError();
return;
}
- event.data.tapDown.width = width;
}
if (!args->PeekNext().IsEmpty()) {
- float height;
if (!args->GetNext(&height)) {
args->ThrowError();
return;
}
- event.data.tapDown.height = height;
}
- break;
- case WebInputEvent::GestureShowPress:
event.x = point.x;
event.y = point.y;
+ event.data.tapDown.width = width;
+ event.data.tapDown.height = height;
+ break;
+ }
+ case WebInputEvent::GestureShowPress:
+ {
+ float width = 30;
+ float height = 30;
if (!args->PeekNext().IsEmpty()) {
- float width;
if (!args->GetNext(&width)) {
args->ThrowError();
return;
}
- event.data.showPress.width = width;
if (!args->PeekNext().IsEmpty()) {
- float height;
if (!args->GetNext(&height)) {
args->ThrowError();
return;
}
- event.data.showPress.height = height;
}
}
+ event.x = point.x;
+ event.y = point.y;
+ event.data.showPress.width = width;
+ event.data.showPress.height = height;
break;
+ }
case WebInputEvent::GestureTapCancel:
event.x = point.x;
event.y = point.y;