summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e6539d8)
[Title] Fix ime issues
[Issue#] N/A
[Problem] Keypad did not showing when edit field has focus.
[Cause] It is side-effect by showing by editorState as opensource
[Solution] Change invalid code
Change-Id: I8e968d05a014f8c8acb2ad288604995f7395c2d2
if (impl->pageClient->isDragMode())
impl->pageClient->setDragMode(false);
#endif
if (impl->pageClient->isDragMode())
impl->pageClient->setDragMode(false);
#endif
- impl->gestureClient->endTap(IntPoint(event->position.x, event->position.y));
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
if (impl->pageClient->isTextSelectionMode())
impl->pageClient->setIsTextSelectionMode(false);
#endif
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
if (impl->pageClient->isTextSelectionMode())
impl->pageClient->setIsTextSelectionMode(false);
#endif
+ impl->gestureClient->endTap(IntPoint(event->position.x, event->position.y));
#if ENABLE(TIZEN_ISF_PORT)
evas_object_focus_set(smartData->self, true);
#endif
#if ENABLE(TIZEN_ISF_PORT)
evas_object_focus_set(smartData->self, true);
#endif
if (!inputMethodContext->m_viewImpl->page()->focusedFrame() || !inputMethodContext->m_focused)
return;
if (!inputMethodContext->m_viewImpl->page()->focusedFrame() || !inputMethodContext->m_focused)
return;
- if (state == ECORE_IMF_INPUT_PANEL_STATE_HIDE)
+ if (state == ECORE_IMF_INPUT_PANEL_STATE_HIDE) {
evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "editorclient,ime,closed", 0);
evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "editorclient,ime,closed", 0);
- else if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW)
+ if (inputMethodContext->m_context)
+ evas_object_focus_set(inputMethodContext->m_viewImpl->view(), false);
+ } else if (state == ECORE_IMF_INPUT_PANEL_STATE_SHOW)
evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "editorclient,ime,opened", 0);
}
evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "editorclient,ime,opened", 0);
}
setType(editor.inputMethodHints);
setType(editor.inputMethodHints);
+ if (!hasFocus) {
+ m_focused = true;
-
- // input field zoom for external keyboard
- ewk_view_focused_node_adjust(m_viewImpl->view(), EINA_TRUE);
#endif
ecore_imf_context_reset(m_context.get());
ecore_imf_context_focus_in(m_context.get());
#if ENABLE(TIZEN_ISF_PORT)
ecore_imf_context_input_panel_show(m_context.get());
#endif
ecore_imf_context_reset(m_context.get());
ecore_imf_context_focus_in(m_context.get());
#if ENABLE(TIZEN_ISF_PORT)
ecore_imf_context_input_panel_show(m_context.get());
+
+ // input field zoom for external keyboard
+ ewk_view_focused_node_adjust(m_viewImpl->view(), EINA_TRUE);
#endif
m_focused = true;
} else {
#endif
m_focused = true;
} else {
return;
PassOwnPtr<Ecore_IMF_Context> imfContext = m_context.release();
return;
PassOwnPtr<Ecore_IMF_Context> imfContext = m_context.release();
- m_contextList.add(ecore_imf_context_input_panel_layout_get(imfContext.get()), imfContext);
+ int layout = ecore_imf_context_input_panel_layout_get(imfContext.get());
+ m_contextList.add(layout, imfContext);
}
void InputMethodContextEfl::resetIMFContext()
}
void InputMethodContextEfl::resetIMFContext()
return;
ecore_imf_context_reset(m_context.get());
return;
ecore_imf_context_reset(m_context.get());
-
- if (ecore_imf_context_input_panel_state_get(m_context.get()) == ECORE_IMF_INPUT_PANEL_STATE_HIDE)
- revertIMFContext();
}
void InputMethodContextEfl::hideIMFContext()
}
void InputMethodContextEfl::hideIMFContext()
result.shouldIgnoreCompositionSelectionChange = frame->editor()->ignoreCompositionSelectionChange();
#if ENABLE(TIZEN_ISF_PORT)
result.shouldIgnoreCompositionSelectionChange = frame->editor()->ignoreCompositionSelectionChange();
#if ENABLE(TIZEN_ISF_PORT)
- Element* selectionRoot = frame->selection()->rootEditableElement();
+ Element* selectionRoot = frame->selection()->rootEditableElementOrDocumentElement();
+ if (!selectionRoot)
+ return result;
+
+ Node* hostNode = selectionRoot->shadowAncestorNode();
if (result.isContentEditable) {
if (result.isContentEditable) {
- HTMLTextFormControlElement* formControl = toTextFormControl(selectionRoot);
+ HTMLTextFormControlElement* formControl = toTextFormControl(hostNode);
if (formControl) {
result.inputMethodHints = formControl->type();
result.surroundingText = formControl->value();
if (formControl) {
result.inputMethodHints = formControl->type();
result.surroundingText = formControl->value();
#endif
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
#endif
#if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
- if (selectionRoot)
- result.editorRect = frame->view()->contentsToWindow(selectionRoot->getPixelSnappedRect());
+ result.editorRect = frame->view()->contentsToWindow(selectionRoot->getPixelSnappedRect());