diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
commit | 3749d61e1f7a59f5ec5067e560af1eb610c82015 (patch) | |
tree | 73dc228333948738bbe02976cacca8cd382bc978 /Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp | |
parent | b32b4dcd9a51ab8de6afc53d9e17f8707e1f7a5e (diff) | |
download | qtwebkit-3749d61e1f7a59f5ec5067e560af1eb610c82015.tar.gz |
Imported WebKit commit a77350243e054f3460d1137301d8b3faee3d2052 (http://svn.webkit.org/repository/webkit/trunk@125365)
New snapshot with build fixes for latest API changes in Qt and all WK1 Win MSVC fixes upstream
Diffstat (limited to 'Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp')
-rw-r--r-- | Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp index 3955752a8..37d5d30ad 100644 --- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp +++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp @@ -362,8 +362,7 @@ void InputHandler::focusedNodeChanged() Node* node = frame->document()->focusedNode(); if (isActiveTextEdit() && m_currentFocusElement == node) { - if (!processingChange()) - notifyClientOfKeyboardVisibilityChange(true); + notifyClientOfKeyboardVisibilityChange(true); return; } @@ -577,7 +576,7 @@ int32_t InputHandler::convertTransactionIdToSequenceId(int32_t transactionId) void InputHandler::spellCheckingRequestProcessed(int32_t transactionId, spannable_string_t* spannableString) { - if (!spannableString) { + if (!spannableString || !isActiveTextEdit()) { spellCheckingRequestCancelled(transactionId, false /* isSequenceId */); return; } @@ -625,6 +624,9 @@ void InputHandler::spellCheckingRequestProcessed(int32_t transactionId, spannabl void InputHandler::spellCheckingRequestCancelled(int32_t id, bool isSequenceId) { + if (!isActiveTextEdit()) + return; + int32_t sequenceId = isSequenceId ? id : convertTransactionIdToSequenceId(id); SpellChecker* sp = getSpellChecker(); if (!sp) { @@ -636,6 +638,9 @@ void InputHandler::spellCheckingRequestCancelled(int32_t id, bool isSequenceId) SpellChecker* InputHandler::getSpellChecker() { + ASSERT(m_currentFocusElement); + ASSERT(m_currentFocusElement->document()); + if (Frame* frame = m_currentFocusElement->document()->frame()) if (Editor* editor = frame->editor()) return editor->spellChecker(); @@ -659,7 +664,6 @@ void InputHandler::setElementUnfocused(bool refocusOccuring) notifyClientOfKeyboardVisibilityChange(false); m_webPage->m_client->inputFocusLost(); - m_webPage->m_selectionHandler->selectionPositionChanged(); // If the frame selection isn't focused, focus it. if (!m_currentFocusElement->document()->frame()->selection()->isFocused()) @@ -1029,6 +1033,11 @@ void InputHandler::notifyClientOfKeyboardVisibilityChange(bool visible) if (!isInputModeEnabled() && visible) return; + if (processingChange()) { + ASSERT(visible); + return; + } + if (!m_delayKeyboardVisibilityChange) { m_webPage->showVirtualKeyboard(visible); return; |