--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Wed Apr 14 17:06:56 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Tue Apr 27 17:46:17 2010 +0300
@@ -380,12 +380,12 @@
frame->editor()->execCommand("MoveLeft");
}
m_webView->fepTextEditor()->HandleUpdateCursor();
- if (frame->selectionController()->start() != startPos &&
- frame->selectionController()->end() != endPos) {
- event->setDefaultHandled();
+ if (frame->selectionController()->start() == startPos &&
+ frame->selectionController()->end() == endPos && !select) {
+ m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
}
else {
- m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
+ event->setDefaultHandled();
}
break;
@@ -403,12 +403,12 @@
frame->editor()->execCommand("MoveRight");
}
m_webView->fepTextEditor()->HandleUpdateCursor();
- if (frame->selectionController()->start() != startPos &&
- frame->selectionController()->end() != endPos) {
- event->setDefaultHandled();
+ if (frame->selectionController()->start() == startPos &&
+ frame->selectionController()->end() == endPos && !select) {
+ m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
}
else {
- m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
+ event->setDefaultHandled();
}
break;
@@ -422,12 +422,12 @@
frame->editor()->execCommand("MoveUp");
}
m_webView->fepTextEditor()->HandleUpdateCursor();
- if (frame->selectionController()->start() != startPos &&
- frame->selectionController()->end() != endPos) {
- event->setDefaultHandled();
+ if (frame->selectionController()->start() == startPos &&
+ frame->selectionController()->end() == endPos && !select) {
+ m_shouldEndEditing = true;
}
else {
- m_shouldEndEditing = true;
+ event->setDefaultHandled();
}
break;
@@ -441,12 +441,12 @@
frame->editor()->execCommand("MoveDown");
}
m_webView->fepTextEditor()->HandleUpdateCursor();
- if (frame->selectionController()->start() != startPos &&
- frame->selectionController()->end() != endPos) {
- event->setDefaultHandled();
+ if (frame->selectionController()->start() == startPos &&
+ frame->selectionController()->end() == endPos && !select) {
+ m_shouldEndEditing = true;
}
else {
- m_shouldEndEditing = true;
+ event->setDefaultHandled();
}
break;