summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/webkit/WebView.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 0acd748..68c9904 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4380,15 +4380,20 @@ public class WebView extends AbsoluteLayout
}
WebViewCore.CursorData cursorData() {
- WebViewCore.CursorData result = new WebViewCore.CursorData();
- result.mMoveGeneration = nativeMoveGeneration();
- result.mFrame = nativeCursorFramePointer();
+ WebViewCore.CursorData result = cursorDataNoPosition();
Point position = nativeCursorPosition();
result.mX = position.x;
result.mY = position.y;
return result;
}
+ WebViewCore.CursorData cursorDataNoPosition() {
+ WebViewCore.CursorData result = new WebViewCore.CursorData();
+ result.mMoveGeneration = nativeMoveGeneration();
+ result.mFrame = nativeCursorFramePointer();
+ return result;
+ }
+
/**
* Delete text from start to end in the focused textfield. If there is no
* focus, or if start == end, silently fail. If start and end are out of
@@ -5588,6 +5593,18 @@ public class WebView extends AbsoluteLayout
private static final int DRAG_LAYER_FINGER_DISTANCE = 20000;
@Override
+ public boolean onHoverEvent(MotionEvent event) {
+ if (mNativeClass == 0) {
+ return false;
+ }
+ WebViewCore.CursorData data = cursorDataNoPosition();
+ data.mX = viewToContentX((int) event.getX());
+ data.mY = viewToContentY((int) event.getY());
+ mWebViewCore.sendMessage(EventHub.SET_MOVE_MOUSE, data);
+ return true;
+ }
+
+ @Override
public boolean onTouchEvent(MotionEvent ev) {
if (mNativeClass == 0 || (!isClickable() && !isLongClickable())) {
return false;