Do not hide context menu if it showing from image in editable content.
authorTaeyun An <ty.an@samsung.com>
Tue, 2 Jul 2013 12:31:25 +0000 (21:31 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 10 Jul 2013 03:01:33 +0000 (03:01 +0000)
[Title] Do not hide context menu if it showing from image in editable content.
[Issue#] DCM-2134
[Problem]
1. Context menu disappear after tab end if it showing from image in editable content
2. Focus ring doesn't hide after tab end if before context menu is shown
[Cause]
1. In case of image and link, context menu is showing before end tab so when endtap is called it makes textselection mode to false
2. Don't hide focus ring if context menu was shown before
[Solution]
1. Don't show context menu if hittest result data is contentEditable in start gesture
2. Hide focus ring if textSelectionMode is true in end gesture

Change-Id: I4c2e0a9ee4cfb82c4cd88447ee8d90d5c339bed1

Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

index 5898418..c05808b 100755 (executable)
@@ -447,7 +447,7 @@ static Eina_Bool _ewk_view_smart_gesture_start(Ewk_View_Smart_Data* smartData, c
             break;
 #if ENABLE(TIZEN_DRAG_SUPPORT)
         // 1. Check to start dragging.
-        if (hitTestResultData.isDragSupport) {
+        if (hitTestResultData.isDragSupport && !hitTestResultData.isContentEditable) {
             impl->pageClient->setDragPoint(scenePoint);
             if (impl->pageClient->isDragMode()) {
                 impl->pageClient->setDragMode(false);
@@ -461,8 +461,8 @@ static Eina_Bool _ewk_view_smart_gesture_start(Ewk_View_Smart_Data* smartData, c
         }
 #endif
         // 2. Check to show context menu.
-        if (!hitTestResultData.absoluteImageURL.isEmpty()
-            || !hitTestResultData.absoluteLinkURL.isEmpty()) {
+        if ((!hitTestResultData.absoluteImageURL.isEmpty() || !hitTestResultData.absoluteLinkURL.isEmpty())
+            && !hitTestResultData.isContentEditable) {
 #if ENABLE(TIZEN_WEBKIT2_FOCUS_RING)
             if (impl->focusRing)
                 impl->focusRing->show(IntRect(), true);
@@ -524,7 +524,7 @@ static Eina_Bool _ewk_view_smart_gesture_end(Ewk_View_Smart_Data* smartData, con
 #if ENABLE(TIZEN_WEBKIT2_FOCUS_RING)
     if (impl->focusRing) {
 #if ENABLE(TIZEN_CONTEXT_MENU_WEBKIT_2)
-        if (!impl->pageClient->isContextMenuVisible())
+        if (!impl->pageClient->isContextMenuVisible() || impl->pageClient->isTextSelectionMode())
 #endif
             impl->focusRing->hide();
     }