diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 10 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewCore.java | 11 |
2 files changed, 14 insertions, 7 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index 812d89a..09ce1e2 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -548,9 +548,13 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc if (!initData.mIsSpellCheckEnabled) { inputType |= InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; } - if (WebTextView.TEXT_AREA != type - && initData.mIsTextFieldNext) { - imeOptions |= EditorInfo.IME_FLAG_NAVIGATE_NEXT; + if (WebTextView.TEXT_AREA != type) { + if (initData.mIsTextFieldNext) { + imeOptions |= EditorInfo.IME_FLAG_NAVIGATE_NEXT; + } + if (initData.mIsTextFieldPrev) { + imeOptions |= EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS; + } } switch (type) { case WebTextView.NORMAL_TEXT_FIELD: diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 8def74b..77d2641 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -954,14 +954,15 @@ public final class WebViewCore { public TextFieldInitData(int fieldPointer, String text, int type, boolean isSpellCheckEnabled, boolean autoComplete, boolean isTextFieldNext, - String name, String label, int maxLength, - Rect nodeBounds, int nodeLayerId) { + boolean isTextFieldPrev, String name, String label, + int maxLength, Rect nodeBounds, int nodeLayerId) { mFieldPointer = fieldPointer; mText = text; mType = type; mIsAutoCompleteEnabled = autoComplete; mIsSpellCheckEnabled = isSpellCheckEnabled; mIsTextFieldNext = isTextFieldNext; + mIsTextFieldPrev = isTextFieldPrev; mName = name; mLabel = label; mMaxLength = maxLength; @@ -973,6 +974,7 @@ public final class WebViewCore { int mType; boolean mIsSpellCheckEnabled; boolean mIsTextFieldNext; + boolean mIsTextFieldPrev; boolean mIsAutoCompleteEnabled; String mName; String mLabel; @@ -2798,7 +2800,7 @@ public final class WebViewCore { // called by JNI private void initEditField(int pointer, String text, int inputType, boolean isSpellCheckEnabled, boolean isAutoCompleteEnabled, - boolean nextFieldIsText, String name, + boolean nextFieldIsText, boolean prevFieldIsText, String name, String label, int start, int end, int selectionPtr, int maxLength, Rect nodeRect, int nodeLayer) { if (mWebView == null) { @@ -2806,7 +2808,8 @@ public final class WebViewCore { } TextFieldInitData initData = new TextFieldInitData(pointer, text, inputType, isSpellCheckEnabled, isAutoCompleteEnabled, - nextFieldIsText, name, label, maxLength, nodeRect, nodeLayer); + nextFieldIsText, prevFieldIsText, name, label, maxLength, + nodeRect, nodeLayer); Message.obtain(mWebView.mPrivateHandler, WebViewClassic.INIT_EDIT_FIELD, initData).sendToTarget(); Message.obtain(mWebView.mPrivateHandler, |