From a7d2f6276f881aa949b613f2cd6d0dd69681523b Mon Sep 17 00:00:00 2001 From: Jihoon Chung Date: Thu, 26 Sep 2013 19:35:30 +0900 Subject: [PATCH] Add specific condition for back-key handle [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: I3ecea8ae5c3aaec71fdd07b86b6df49e70dae500 --- 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 3a3d750..64bc056 100644 --- a/src/view/webkit/view_logic.cpp +++ b/src/view/webkit/view_logic.cpp @@ -1950,6 +1950,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