Title: [144193] trunk/Source/WebKit/blackberry
- Revision
- 144193
- Author
- mifen...@rim.com
- Date
- 2013-02-27 08:26:05 -0800 (Wed, 27 Feb 2013)
Log Message
[BlackBerry] Accept key events even when composing region is active.
https://bugs.webkit.org/show_bug.cgi?id=110617
Reviewed by Rob Buis.
PR 293598.
Fix a regression in the previous patch caused
by an unhandled Alt key down being sent through
by IMF.
Reviewed Internally by Nima Ghanavatian.
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::updateFormState):
* WebKitSupport/InputHandler.h:
(InputHandler):
Modified Paths
Diff
Modified: trunk/Source/WebKit/blackberry/ChangeLog (144192 => 144193)
--- trunk/Source/WebKit/blackberry/ChangeLog 2013-02-27 16:21:56 UTC (rev 144192)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2013-02-27 16:26:05 UTC (rev 144193)
@@ -1,3 +1,23 @@
+2013-02-27 Mike Fenton <mifen...@rim.com>
+
+ [BlackBerry] Accept key events even when composing region is active.
+ https://bugs.webkit.org/show_bug.cgi?id=110617
+
+ Reviewed by Rob Buis.
+
+ PR 293598.
+
+ Fix a regression in the previous patch caused
+ by an unhandled Alt key down being sent through
+ by IMF.
+
+ Reviewed Internally by Nima Ghanavatian.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::updateFormState):
+ * WebKitSupport/InputHandler.h:
+ (InputHandler):
+
2013-02-26 Yong Li <y...@rim.com>
[BlackBerry] Use APIEntryShim when making JS call
Modified: trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp (144192 => 144193)
--- trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp 2013-02-27 16:21:56 UTC (rev 144192)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp 2013-02-27 16:26:05 UTC (rev 144193)
@@ -1674,6 +1674,14 @@
setCursorPosition(selectionStartPosition);
}
+bool InputHandler::isNavigationKey(unsigned character) const
+{
+ return character == KEYCODE_UP
+ || character == KEYCODE_DOWN
+ || character == KEYCODE_LEFT
+ || character == KEYCODE_RIGHT;
+}
+
bool InputHandler::handleKeyboardInput(const Platform::KeyboardEvent& keyboardEvent, bool changeIsPartOfComposition)
{
InputLog(Platform::LogLevelInfo,
@@ -1703,8 +1711,12 @@
// If we aren't specifically part of a composition, fail, IMF should never send key input
// while composing text. If IMF has failed, we should have already finished the
// composition manually. There is a caveat for KeyUp which is explained above.
- if (!changeIsPartOfComposition && compositionActive())
- removeAttributedTextMarker();
+ if (!changeIsPartOfComposition && compositionActive()) {
+ if (type == Platform::KeyboardEvent::KeyDown && isNavigationKey(keyboardEvent.character()))
+ removeAttributedTextMarker();
+ else
+ return false;
+ }
ProcessingChangeGuard guard(this);
Modified: trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.h (144192 => 144193)
--- trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.h 2013-02-27 16:21:56 UTC (rev 144192)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.h 2013-02-27 16:26:05 UTC (rev 144193)
@@ -228,6 +228,8 @@
void showTextInputTypeSuggestionBox(bool allowEmptyPrefix = false);
void hideTextInputTypeSuggestionBox();
+ bool isNavigationKey(unsigned character) const;
+
WebPagePrivate* m_webPage;
RefPtr<WebCore::Element> m_currentFocusElement;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes