Fixed tap is working when tap on left/right text selection handle above any linkable...
authorYuni Jeong <yhnet.jung@samsung.com>
Wed, 17 Apr 2013 15:17:52 +0000 (00:17 +0900)
committerYuni Jeong <yhnet.jung@samsung.com>
Wed, 17 Apr 2013 15:59:36 +0000 (00:59 +0900)
[Title] Fixed tap is working when tap on left/right text selection handle above any linkable content.
[Issue#] N_SE-34980
[Problem] When tap on left/right text selection handle above any linkable content,
          tap is working.
[Cause] If isTextSelectionHandleDowned() return value is true, _ewk_view_smart_gesture_end() is return.
        When _ewk_view_smart_gesture_end() is called, isTextSelectionHandleDowned() return value is false.
        So, tap is working.
[Solution] Changed routine to set isMouseDowned variable to false.

Change-Id: I5adf8518f6ce99bba3462806f785b95e98eb1370

Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
Source/WebKit2/UIProcess/API/efl/tizen/TextSelection.cpp
Source/WebKit2/UIProcess/API/efl/tizen/TextSelectionHandle.cpp
Source/WebKit2/UIProcess/API/efl/tizen/TextSelectionHandle.h

index 586cbc6..f8a5c88 100755 (executable)
@@ -4252,6 +4252,9 @@ Eina_Bool ewk_view_feed_touch_event(Evas_Object* ewkView, Ewk_Touch_Event_Type t
             impl->pageClient->textSelectonHandleMove(handlePoint);
         else
             impl->pageClient->textSelectonHandleUp();
+
+        if (impl->pageClient->isTextSelectionHandleDowned())
+            return true;
     }
 #endif
 
index 5fbf11c..3c440f6 100755 (executable)
@@ -579,10 +579,11 @@ TextSelectionHandle* TextSelection::getSelectedHandle(const IntPoint& position)
 void TextSelection::textSelectionHandleDown(const IntPoint& position)
 {
     TextSelectionHandle* selectedHandle = getSelectedHandle(position);
-    if (selectedHandle) {
+    if (selectedHandle)
         selectedHandle->mouseDown(position);
-        if (selectedHandle->isMouseDowned())
-            return;
+    else {
+        m_leftHandle->setIsMouseDowned(false);
+        m_rightHandle->setIsMouseDowned(false);
     }
 }
 
index 8ef663e..2a82a53 100644 (file)
@@ -133,7 +133,6 @@ void TextSelectionHandle::mouseUp()
     edje_object_signal_emit(m_icon, "mouse,up,1", "handle");
 #endif
 
-    setIsMouseDowned(false);
     m_textSelection->handleMouseUp(this, m_mousePosition);
 }
 
index 8b7b038..51d6614 100755 (executable)
@@ -52,6 +52,7 @@ public:
     const WebCore::IntPoint position() const { return m_position; }
     void setBasePositionForMove(const WebCore::IntPoint& position) { m_basePositionForMove = position; }
     bool isMouseDowned() { return m_isMouseDowned; }
+    bool setIsMouseDowned(bool isMouseDowned) { return m_isMouseDowned = isMouseDowned; }
 #if ENABLE(TIZEN_WEBKIT2_FOR_MOVING_TEXT_SELECTION_HANDLE_FROM_OSP)
     const WebCore::IntRect getHandleRect();
 #endif
@@ -69,7 +70,6 @@ private:
 
     void setFirstDownMousePosition(const WebCore::IntPoint& position) { m_firstDownMousePosition = position; }
     void setMousePosition(const WebCore::IntPoint& position) { m_mousePosition = position; }
-    bool setIsMouseDowned(bool isMouseDowned) { return m_isMouseDowned = isMouseDowned; }
 
 private:
     Evas_Object* m_icon;