summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-04-12 14:15:54 -0700
committerJohn Reck <jreck@google.com>2012-04-12 14:19:05 -0700
commit2d8c13bd1cf17842747b5e293e940169a26fa0d2 (patch)
tree3635074715ef8e3477705fb7d3503447e6d3e06c /core/java
parent9492947a5970325c494872324078b898868b9403 (diff)
downloadframeworks_base-2d8c13bd1cf17842747b5e293e940169a26fa0d2.zip
frameworks_base-2d8c13bd1cf17842747b5e293e940169a26fa0d2.tar.gz
frameworks_base-2d8c13bd1cf17842747b5e293e940169a26fa0d2.tar.bz2
Improve when highlight rects are shown
Bug: 6319429 Change-Id: I8eb989d94433c01406cdb32e01034c644078a133
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/webkit/WebViewClassic.java11
-rw-r--r--core/java/android/webkit/WebViewInputDispatcher.java6
2 files changed, 13 insertions, 4 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 9895a87..22f562a 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -6002,9 +6002,9 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
data.mNativeLayer = nativeScrollableLayer(
contentX, contentY, data.mNativeLayerRect, null);
data.mSlop = viewToContentDimension(mNavSlop);
- mTouchHighlightRegion.setEmpty();
+ removeTouchHighlight();
if (!mBlockWebkitViewMessages) {
- mTouchHighlightRequested = System.currentTimeMillis();
+ mTouchHighlightRequested = SystemClock.uptimeMillis();
mWebViewCore.sendMessageAtFrontOfQueue(
EventHub.HIT_TEST, data);
}
@@ -7777,13 +7777,16 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
if (mFocusedNode.mHasFocus && mFocusedNode.mEditable) {
return false;
}
- long delay = System.currentTimeMillis() - mTouchHighlightRequested;
+ long delay = SystemClock.uptimeMillis() - mTouchHighlightRequested;
if (delay < ViewConfiguration.getTapTimeout()) {
Rect r = mTouchHighlightRegion.getBounds();
mWebView.postInvalidateDelayed(delay, r.left, r.top, r.right, r.bottom);
return false;
}
- return true;
+ if (mInputDispatcher == null) {
+ return false;
+ }
+ return mInputDispatcher.shouldShowTapHighlight();
}
diff --git a/core/java/android/webkit/WebViewInputDispatcher.java b/core/java/android/webkit/WebViewInputDispatcher.java
index e7024d9..c8677ec 100644
--- a/core/java/android/webkit/WebViewInputDispatcher.java
+++ b/core/java/android/webkit/WebViewInputDispatcher.java
@@ -349,6 +349,12 @@ final class WebViewInputDispatcher {
}
}
+ public boolean shouldShowTapHighlight() {
+ synchronized (mLock) {
+ return mPostLongPressScheduled || mPostClickScheduled;
+ }
+ }
+
private void postLongPress() {
synchronized (mLock) {
if (!mPostLongPressScheduled) {