Close CBHM window when tapping except editfield using USB Keyboard
authorTaeyun An <ty.an@samsung.com>
Wed, 10 Apr 2013 14:50:16 +0000 (23:50 +0900)
committerTaeyun An <ty.an@samsung.com>
Wed, 10 Apr 2013 14:50:16 +0000 (23:50 +0900)
[Title] Close CBHM window when touch except editfield using USB Keyboard
[Issue#] N_SE-33697
[Problem] CBHM window doesn't disappear when tapping except editfield using USB keyboard.
[Cause] When IME has closed then CBHM window hide logic is worked only
[Solution] Add CBHM window hide routine in onFocusOut, hideIMFContext method.

Change-Id: I079cc7e5a8b3660522fa2569072283d6ac32ba6c

Source/WebKit2/UIProcess/efl/InputMethodContextEfl.cpp

index a720eab..96db072 100755 (executable)
@@ -530,6 +530,13 @@ void InputMethodContextEfl::onFocusOut()
     if (!m_context || !m_focused)
         return;
 
+#if ENABLE(TIZEN_WEBKIT2_CONTEXT_MENU_CLIPBOARD)
+    if (m_state != ECORE_IMF_INPUT_PANEL_STATE_SHOW) {
+        if (m_viewImpl->pageClient->isClipboardWindowOpened())
+            m_viewImpl->pageClient->closeClipboardWindow();
+    }
+#endif
+
     ecore_imf_context_input_panel_hide(m_context.get());
     ecore_imf_context_focus_out(m_context.get());
 }
@@ -557,6 +564,13 @@ void InputMethodContextEfl::hideIMFContext()
     if (!m_context || !m_focused)
         return;
 
+#if ENABLE(TIZEN_WEBKIT2_CONTEXT_MENU_CLIPBOARD)
+    if (m_state != ECORE_IMF_INPUT_PANEL_STATE_SHOW) {
+        if (m_viewImpl->pageClient->isClipboardWindowOpened())
+            m_viewImpl->pageClient->closeClipboardWindow();
+    }
+#endif
+
     if (m_viewImpl->page()->editorState().hasComposition)
         m_viewImpl->page()->cancelComposition();