diff options
| author | John Reck <jreck@google.com> | 2012-04-12 14:15:54 -0700 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2012-04-12 14:19:05 -0700 |
| commit | 2d8c13bd1cf17842747b5e293e940169a26fa0d2 (patch) | |
| tree | 3635074715ef8e3477705fb7d3503447e6d3e06c /core/java | |
| parent | 9492947a5970325c494872324078b898868b9403 (diff) | |
| download | frameworks_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.java | 11 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewInputDispatcher.java | 6 |
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) { |
