Skip to content

Commit 5c44fee

Browse files
jreckAndroid (Google) Code Review
authored andcommitted
Merge "Improve when highlight rects are shown"
2 parents f21bea2 + 2d8c13b commit 5c44fee

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

core/java/android/webkit/WebViewClassic.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6002,9 +6002,9 @@ private void handleTouchEventCommon(MotionEvent event, int action, int x, int y)
60026002
data.mNativeLayer = nativeScrollableLayer(
60036003
contentX, contentY, data.mNativeLayerRect, null);
60046004
data.mSlop = viewToContentDimension(mNavSlop);
6005-
mTouchHighlightRegion.setEmpty();
6005+
removeTouchHighlight();
60066006
if (!mBlockWebkitViewMessages) {
6007-
mTouchHighlightRequested = System.currentTimeMillis();
6007+
mTouchHighlightRequested = SystemClock.uptimeMillis();
60086008
mWebViewCore.sendMessageAtFrontOfQueue(
60096009
EventHub.HIT_TEST, data);
60106010
}
@@ -7777,13 +7777,16 @@ private boolean shouldDrawHighlightRect() {
77777777
if (mFocusedNode.mHasFocus && mFocusedNode.mEditable) {
77787778
return false;
77797779
}
7780-
long delay = System.currentTimeMillis() - mTouchHighlightRequested;
7780+
long delay = SystemClock.uptimeMillis() - mTouchHighlightRequested;
77817781
if (delay < ViewConfiguration.getTapTimeout()) {
77827782
Rect r = mTouchHighlightRegion.getBounds();
77837783
mWebView.postInvalidateDelayed(delay, r.left, r.top, r.right, r.bottom);
77847784
return false;
77857785
}
7786-
return true;
7786+
if (mInputDispatcher == null) {
7787+
return false;
7788+
}
7789+
return mInputDispatcher.shouldShowTapHighlight();
77877790
}
77887791

77897792

core/java/android/webkit/WebViewInputDispatcher.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,12 @@ private void unscheduleLongPressLocked() {
349349
}
350350
}
351351

352+
public boolean shouldShowTapHighlight() {
353+
synchronized (mLock) {
354+
return mPostLongPressScheduled || mPostClickScheduled;
355+
}
356+
}
357+
352358
private void postLongPress() {
353359
synchronized (mLock) {
354360
if (!mPostLongPressScheduled) {

0 commit comments

Comments
 (0)