--- a/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Thu Jul 15 19:53:20 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Thu Aug 19 10:58:56 2010 +0300
@@ -160,10 +160,7 @@
state->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_LATIN_ONLY);
state->SetNumericKeymap(EAknEditorStandardNumberModeKeymap);
state->SetCcpuState(NULL);
- TLanguage language = User::Language();
- if (language == ELangPrcChinese ) {
- TRAP_IGNORE( state->ReportAknEdStateEventL(MAknEdStateObserver::EAknEdwinStateFlagsUpdate ) );
- }
+ TRAP_IGNORE( state->ReportAknEdStateEventL(MAknEdStateObserver::EAknEdwinStateFlagsUpdate ) );
}
}
else {
@@ -259,7 +256,7 @@
if ( sc->isInPasswordField() ) {
caps |= TCoeInputCapabilities::ESecretText;
- UpdateFlagsState(EAknEditorFlagNoT9);
+ UpdateFlagsState(EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly);
}
else {
@@ -445,7 +442,7 @@
// see WebEditorClient::handleKeypress
Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
Node* focusedNode = frame->document()->focusedNode();
- if ( frame && focusedNode) {
+ if ( focusedNode ) {
TInt lowPos = aCursorSelection.LowerPos();
TInt highPos = aCursorSelection.HigherPos();
if (focusedNode->hasTagName(HTMLNames::textareaTag)) {
@@ -472,7 +469,7 @@
Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
Node* focusedNode = frame->document()->focusedNode();
- if (frame && focusedNode) {
+ if (focusedNode) {
if (focusedNode->hasTagName(HTMLNames::textareaTag)) {
HTMLTextAreaElement* textArea = static_cast<HTMLTextAreaElement*>(focusedNode);
TInt anchorPos = textArea->selectionStart();
@@ -555,13 +552,13 @@
if ( sc ){
IntRect rect = sc->caretRect();
Node* editNode = sc->focusNode();
- TPoint viewPoint = kit(frame)->frameView()->frameCoordsInViewCoords(editNode->getRect().Rect().iBr);
- xPos = viewPoint.iX;
- yPos = frame->document()->focusedNode()->getRect().bottomLeft().y() + rect.height();
- String str;
- if ( editNode &&
- editNode->isTextNode() ) {
- WebCore::Text* aText = (WebCore::Text*)editNode;
+ if ( editNode && editNode->isTextNode() ) {
+ TPoint viewPoint = kit(frame)->frameView()->frameCoordsInViewCoords(editNode->getRect().Rect().iBr);
+ xPos = viewPoint.iX;
+ yPos = frame->document()->focusedNode()->getRect().bottomLeft().y() + rect.height();
+
+ String str;
+ WebCore::Text* aText = (WebCore::Text*)editNode;
str = aText->data();
aDocumentPosition = aText->length();
TInt position = aDocumentPosition - ( str.reverseFind(KBlankDesC(), aDocumentPosition )+1);
@@ -1125,7 +1122,7 @@
// -----------------------------------------------------------------------------
TBool CWebFepTextEditor::CcpuIsFocused() const
{
- return ETrue;
+ return (IsTextAreaFocused() || IsInputElementFocused());
}
// -----------------------------------------------------------------------------