Title: [134052] trunk/Tools
Revision
134052
Author
[email protected]
Date
2012-11-09 04:54:35 -0800 (Fri, 09 Nov 2012)

Log Message

[BlackBerry] DRT - eventSender.keyDown() needs to support pageUp, pageDown, home, end key
https://bugs.webkit.org/show_bug.cgi?id=100937

Patch by Xiaobo Wang <[email protected]> on 2012-11-09
Reviewed by Rob Buis.

1. Translate these keys to their corresponding BlackBerry key code.
2. Break down a KeyChar event to a KeyDown/KeyUp pair. This is required
because we only handle scrolling on a KeyDown event in WebPage::keyEvent()
, and internally a KeyChar event is interpreted as a KeyDown event + a
KeyUp event in InputHandler::handleKeyboardInput().

Tests fixed:
1. editing/input/scroll-viewport-page-up-down.html
2. editing/selection/move-begin-end.html
3. fast/forms/select-popup-pagekeys.html

* DumpRenderTree/blackberry/EventSender.cpp:
(keyDownCallback):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (134051 => 134052)


--- trunk/Tools/ChangeLog	2012-11-09 12:41:27 UTC (rev 134051)
+++ trunk/Tools/ChangeLog	2012-11-09 12:54:35 UTC (rev 134052)
@@ -1,3 +1,24 @@
+2012-11-09  Xiaobo Wang  <[email protected]>
+
+        [BlackBerry] DRT - eventSender.keyDown() needs to support pageUp, pageDown, home, end key
+        https://bugs.webkit.org/show_bug.cgi?id=100937
+
+        Reviewed by Rob Buis.
+
+        1. Translate these keys to their corresponding BlackBerry key code.
+        2. Break down a KeyChar event to a KeyDown/KeyUp pair. This is required
+        because we only handle scrolling on a KeyDown event in WebPage::keyEvent()
+        , and internally a KeyChar event is interpreted as a KeyDown event + a
+        KeyUp event in InputHandler::handleKeyboardInput().
+
+        Tests fixed:
+        1. editing/input/scroll-viewport-page-up-down.html
+        2. editing/selection/move-begin-end.html
+        3. fast/forms/select-popup-pagekeys.html
+
+        * DumpRenderTree/blackberry/EventSender.cpp:
+        (keyDownCallback):
+
 2012-11-09  Simon Hausmann  <[email protected]>
 
         Unreviewed prospective Qt/Windows build bot fix:

Modified: trunk/Tools/DumpRenderTree/blackberry/EventSender.cpp (134051 => 134052)


--- trunk/Tools/DumpRenderTree/blackberry/EventSender.cpp	2012-11-09 12:41:27 UTC (rev 134051)
+++ trunk/Tools/DumpRenderTree/blackberry/EventSender.cpp	2012-11-09 12:54:35 UTC (rev 134052)
@@ -131,11 +131,14 @@
         charCode = KEYCODE_UP;
     else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
         charCode = KEYCODE_DOWN;
-    else if (JSStringIsEqualToUTF8CString(character, "pageUp")
-             || JSStringIsEqualToUTF8CString(character, "pageDown")
-             || JSStringIsEqualToUTF8CString(character, "home")
-             || JSStringIsEqualToUTF8CString(character, "end"))
-         return JSValueMakeUndefined(context);
+    else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
+        charCode = KEYCODE_PG_UP;
+    else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
+        charCode = KEYCODE_PG_DOWN;
+    else if (JSStringIsEqualToUTF8CString(character, "home"))
+        charCode = KEYCODE_HOME;
+    else if (JSStringIsEqualToUTF8CString(character, "end"))
+        charCode = KEYCODE_END;
     else if (JSStringIsEqualToUTF8CString(character, "delete"))
         charCode = KEYCODE_BACKSPACE;
     else {
@@ -178,7 +181,8 @@
     if (needsCtrlKeyModifier)
         modifiers |= KEYMOD_CTRL;
 
-    page->keyEvent(BlackBerry::Platform::KeyboardEvent(charCode, BlackBerry::Platform::KeyboardEvent::KeyChar, modifiers));
+    page->keyEvent(BlackBerry::Platform::KeyboardEvent(charCode, BlackBerry::Platform::KeyboardEvent::KeyDown, modifiers));
+    page->keyEvent(BlackBerry::Platform::KeyboardEvent(charCode, BlackBerry::Platform::KeyboardEvent::KeyUp, modifiers));
 
     return JSValueMakeUndefined(context);
 }
@@ -394,8 +398,8 @@
 
     if (!eventSenderClass) {
         JSClassDefinition classDefinition = {
-                0, 0, 0, 0, 0, 0,
-                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+            0, 0, 0, 0, 0, 0,
+            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         classDefinition.staticFunctions = staticFunctions;
         classDefinition.staticValues = staticValues;
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to