summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/plugins/qt
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-13 16:23:25 +0100
committerBen Murdoch <benm@google.com>2011-05-16 11:35:02 +0100
commit65f03d4f644ce73618e5f4f50dd694b26f55ae12 (patch)
treef478babb801e720de7bfaee23443ffe029f58731 /Source/WebCore/plugins/qt
parent47de4a2fb7262c7ebdb9cd133ad2c54c187454d0 (diff)
downloadexternal_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.zip
external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.gz
external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.bz2
Merge WebKit at r75993: Initial merge by git.
Change-Id: I602bbdc3974787a3b0450456a30a7868286921c3
Diffstat (limited to 'Source/WebCore/plugins/qt')
-rw-r--r--Source/WebCore/plugins/qt/PluginViewQt.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
index fdbe552..6cf36e9 100644
--- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
@@ -417,15 +417,14 @@ void setXKeyEventSpecificFields(XEvent* xEvent, KeyboardEvent* event)
xEvent->xkey.keycode = keyEvent->nativeScanCode();
// We may not have a nativeScanCode() if the key event is from DRT's eventsender. In that
- // case just populate the XEvent's keycode with the Qt platform-independent keycode. The only
+ // case fetch the XEvent's keycode from the event's text. The only
// place this keycode will be used is in webkit_test_plugin_handle_event().
+ // FIXME: Create Qt API so that we can set the appropriate keycode in DRT EventSender instead.
if (QWebPagePrivate::drtRun && !xEvent->xkey.keycode) {
QKeyEvent* qKeyEvent = keyEvent->qtEvent();
ASSERT(qKeyEvent);
- if (!qKeyEvent->text().isEmpty())
- xEvent->xkey.keycode = int(qKeyEvent->text().at(0).unicode() + qKeyEvent->modifiers());
- else if (qKeyEvent->key() && (qKeyEvent->key() != Qt::Key_unknown))
- xEvent->xkey.keycode = int(qKeyEvent->key() + qKeyEvent->modifiers());
+ QString keyText = qKeyEvent->text().left(1);
+ xEvent->xkey.keycode = XKeysymToKeycode(QX11Info::display(), XStringToKeysym(keyText.toUtf8().constData()));
}
xEvent->xkey.same_screen = true;