Index: content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java |
index 61aceec9bd50f8d0cf4baa19c0d03010251d39bc..760d020af02a2097a3d0b2d3c4c982d2c8265cf8 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java |
@@ -452,8 +452,15 @@ public class ImeAdapter { |
boolean commitText(CharSequence text) { |
if (mNativeImeAdapterAndroid == 0) return false; |
- mViewEmbedder.onImeEvent(); |
+ // One WebView app detects Enter in JS by looking at KeyDown (http://crbug/577967). |
+ if (text.equals("\n")) { |
+ sendSyntheticKeyPress(KeyEvent.KEYCODE_ENTER, |
+ KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE); |
+ return true; |
+ } |
+ |
+ mViewEmbedder.onImeEvent(); |
long timestampMs = SystemClock.uptimeMillis(); |
nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, WebInputEventType.RawKeyDown, |
timestampMs, COMPOSITION_KEY_CODE, 0, 0); |