diff options
author | John Reck <jreck@google.com> | 2012-08-20 17:13:47 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-08-20 17:13:47 -0700 |
commit | f2e6115404dbd211ddef223e2b380cefd999aac4 (patch) | |
tree | 00e31a9d5957eb36e08025f4951c20af9246d3ca /core/java/android/webkit/WebViewClassic.java | |
parent | bf5740e75efd87ae0213486e78e029403804c6f0 (diff) | |
download | frameworks_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.java | 10 |
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; } } } |