diff options
| author | Leon Scroggins <scroggo@google.com> | 2011-02-17 13:51:50 -0500 |
|---|---|---|
| committer | Leon Scroggins <scroggo@google.com> | 2011-02-17 13:51:50 -0500 |
| commit | defba0cabe800672b152f89904e4203635c74926 (patch) | |
| tree | ade72980a76a839e4b180fd87732340c98446de6 /core/java/android | |
| parent | 90e711670af9a1d48aec04dda85272d8ec4334dc (diff) | |
Only give WebTextView keys if it has focus.
Bug:3460690
Change-Id: Iab82dc2c6e07a83062338ede8428e9d81ef0b949
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/webkit/WebView.java | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index b374fbdd25ed..72e31901495c 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -5275,7 +5275,6 @@ public class WebView extends AbsoluteLayout @Override public boolean dispatchKeyEvent(KeyEvent event) { - boolean dispatch = true; switch (event.getAction()) { case KeyEvent.ACTION_DOWN: mKeysPressed.add(Integer.valueOf(event.getKeyCode())); @@ -5288,7 +5287,7 @@ public class WebView extends AbsoluteLayout if (location == -1) { // We did not receive the key down for this key, so do not // handle the key up. - dispatch = false; + return false; } else { // We did receive the key down. Handle the key up, and // remove it from our pressed keys. @@ -5300,17 +5299,12 @@ public class WebView extends AbsoluteLayout // action is added to KeyEvent. break; } - if (dispatch) { - if (inEditingMode()) { - // Ensure that the WebTextView gets the event, even if it does - // not currently have a bounds. - return mWebTextView.dispatchKeyEvent(event); - } else { - return super.dispatchKeyEvent(event); - } + if (inEditingMode() && mWebTextView.isFocused()) { + // Ensure that the WebTextView gets the event, even if it does + // not currently have a bounds. + return mWebTextView.dispatchKeyEvent(event); } else { - // We didn't dispatch, so let something else handle the key - return false; + return super.dispatchKeyEvent(event); } } |
