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.");