Modified: trunk/Source/WebKit2/ChangeLog (123859 => 123860)
--- trunk/Source/WebKit2/ChangeLog 2012-07-27 10:44:53 UTC (rev 123859)
+++ trunk/Source/WebKit2/ChangeLog 2012-07-27 10:47:15 UTC (rev 123860)
@@ -1,3 +1,16 @@
+2012-07-27 Mikhail Pozdnyakov <[email protected]>
+
+ [EFL][WK2] Keyboard events miss key location data.
+ https://bugs.webkit.org/show_bug.cgi?id=92235
+
+ Reviewed by Simon Hausmann.
+
+ EFL WK2 did not initialize WebKeyboardEvent::m_isKeypad field.
+ This caused failure of fast/events/keydown-numpad-keys.html test.
+
+ * Shared/efl/WebEventFactory.cpp: WebKeyboardEvent::m_isKeypad is initialized.
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+
2012-07-27 Gyuyoung Kim <[email protected]>
[EFL] Fix wrong return value in EWK_VIEW_XXX macro.
Modified: trunk/Source/WebKit2/Shared/efl/WebEventFactory.cpp (123859 => 123860)
--- trunk/Source/WebKit2/Shared/efl/WebEventFactory.cpp 2012-07-27 10:44:53 UTC (rev 123859)
+++ trunk/Source/WebKit2/Shared/efl/WebEventFactory.cpp 2012-07-27 10:47:15 UTC (rev 123860)
@@ -44,6 +44,8 @@
RightButton = 3
};
+static const char keyPadPrefix[] = "KP_";
+
static inline WebEvent::Modifiers modifiersForEvent(const Evas_Modifier* modifiers)
{
unsigned result = 0;
@@ -158,7 +160,7 @@
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const Evas_Event_Key_Down* event)
{
- String keyName = String(event->key);
+ const String keyName(event->key);
return WebKeyboardEvent(WebEvent::KeyDown,
String::fromUTF8(event->string),
String::fromUTF8(event->string),
@@ -167,7 +169,7 @@
0 /* FIXME: nativeVirtualKeyCode */,
0 /* macCharCode */,
false /* FIXME: isAutoRepeat */,
- false /* FIXME: isKeypad */,
+ keyName.startsWith(keyPadPrefix),
false /* isSystemKey */,
modifiersForEvent(event->modifiers),
event->timestamp);
@@ -175,7 +177,7 @@
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const Evas_Event_Key_Up* event)
{
- String keyName = String(event->key);
+ const String keyName(event->key);
return WebKeyboardEvent(WebEvent::KeyUp,
String::fromUTF8(event->string),
String::fromUTF8(event->string),
@@ -184,7 +186,7 @@
0 /* FIXME: nativeVirtualKeyCode */,
0 /* macCharCode */,
false /* FIXME: isAutoRepeat */,
- false /* FIXME: isKeypad */,
+ keyName.startsWith(keyPadPrefix),
false /* isSystemKey */,
modifiersForEvent(event->modifiers),
event->timestamp);