am 955fdda0: Add tapHighlightColor support

* commit '955fdda057363dbf1ae95ffeb542cde8ace28b54':
  Add tapHighlightColor support
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index c3b6416..e6fc3d6 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -712,13 +712,11 @@
 
     static boolean sDisableNavcache = false;
     // the color used to highlight the touch rectangles
-    private static final int HIGHLIGHT_COLOR = 0x6633b5e5;
-    // the round corner for the highlight path
-    private static final float TOUCH_HIGHLIGHT_ARC = 5.0f;
+    static final int HIGHLIGHT_COLOR = 0x6633b5e5;
     // the region indicating where the user touched on the screen
     private Region mTouchHighlightRegion = new Region();
     // the paint for the touch highlight
-    private Paint mTouchHightlightPaint;
+    private Paint mTouchHightlightPaint = new Paint();
     // debug only
     private static final boolean DEBUG_TOUCH_HIGHLIGHT = true;
     private static final int TOUCH_HIGHLIGHT_ELAPSE_TIME = 2000;
@@ -4430,10 +4428,6 @@
                 Rect r = mTouchHighlightRegion.getBounds();
                 postInvalidateDelayed(delay, r.left, r.top, r.right, r.bottom);
             } else {
-                if (mTouchHightlightPaint == null) {
-                    mTouchHightlightPaint = new Paint();
-                    mTouchHightlightPaint.setColor(HIGHLIGHT_COLOR);
-                }
                 RegionIterator iter = new RegionIterator(mTouchHighlightRegion);
                 Rect r = new Rect();
                 while (iter.next(r)) {
@@ -8874,7 +8868,7 @@
                 case HIT_TEST_RESULT:
                     WebKitHitTest hit = (WebKitHitTest) msg.obj;
                     mFocusedNode = hit;
-                    setTouchHighlightRects(hit != null ? hit.mTouchRects : null);
+                    setTouchHighlightRects(hit);
                     if (hit == null) {
                         mInitialHitTestResult = null;
                     } else {
@@ -8929,12 +8923,14 @@
         }
     }
 
-    private void setTouchHighlightRects(Rect[] rects) {
+    private void setTouchHighlightRects(WebKitHitTest hit) {
+        Rect[] rects = hit != null ? hit.mTouchRects : null;
         if (!mTouchHighlightRegion.isEmpty()) {
             invalidate(mTouchHighlightRegion.getBounds());
             mTouchHighlightRegion.setEmpty();
         }
         if (rects != null) {
+            mTouchHightlightPaint.setColor(hit.mTapHighlightColor);
             for (Rect rect : rects) {
                 Rect viewRect = contentToViewRect(rect);
                 // some sites, like stories in nytimes.com, set
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index bfca07c..c4981e1 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -881,6 +881,7 @@
         String mTitle;
         Rect[] mTouchRects;
         boolean mEditable;
+        int mTapHighlightColor = WebView.HIGHLIGHT_COLOR;
 
         // These are the input values that produced this hit test
         int mHitTestX;