summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/webkit/WebViewClassic.java10
-rw-r--r--core/java/android/webkit/WebViewCore.java11
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,