summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-04-12 15:08:39 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-12 15:08:39 -0700
commit5c44fee5e9d40f397b5ae82d0365678924ce0f8b (patch)
treed8ef07cd19053f38fd59e6b05cbdd4993910a4ad
parentf21bea245a7c305c75906f9c9228ac315e10cd9f (diff)
parent2d8c13bd1cf17842747b5e293e940169a26fa0d2 (diff)
downloadframeworks_base-5c44fee5e9d40f397b5ae82d0365678924ce0f8b.zip
frameworks_base-5c44fee5e9d40f397b5ae82d0365678924ce0f8b.tar.gz
frameworks_base-5c44fee5e9d40f397b5ae82d0365678924ce0f8b.tar.bz2
Merge "Improve when highlight rects are shown"
-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) {