#if ENABLE(TOUCH_EVENTS) && ENABLE(TIZEN_GESTURE)
void feedTouchEventsByType(Ewk_Touch_Event_Type);
#endif
+
+#if ENABLE(TIZEN_ISF_PORT)
+ typedef enum {
+ GestureTapStateNone = 0x0,
+ GestureTapStateEnable = 0x1,
+ GestureTapStateDisable = 0x2,
+ GestureTapStateEndGesture = 0x4
+ } GestureTapState;
+
+ void initGestureTapState() { m_gestureTapState = GestureTapStateNone; }
+ void addGestureTapState(GestureTapState state) { m_gestureTapState |= state; }
+ unsigned gestureTapState() { return m_gestureTapState; }
+#endif
#endif
// FIXME: Make members private for encapsulation.
float m_scaleFactor;
WebCore::IntPoint m_scrollPosition;
#endif
+
+#if ENABLE(TIZEN_ISF_PORT)
+ unsigned m_gestureTapState;
+#endif
#endif
};
#endif
impl->gestureClient->endTap(IntPoint(event->position.x, event->position.y));
+
#if ENABLE(TIZEN_ISF_PORT)
- evas_object_focus_set(smartData->self, true);
+ impl->addGestureTapState(EwkViewImpl::GestureTapStateEndGesture);
+ if (impl->gestureTapState() == (EwkViewImpl::GestureTapStateDisable | EwkViewImpl::GestureTapStateEndGesture))
+ evas_object_focus_set(smartData->self, true);
#endif
} else if (event->count == 2)
impl->gestureClient->endDoubleTap(IntPoint(event->position.x, event->position.y));
// to prevent applications scrolling at the beginning of touch.
impl->wasHandledTouchMove = true;
evas_object_smart_callback_call(ewkView, "touchmove,handled", static_cast<void*>(&impl->wasHandledTouchMove));
+
+#if ENABLE(TIZEN_ISF_PORT)
+ impl->initGestureTapState();
+#endif
} else if (type == WebEvent::TouchMove) {
impl->gestureClient->setMovingEnabled(!wasHandled);
if (impl->wasHandledTouchMove != wasHandled)
evas_object_smart_callback_call(ewkView, "touchmove,handled", static_cast<void*>(&wasHandled));
impl->wasHandledTouchMove = wasHandled;
- } else if (type == WebEvent::TouchEnd && !impl->exceedTouchMoveThreshold && !wasHandled) {
- impl->gestureClient->setMovingEnabled(!wasHandled);
- impl->gestureClient->setTapEnabled(!wasHandled);
+ } else if (type == WebEvent::TouchEnd && !impl->exceedTouchMoveThreshold) {
+ if (!wasHandled) {
+ impl->gestureClient->setMovingEnabled(!wasHandled);
+ impl->gestureClient->setTapEnabled(!wasHandled);
+ }
+
+#if ENABLE(TIZEN_ISF_PORT)
+ impl->addGestureTapState(wasHandled ? EwkViewImpl::GestureTapStateDisable : EwkViewImpl::GestureTapStateEnable);
+ if (impl->gestureTapState() == (EwkViewImpl::GestureTapStateDisable | EwkViewImpl::GestureTapStateEndGesture))
+ evas_object_focus_set(ewkView, true);
+#endif
}
#endif
}