Merge "Differentiate between clicks for focus and actual clicks." into honeycomb
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 36a38ff..7eaab82 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -4680,8 +4680,8 @@
 
         if (nativeCursorIsTextInput()) {
             // This message will put the node in focus, for the DOM's notion
-            // of focus, and make the focuscontroller active
-            mWebViewCore.sendMessage(EventHub.CLICK, nativeCursorFramePointer(),
+            // of focus.
+            mWebViewCore.sendMessage(EventHub.FAKE_CLICK, nativeCursorFramePointer(),
                     nativeCursorNodePointer());
             // This will bring up the WebTextView and put it in focus, for
             // our view system's notion of focus
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 8d5e71a..2ea20ee 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -516,7 +516,7 @@
             int repeatCount, boolean isShift, boolean isAlt, boolean isSym,
             boolean isDown);
 
-    private native void nativeClick(int framePtr, int nodePtr);
+    private native void nativeClick(int framePtr, int nodePtr, boolean fake);
 
     private native void nativeSendListBoxChoices(boolean[] choices, int size);
 
@@ -866,7 +866,7 @@
             "CLICK", // = 118;
             "SET_NETWORK_STATE", // = 119;
             "DOC_HAS_IMAGES", // = 120;
-            "121", // = 121;
+            "FAKE_CLICK", // = 121;
             "DELETE_SELECTION", // = 122;
             "LISTBOX_CHOICES", // = 123;
             "SINGLE_LISTBOX_CHOICE", // = 124;
@@ -924,6 +924,7 @@
         static final int CLICK = 118;
         static final int SET_NETWORK_STATE = 119;
         static final int DOC_HAS_IMAGES = 120;
+        static final int FAKE_CLICK = 121;
         static final int DELETE_SELECTION = 122;
         static final int LISTBOX_CHOICES = 123;
         static final int SINGLE_LISTBOX_CHOICE = 124;
@@ -1173,8 +1174,12 @@
                             key((KeyEvent) msg.obj, false);
                             break;
 
+                        case FAKE_CLICK:
+                            nativeClick(msg.arg1, msg.arg2, true);
+                            break;
+
                         case CLICK:
-                            nativeClick(msg.arg1, msg.arg2);
+                            nativeClick(msg.arg1, msg.arg2, false);
                             break;
 
                         case VIEW_SIZE_CHANGED: {