From e9596f34e0e82aa610f413c97d62facff4e95ed2 Mon Sep 17 00:00:00 2001 From: Joone Hur Date: Tue, 7 Jan 2014 15:27:34 -0800 Subject: [PATCH] Revert "Revert "[Regression] Make scrolling work with mouse events support"" This reverts commit 2752dec7ec03d06c5a0856ad3e30ab615faf142a. Disable mouse events again because of regression: TIVI-2536 --- Source/WebKit2/UIProcess/API/efl/ewk_view.cpp | 5 --- .../UIProcess/API/efl/tizen/GestureRecognizer.cpp | 49 +++++++++++++++++++++- .../UIProcess/API/efl/tizen/GestureRecognizer.h | 5 +++ 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp index 5bcc246..6f95ecc 100644 --- a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp +++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp @@ -848,12 +848,7 @@ static void _ewk_view_smart_add(Evas_Object* ewkView) evas_object_image_content_hint_set(smartData->image, EVAS_IMAGE_CONTENT_HINT_DYNAMIC); #endif -#if ENABLE(TIZEN_DESKTOP_BROWSING) - ewk_view_mouse_events_enabled_set(ewkView, true); -#else ewk_view_mouse_events_enabled_set(ewkView, false); -#endif - ewk_view_touch_events_enabled_set(ewkView, true); // FIXME: This code should be removed if side effect occur. diff --git a/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.cpp b/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.cpp index 1218baf..5a255bb 100644 --- a/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.cpp +++ b/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.cpp @@ -26,6 +26,10 @@ #include "config.h" #include "GestureRecognizer.h" +#if ENABLE(TIZEN_DESKTOP_BROWSING) +#include "NativeWebMouseEvent.h" +#endif + #include #include @@ -86,6 +90,11 @@ GestureRecognizer::~GestureRecognizer() evas_object_del(m_gestureObject); evas_object_event_callback_del(m_viewWidget, EVAS_CALLBACK_MOUSE_UP, onMouseUp); + +#if ENABLE(TIZEN_DESKTOP_BROWSING) + evas_object_event_callback_del(m_viewWidget, EVAS_CALLBACK_MOUSE_MOVE, onMouseMove); + evas_object_event_callback_del(m_viewWidget, EVAS_CALLBACK_MOUSE_DOWN, onMouseDown); +#endif } void GestureRecognizer::initializeCallbacks() @@ -112,6 +121,11 @@ void GestureRecognizer::initializeCallbacks() // add evas callbacks. evas_object_event_callback_add(m_viewWidget, EVAS_CALLBACK_MOUSE_UP, onMouseUp, this); + +#if ENABLE(TIZEN_DESKTOP_BROWSING) + evas_object_event_callback_add(m_viewWidget, EVAS_CALLBACK_MOUSE_MOVE, onMouseMove, this); + evas_object_event_callback_add(m_viewWidget, EVAS_CALLBACK_MOUSE_DOWN, onMouseDown, this); +#endif } Evas_Event_Flags GestureRecognizer::onTapStart(void* data, void* eventInfo) @@ -190,11 +204,44 @@ Evas_Event_Flags GestureRecognizer::onZoomStart(void* data, void* eventInfo) return EVAS_EVENT_FLAG_NONE; } -void GestureRecognizer::onMouseUp(void* data, Evas*, Evas_Object*, void* eventInfo) +void GestureRecognizer::onMouseUp(void* data, Evas*, Evas_Object* ewkView, void* eventInfo) { Evas_Event_Mouse_Up* event = static_cast(eventInfo); static_cast(data)->processScheduledTap(event->canvas.x, event->canvas.y, event->timestamp); + +#if ENABLE(TIZEN_DESKTOP_BROWSING) + Ewk_View_Smart_Data* smartData = 0; + smartData = (Ewk_View_Smart_Data*)evas_object_smart_data_get(ewkView); + EwkViewImpl* impl = smartData->priv; + + impl->page()->handleMouseEvent(NativeWebMouseEvent(event, impl->transformFromScene(), impl->transformToScreen())); +#endif +} + +#if ENABLE(TIZEN_DESKTOP_BROWSING) +void GestureRecognizer::onMouseDown(void* data, Evas*, Evas_Object* ewkView, void* eventInfo) +{ + Evas_Event_Mouse_Down* event = static_cast(eventInfo); + + Ewk_View_Smart_Data* smartData = 0; + smartData = (Ewk_View_Smart_Data*)evas_object_smart_data_get(ewkView); + EwkViewImpl* impl = smartData->priv; + + impl->page()->handleMouseEvent(NativeWebMouseEvent(event, impl->transformFromScene(), impl->transformToScreen())); + +} + +void GestureRecognizer::onMouseMove(void* data, Evas*, Evas_Object* ewkView, void* eventInfo) +{ + Evas_Event_Mouse_Move* event = static_cast(eventInfo); + + Ewk_View_Smart_Data* smartData = 0; + smartData = (Ewk_View_Smart_Data*)evas_object_smart_data_get(ewkView); + EwkViewImpl* impl = smartData->priv; + + impl->page()->handleMouseEvent(NativeWebMouseEvent(event, impl->transformFromScene(), impl->transformToScreen())); } +#endif void GestureRecognizer::startTap(Elm_Gesture_Taps_Info* event) { diff --git a/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.h b/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.h index bfc673b..a492224 100644 --- a/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.h +++ b/Source/WebKit2/UIProcess/API/efl/tizen/GestureRecognizer.h @@ -91,6 +91,11 @@ private: static void onMouseUp(void* data, Evas*, Evas_Object*, void* eventInfo); +#if ENABLE(TIZEN_DESKTOP_BROWSING) + static void onMouseDown(void* data, Evas*, Evas_Object*, void* eventInfo); + static void onMouseMove(void* data, Evas*, Evas_Object*, void* eventInfo); +#endif + private: static const int s_defaultFramerate = 60; static const double s_thumbscrollMomentumThreshold; -- 2.7.4