summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebView.java
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2010-08-06 11:50:49 -0400
committerDerek Sollenberger <djsollen@google.com>2010-09-01 09:01:48 -0400
commit73ef5d4e2bcbf28ccb84580439f2f79d5cea1ec7 (patch)
treec59e33f2b6ba6c224aa4bd18053619398cd05e9a /core/java/android/webkit/WebView.java
parent795b8aa4a3d668627901b27870cddce67c239774 (diff)
DO NOT MERGE. CHERRY-PICKED GERRIT CHANGE 60365.
Support complex characters in plugins. Complex characters like chinese are sent via the onKeyMultiple() callback. The WebView passes these characters to Webkit so that non-text inputs (e.g. plugins) can process them. Change-Id: I49575bb8a583f9f3580f5734ad87cc7c00b2bda9 http://b/2900114
Diffstat (limited to 'core/java/android/webkit/WebView.java')
-rw-r--r--core/java/android/webkit/WebView.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 0deb45aff8cd..087d4c3faa0c 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -3912,6 +3912,19 @@ public class WebView extends AbsoluteLayout
private boolean mGotCenterDown = false;
@Override
+ public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
+ // send complex characters to webkit for use by JS and plugins
+ if (keyCode == KeyEvent.KEYCODE_UNKNOWN && event.getCharacters() != null) {
+ // pass the key to DOM
+ mWebViewCore.sendMessage(EventHub.KEY_DOWN, event);
+ mWebViewCore.sendMessage(EventHub.KEY_UP, event);
+ // return true as DOM handles the key
+ return true;
+ }
+ return false;
+ }
+
+ @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (DebugFlags.WEB_VIEW) {
Log.v(LOGTAG, "keyDown at " + System.currentTimeMillis()