summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/android/KeyEventAndroid.cpp
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2009-06-26 14:29:51 -0400
committerCary Clark <cary@android.com>2009-06-29 08:20:09 -0400
commitb6631b666120e63a9ceee4a77613cf962fa37b1f (patch)
treef6d2e38213df23f732bb5c6c27b6e124438eeeb2 /WebCore/platform/android/KeyEventAndroid.cpp
parentaf20123d135af00dd2762754671d88e4d52122c8 (diff)
downloadexternal_webkit-b6631b666120e63a9ceee4a77613cf962fa37b1f.zip
external_webkit-b6631b666120e63a9ceee4a77613cf962fa37b1f.tar.gz
external_webkit-b6631b666120e63a9ceee4a77613cf962fa37b1f.tar.bz2
work in progress to enable plugins to receive arrow keys
Consolidate key handling. Simplify interface between android and webkit so multiple clients can use common code to pass keys. Add helper to return if cached node is plugin. Use WebView::m_clickedOnPlugin to remember active plugins. Add WebView.MOVE_CURSOR to replay key events the plugin doesn't want.
Diffstat (limited to 'WebCore/platform/android/KeyEventAndroid.cpp')
-rw-r--r--WebCore/platform/android/KeyEventAndroid.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/WebCore/platform/android/KeyEventAndroid.cpp b/WebCore/platform/android/KeyEventAndroid.cpp
index ab848bd..998c781 100644
--- a/WebCore/platform/android/KeyEventAndroid.cpp
+++ b/WebCore/platform/android/KeyEventAndroid.cpp
@@ -211,9 +211,8 @@ static inline String singleCharacterString(UChar32 c)
}
PlatformKeyboardEvent::PlatformKeyboardEvent(int keyCode, UChar32 unichar,
- Type type, int repeatCount,
- ModifierKey mods)
- : m_type(type)
+ int repeatCount, bool down, bool cap, bool alt, bool sym)
+ : m_type(down ? KeyDown : KeyUp)
, m_text(singleCharacterString(unichar))
, m_unmodifiedText(singleCharacterString(unichar))
, m_keyIdentifier(keyIdentifierForAndroidKeyCode(keyCode))
@@ -221,10 +220,10 @@ PlatformKeyboardEvent::PlatformKeyboardEvent(int keyCode, UChar32 unichar,
, m_windowsVirtualKeyCode(windowsKeyCodeForKeyEvent(keyCode))
, m_nativeVirtualKeyCode(keyCode)
, m_isKeypad(false)
- , m_shiftKey((mods & ShiftKey))
- , m_ctrlKey((mods & CtrlKey))
- , m_altKey((mods & AltKey))
- , m_metaKey((mods & MetaKey))
+ , m_shiftKey(cap ? ShiftKey : 0)
+ , m_ctrlKey(sym ? CtrlKey : 0)
+ , m_altKey(alt ? AltKey : 0)
+ , m_metaKey(0)
// added for android
, m_repeatCount(repeatCount)
, m_unichar(unichar)