Wire up gesturetap in SkyShell

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/997073003
This commit is contained in:
Adam Barth 2015-03-11 12:54:47 -07:00
parent 4c1068fb0e
commit b8f3d891f6
2 changed files with 32 additions and 8 deletions

View File

@ -69,13 +69,15 @@ public class GestureProvider implements GestureDetector.OnGestureListener {
@Override
public boolean onDown(MotionEvent event) {
InputEvent inputEvent = createGestureEvent(event);
inputEvent.type = EventType.GESTURE_TAP_DOWN;
mListener.onGestureEvent(inputEvent);
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX, float velocityY) {
mFlinging = true;
// Use the first event as a scroll start (for the target hit-test)
@ -85,12 +87,14 @@ public class GestureProvider implements GestureDetector.OnGestureListener {
inputEvent.type = EventType.GESTURE_FLING_START;
mListener.onGestureEvent(inputEvent);
return true;
}
@Override
public void onLongPress(MotionEvent event) {
InputEvent inputEvent = createGestureEvent(event);
inputEvent.type = EventType.GESTURE_LONG_PRESS;
mListener.onGestureEvent(inputEvent);
}
@Override
@ -115,12 +119,16 @@ public class GestureProvider implements GestureDetector.OnGestureListener {
@Override
public void onShowPress(MotionEvent event) {
InputEvent inputEvent = createGestureEvent(event);
inputEvent.type = EventType.GESTURE_SHOW_PRESS;
mListener.onGestureEvent(inputEvent);
}
@Override
public boolean onSingleTapUp(MotionEvent event) {
InputEvent inputEvent = createGestureEvent(event);
inputEvent.type = EventType.GESTURE_TAP;
mListener.onGestureEvent(inputEvent);
return true;
}
}

View File

@ -79,6 +79,18 @@ scoped_ptr<blink::WebInputEvent> BuildWebGestureEvent(
case EVENT_TYPE_GESTURE_FLING_CANCEL:
web_event->type = blink::WebInputEvent::GestureFlingCancel;
break;
case EVENT_TYPE_GESTURE_LONG_PRESS:
web_event->type = blink::WebInputEvent::GestureLongPress;
break;
case EVENT_TYPE_GESTURE_SHOW_PRESS:
web_event->type = blink::WebInputEvent::GestureShowPress;
break;
case EVENT_TYPE_GESTURE_TAP:
web_event->type = blink::WebInputEvent::GestureTap;
break;
case EVENT_TYPE_GESTURE_TAP_DOWN:
web_event->type = blink::WebInputEvent::GestureTapDown;
break;
default:
break;
}
@ -101,11 +113,15 @@ scoped_ptr<blink::WebInputEvent> ConvertEvent(const InputEventPtr& event,
case EVENT_TYPE_POINTER_MOVE:
case EVENT_TYPE_POINTER_CANCEL:
return BuildWebPointerEvent(event, device_pixel_ratio);
case EVENT_TYPE_GESTURE_SCROLL_BEGIN:
case EVENT_TYPE_GESTURE_SCROLL_UPDATE:
case EVENT_TYPE_GESTURE_SCROLL_END:
case EVENT_TYPE_GESTURE_FLING_START:
case EVENT_TYPE_GESTURE_FLING_CANCEL:
case EVENT_TYPE_GESTURE_FLING_START:
case EVENT_TYPE_GESTURE_LONG_PRESS:
case EVENT_TYPE_GESTURE_SCROLL_BEGIN:
case EVENT_TYPE_GESTURE_SCROLL_END:
case EVENT_TYPE_GESTURE_SCROLL_UPDATE:
case EVENT_TYPE_GESTURE_SHOW_PRESS:
case EVENT_TYPE_GESTURE_TAP:
case EVENT_TYPE_GESTURE_TAP_DOWN:
return BuildWebGestureEvent(event, device_pixel_ratio);
case EVENT_TYPE_UNKNOWN:
NOTIMPLEMENTED() << "ConvertEvent received unexpected EVENT_TYPE_UNKNOWN";