Merge "Tap highlight fix + small perf increase"
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 6238b72..2aa481c 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4004,9 +4004,12 @@
// state.
// If mNativeClass is 0, we should not reach here, so we do not
// need to check it again.
- nativeRecordButtons(hasFocus() && hasWindowFocus(),
- mTouchMode == TOUCH_SHORTPRESS_START_MODE
- || mTrackballDown || mGotCenterDown, false);
+ if (mDrawCursorRing && drawRings) {
+ // Only update if we are actually going to use the result
+ nativeRecordButtons(hasFocus() && hasWindowFocus(),
+ mTouchMode == TOUCH_SHORTPRESS_START_MODE
+ || mTrackballDown || mGotCenterDown, false);
+ }
drawCoreAndCursorRing(canvas, mBackgroundColor,
mDrawCursorRing && drawRings);
}
@@ -4075,7 +4078,8 @@
boolean drawJavaRings = !mTouchHighlightRegion.isEmpty()
&& (mTouchMode == TOUCH_INIT_MODE
|| mTouchMode == TOUCH_SHORTPRESS_START_MODE
- || mTouchMode == TOUCH_SHORTPRESS_MODE);
+ || mTouchMode == TOUCH_SHORTPRESS_MODE
+ || mTouchMode == TOUCH_DONE_MODE);
boolean drawNativeRings = !drawJavaRings;
if (USE_WEBKIT_RINGS) {
drawNativeRings = !drawJavaRings && !isInTouchMode();