#include "NativeWebMouseEvent.h"
#include "ewk_view.h"
#include <Elementary.h>
+#include "InputMethodContextEfl.h"
using namespace WebCore;
setIsTextSelectionMode(false);
}
} else {
- if (!isTextSelectionDowned() && !isTextSelectionHandleDowned()) {
- updateHandlers();
- showContextMenu();
- }
+ if (!isTextSelectionDowned() && !isTextSelectionHandleDowned())
+ requestToShow();
}
return;
}
return;
}
- if (m_viewImpl->gestureClient->isGestureWorking()) {
- EditorState editorState = m_viewImpl->page()->editorState();
- if (!editorState.selectionIsRange && editorState.isContentEditable)
- setIsTextSelectionMode(false);
+ const EditorState& editorState = m_viewImpl->page()->editorState();
+ if (!editorState.selectionIsRange && editorState.isContentEditable) {
+ setIsTextSelectionMode(false);
+ return;
}
if (isShow) {
if (m_showTimer)
return;
+ InputMethodContextEfl* inputMethodContext = m_viewImpl->inputMethodContext();
+ if (inputMethodContext) {
+ bool isIMEShow = inputMethodContext->isShow();
+ int isIMEState = inputMethodContext->state();
+ if (!isIMEShow && isIMEState == ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW) {
+ requestToShow();
+ return;
+ }
+ }
+
updateHandlers();
showContextMenu();
} else {
ecore_imf_context_focus_in(m_context.get());
ecore_imf_context_input_panel_show(m_context.get());
+ setState(ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW);
}
void InputMethodContextEfl::onFocusOut()
resetIMFContext();
ecore_imf_context_focus_in(m_context.get());
ecore_imf_context_input_panel_show(m_context.get());
+ setState(ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW);
}
void InputMethodContextEfl::hideIMFContext()