| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| index 982cd1bc3a1148c0a6304c88442b3e26b99a9d53..7eb4bd08697f5683786bc6f0f04bd1a60c608ecb 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| @@ -999,8 +999,33 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| * @see View#onTouchEvent(MotionEvent)
|
| */
|
| public boolean onTouchEvent(MotionEvent event) {
|
| + // TODO(mustaq): Should we include MotionEvent.TOOL_TYPE_STYLUS here?
|
| + // crbug.com/592082
|
| + if (event.getToolType(0) == MotionEvent.TOOL_TYPE_MOUSE) {
|
| + return sendMouseEvent(event);
|
| + }
|
| final boolean isTouchHandleEvent = false;
|
| - return onTouchEventImpl(event, isTouchHandleEvent);
|
| + return sendTouchEvent(event, isTouchHandleEvent);
|
| + }
|
| +
|
| + private boolean sendMouseEvent(MotionEvent event) {
|
| + TraceEvent.begin("sendMouseEvent");
|
| +
|
| + MotionEvent offsetEvent = createOffsetMotionEvent(event);
|
| + try {
|
| + mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
|
| + if (mNativeContentViewCore != 0) {
|
| + nativeSendMouseEvent(mNativeContentViewCore, offsetEvent.getEventTime(),
|
| + offsetEvent.getActionMasked(), offsetEvent.getX(), offsetEvent.getY(),
|
| + event.getPointerId(0), event.getPressure(0), event.getOrientation(0),
|
| + event.getAxisValue(MotionEvent.AXIS_TILT, 0), event.getButtonState(),
|
| + event.getToolType(0));
|
| + }
|
| + return true;
|
| + } finally {
|
| + offsetEvent.recycle();
|
| + TraceEvent.end("sendMouseEvent");
|
| + }
|
| }
|
|
|
| /**
|
| @@ -1009,11 +1034,11 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| */
|
| public boolean onTouchHandleEvent(MotionEvent event) {
|
| final boolean isTouchHandleEvent = true;
|
| - return onTouchEventImpl(event, isTouchHandleEvent);
|
| + return sendTouchEvent(event, isTouchHandleEvent);
|
| }
|
|
|
| - private boolean onTouchEventImpl(MotionEvent event, boolean isTouchHandleEvent) {
|
| - TraceEvent.begin("onTouchEvent");
|
| + private boolean sendTouchEvent(MotionEvent event, boolean isTouchHandleEvent) {
|
| + TraceEvent.begin("sendTouchEvent");
|
| try {
|
| int eventAction = event.getActionMasked();
|
|
|
| @@ -1072,7 +1097,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| if (offset != null) offset.recycle();
|
| return consumed;
|
| } finally {
|
| - TraceEvent.end("onTouchEvent");
|
| + TraceEvent.end("sendTouchEvent");
|
| }
|
| }
|
|
|
| @@ -1576,8 +1601,11 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
|
|
| mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
|
| if (mNativeContentViewCore != 0) {
|
| - nativeSendMouseMoveEvent(mNativeContentViewCore, offset.getEventTime(),
|
| - offset.getX(), offset.getY(), event.getToolType(0));
|
| + nativeSendMouseEvent(mNativeContentViewCore, offset.getEventTime(),
|
| + MotionEvent.ACTION_MOVE, offset.getX(), offset.getY(),
|
| + event.getPointerId(0), event.getPressure(0), event.getOrientation(0),
|
| + event.getAxisValue(MotionEvent.AXIS_TILT, 0), event.getButtonState(),
|
| + event.getToolType(0));
|
| }
|
| return true;
|
| } finally {
|
| @@ -3314,8 +3342,9 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| int androidButtonState, int androidMetaState,
|
| boolean isTouchHandleEvent);
|
|
|
| - private native int nativeSendMouseMoveEvent(
|
| - long nativeContentViewCoreImpl, long timeMs, float x, float y, int toolType);
|
| + private native int nativeSendMouseEvent(long nativeContentViewCoreImpl, long timeMs, int action,
|
| + float x, float y, int pointerId, float pressure, float orientaton, float tilt,
|
| + int buttonState, int toolType);
|
|
|
| private native int nativeSendMouseWheelEvent(long nativeContentViewCoreImpl, long timeMs,
|
| float x, float y, float ticksX, float ticksY, float pixelsPerTick);
|
|
|