summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Leon Scroggins <scroggo@google.com> 2009-06-26 17:45:29 -0400
committer Leon Scroggins <scroggo@google.com> 2009-06-29 10:50:17 -0400
commit0ca70883d752cce77b918421ef81f3134f6ccd1e (patch)
treedf39917515466eda0ea88d60bf3155ed2894ff12
parent0658e8fe4592a26de34170b62a19463fd2add47b (diff)
Assign a field name for textfields in the browser.
Fix for http://b/issue?id=1605291. Store the url and name of the textfield in EditorInfo.fieldName.
-rw-r--r--core/java/android/webkit/WebTextView.java17
-rw-r--r--core/java/android/webkit/WebView.java2
2 files changed, 16 insertions, 3 deletions
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java
index 79896f26661a..d1904b7be1c8 100644
--- a/core/java/android/webkit/WebTextView.java
+++ b/core/java/android/webkit/WebTextView.java
@@ -25,13 +25,14 @@ import android.text.Spannable;
import android.text.TextUtils;
import android.text.method.MovementMethod;
import android.util.Log;
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputMethodManager;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputConnection;
import android.widget.AbsoluteLayout.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
@@ -269,6 +270,18 @@ import java.util.ArrayList;
return ptr == mNodePointer;
}
+ @Override public InputConnection onCreateInputConnection(
+ EditorInfo outAttrs) {
+ InputConnection connection = super.onCreateInputConnection(outAttrs);
+ if (mWebView != null) {
+ // Use the name of the textfield + the url. Use backslash as an
+ // arbitrary separator.
+ outAttrs.fieldName = mWebView.nativeFocusCandidateName() + "\\"
+ + mWebView.getUrl();
+ }
+ return connection;
+ }
+
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
if (mWebView != null) {
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 1554d6ddec6f..8f502470b00c 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -5368,7 +5368,7 @@ public class WebView extends AbsoluteLayout
private native boolean nativeFocusCandidateIsTextField();
private native boolean nativeFocusCandidateIsTextInput();
private native int nativeFocusCandidateMaxLength();
- private native String nativeFocusCandidateName();
+ /* package */ native String nativeFocusCandidateName();
private native Rect nativeFocusCandidateNodeBounds();
/* package */ native int nativeFocusCandidatePointer();
private native String nativeFocusCandidateText();