enable to move text selection guider when longpressed
authorSeongjun Yim <se201.yim@samsung.com>
Tue, 2 Apr 2013 09:48:13 +0000 (18:48 +0900)
committerSeongjun Yim <se201.yim@samsung.com>
Tue, 2 Apr 2013 09:51:28 +0000 (18:51 +0900)
Change-Id: I62b53d593e0bc857ebfa3c86d71a1050bdca386d
Signed-off-by: Seongjun Yim <se201.yim@samsung.com>
src/controls/FWebCtrl_WebImpl.cpp

index 1280cb0..48adf55 100755 (executable)
@@ -3391,10 +3391,21 @@ _WebImpl::SetBlockSelectionPosition(const Point& startPoint)
 
        Point absPoint(__pWebCore->GetAbsoluteCoordinate(startPoint));
 
-       pSmartData->api->text_selection_down(pSmartData, absPoint.x, absPoint.y);
-       pSmartData->api->text_selection_up(pSmartData, absPoint.x, absPoint.y);
+       Eina_Bool ret = pSmartData->api->text_selection_down(pSmartData, absPoint.x, absPoint.y);
+       if (ret)
+       {
+               pSmartData->api->text_selection_up(pSmartData, absPoint.x, absPoint.y);
+
+               Ewk_Hit_Test* pEwkHitTest = ewk_view_hit_test_new(__pWebCore->GetWebNativeNode(), absPoint.x, absPoint.y, EWK_HIT_TEST_MODE_ALL);
+               SysTryReturnResult(NID_WEB_CTRL, pEwkHitTest, E_SYSTEM, "Failed to get hit test.");
+
+               String tagName(ewk_hit_test_tag_name_get(pEwkHitTest));
 
-       ewk_view_command_execute(pWebNativeNode, "SelectWord", 0);
+               if (tagName.Equals(L"INPUT", false) || tagName.Equals(L"TEXTAREA", false))
+               {
+                       ewk_view_command_execute(pWebNativeNode, "SelectWord", 0);
+               }
+       }
 
        SysTryReturnResult(NID_WEB_CTRL, GetTextFromBlock().GetLength() > 0, E_INVALID_ARG, "Failed to set text selection up.");