summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/WebViewClassic.java
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-08-20 17:13:47 -0700
committerJohn Reck <jreck@google.com>2012-08-20 17:13:47 -0700
commitf2e6115404dbd211ddef223e2b380cefd999aac4 (patch)
tree00e31a9d5957eb36e08025f4951c20af9246d3ca /core/java/android/webkit/WebViewClassic.java
parentbf5740e75efd87ae0213486e78e029403804c6f0 (diff)
downloadframeworks_base-f2e6115404dbd211ddef223e2b380cefd999aac4.zip
frameworks_base-f2e6115404dbd211ddef223e2b380cefd999aac4.tar.gz
frameworks_base-f2e6115404dbd211ddef223e2b380cefd999aac4.tar.bz2
Support scrolling layers with the mousewheel
Bug: 6635437 Fix onGenericAction to support scrolling layers. Calling startScrollingLayer detects if there is a layer under the mouse pointer, and if so switches to DRAG_LAYER_MODE. Then, calling doDrag will correctly handle scrolling the layer in DRAG_LAYER_MODE, switching out of DRAG_LAYER_MODE when we hit the end of a layer, and scrolling the page if there isn't a layer. It is the method used by the touch drag path. Change-Id: I00be09a63c40caa8fce94134c57db0894a62fef0
Diffstat (limited to 'core/java/android/webkit/WebViewClassic.java')
-rw-r--r--core/java/android/webkit/WebViewClassic.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index c816d5b..56654fd 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -6441,9 +6441,13 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
mWebViewPrivate.getVerticalScrollFactor());
final int hdelta = (int) (hscroll *
mWebViewPrivate.getHorizontalScrollFactor());
- if (pinScrollBy(hdelta, vdelta, false, 0)) {
- return true;
- }
+
+ abortAnimation();
+ int oldTouchMode = mTouchMode;
+ startScrollingLayer(event.getX(), event.getY());
+ doDrag(hdelta, vdelta);
+ mTouchMode = oldTouchMode;
+ return true;
}
}
}