if (impl->pageClient->isTextSelectionMode())
impl->pageClient->setIsTextSelectionMode(false);
#endif
+
+#if ENABLE(TIZEN_ISF_PORT)
+ if (impl->inputMethodContext()->isIMEPostion(event->position.x, event->position.y))
+ return false;
+#endif
+
impl->gestureClient->endTap(IntPoint(event->position.x, event->position.y));
#if ENABLE(TIZEN_ISF_PORT)
evas_object_focus_set(smartData->self, true);
, m_focused(false)
#if ENABLE(TIZEN_ISF_PORT)
, m_tryToShow(false)
+ , m_state(ECORE_IMF_INPUT_PANEL_STATE_HIDE)
#endif
{
ASSERT(context);
{
InputMethodContextEfl* inputMethodContext = static_cast<InputMethodContextEfl*>(data);
+ inputMethodContext->setState(state);
+
if (state == ECORE_IMF_INPUT_PANEL_STATE_HIDE) {
#if ENABLE(TIZEN_WEBKIT2_CONTEXT_MENU_CLIPBOARD)
if (inputMethodContext->m_viewImpl->pageClient->isClipboardWindowOpened())
Eina_Rectangle rect;
ecore_imf_context_input_panel_geometry_get(inputMethodContext->m_context.get(), &rect.x, &rect.y, &rect.w, &rect.h);
evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "inputmethod,changed", &rect);
+
+ inputMethodContext->setIMERect(IntRect(rect.x, rect.y, rect.w, rect.h));
}
void InputMethodContextEfl::onIMFCandidatePanelStateChanged(void* data, Ecore_IMF_Context*, int state)
}
#endif
+bool InputMethodContextEfl::isIMEPostion(int x, int y)
+{
+ if (m_state == ECORE_IMF_INPUT_PANEL_STATE_SHOW)
+ return m_imeRect.contains(x, y);
+
+ return false;
+}
+
#endif
}
void resetIMFContext();
void hideIMFContext();
void destroyIMFContextList();
+ bool isIMEPostion(int x, int y);
+ void setState(int state) { m_state = state; }
+ void setIMERect(const WebCore::IntRect& rect) { m_imeRect = rect; }
#endif
private:
HashMap<int, OwnPtr<Ecore_IMF_Context> > m_contextList;
bool m_tryToShow;
+ int m_state;
+ WebCore::IntRect m_imeRect;
#endif
EwkViewImpl* m_viewImpl;