From 2ad7da72f7edeb0f40ca6e5b49da1d7587481c46 Mon Sep 17 00:00:00 2001 From: Jihoon Chung Date: Tue, 8 Oct 2013 11:52:36 +0000 Subject: [PATCH] Revert "Revert "Add specific condition for back-key handle"" * Note: ewk_view_text_selection_clear() API is now available in RSA webkit. [Issue#] P130829-05787 [Problem] Long press on the text to enter text-selection mode. Back-key is working to history back or send tizenhwkey event to Application even current mode is text-selection mode. [Cause] Elementary is called back-key callback both webkit and wrt. [Solution] WRT calls "ewk_view_text_selection_clear" before handle back-key. If return value is "EINA_TRUE", back-key is handled by webkit. As back-key event is handled by webkit, WRT doens't need to handle back-key. In case of return value is "EINA_FALSE", WRT should handle back-key. History back or dispatch tizenhwkey event to application. [SCMRequest] N/A Change-Id: I7d96d3b2ea38a42e4e8d2746f27137cfcf1bbc94 --- src/view/webkit/view_logic.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/view/webkit/view_logic.cpp b/src/view/webkit/view_logic.cpp index 2f98736..f1b3397 100644 --- a/src/view/webkit/view_logic.cpp +++ b/src/view/webkit/view_logic.cpp @@ -1956,6 +1956,13 @@ void ViewLogic::eaKeyCallback(void* data, Evas_Object* obj, void* eventInfo) std::string keyName; if (keyType == EA_CALLBACK_BACK) { + Assert(obj); + // Call text selection clear API + // In case of current state is selection mode, + // application doesn't need to handle back key + if (EINA_TRUE == ewk_view_text_selection_clear(obj)) { + return; + } keyName = KeyName::BACK; } else if (keyType == EA_CALLBACK_MORE) { keyName = KeyName::MENU; -- 2.7.4