Changeset 127842 in webkit
- Timestamp:
- Sep 7, 2012 1:28:09 AM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r127837 r127842 1 2012-09-07 Eunmi Lee <eunmi15.lee@samsung.com> 2 3 [EFL][WK2] Add APIs to enable or disable the mouse events of the ewk_view. 4 https://bugs.webkit.org/show_bug.cgi?id=88631 5 6 Reviewed by Gyuyoung Kim. 7 8 We can turn on/off the mouse events of the ewk_view using the mouse 9 events enabling API. This API can be used when we want to turn off the 10 mouse events on the touchscreen device to process the touch events 11 instead of the mouse events. 12 13 * UIProcess/API/efl/ewk_view.cpp: 14 (_Ewk_View_Private_Data): 15 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 16 (_ewk_view_smart_add): 17 (ewk_view_mouse_events_enabled_set): 18 (ewk_view_mouse_events_enabled_get): 19 * UIProcess/API/efl/ewk_view.h: 20 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 21 (TEST_F): 22 1 23 2012-09-07 Tim Horton <timothy_horton@apple.com> 2 24 -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
r127686 r127842 93 93 Ewk_Back_Forward_List* backForwardList; 94 94 OwnPtr<Ewk_Settings> settings; 95 bool areMouseEventsEnabled; 95 96 96 97 WebPopupMenuProxyEfl* popupMenuProxy; … … 110 111 : cursorObject(0) 111 112 , backForwardList(0) 113 , areMouseEventsEnabled(false) 112 114 , popupMenuProxy(0) 113 115 , popupMenuItems(0) … … 414 416 evas_object_show(smartData->image); 415 417 418 ewk_view_mouse_events_enabled_set(ewkView, true); 419 416 420 #define CONNECT(s, c) evas_object_event_callback_add(ewkView, s, c, smartData) 417 421 CONNECT(EVAS_CALLBACK_FOCUS_IN, _ewk_view_on_focus_in); 418 422 CONNECT(EVAS_CALLBACK_FOCUS_OUT, _ewk_view_on_focus_out); 419 423 CONNECT(EVAS_CALLBACK_MOUSE_WHEEL, _ewk_view_on_mouse_wheel); 420 CONNECT(EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down);421 CONNECT(EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up);422 CONNECT(EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move);423 424 CONNECT(EVAS_CALLBACK_KEY_DOWN, _ewk_view_on_key_down); 424 425 CONNECT(EVAS_CALLBACK_KEY_UP, _ewk_view_on_key_up); … … 1553 1554 return true; 1554 1555 } 1556 1557 Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled) 1558 { 1559 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false); 1560 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false); 1561 1562 enabled = !!enabled; 1563 if (priv->areMouseEventsEnabled == enabled) 1564 return true; 1565 1566 priv->areMouseEventsEnabled = enabled; 1567 if (enabled) { 1568 evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down, smartData); 1569 evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up, smartData); 1570 evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move, smartData); 1571 } else { 1572 evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down); 1573 evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up); 1574 evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move); 1575 } 1576 1577 return true; 1578 } 1579 1580 Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object* ewkView) 1581 { 1582 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false); 1583 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false); 1584 1585 return priv->areMouseEventsEnabled; 1586 } -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.h
r127444 r127842 631 631 EAPI Eina_Bool ewk_view_popup_menu_close(Evas_Object *o); 632 632 633 /** 634 * Sets whether the ewk_view supports the mouse events or not. 635 * 636 * The ewk_view will support the mouse events if EINA_TRUE or not support the 637 * mouse events otherwise. The default value is EINA_TRUE. 638 * 639 * @param o view object to enable/disable the mouse events 640 * @param enabled a state to set 641 * 642 * @return @c EINA_TRUE on success or @c EINA_FALSE on failure 643 */ 644 EAPI Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object *o, Eina_Bool enabled); 645 646 /** 647 * Queries if the ewk_view supports the mouse events. 648 * 649 * @param o view object to query if the mouse events are enabled 650 * 651 * @return @c EINA_TRUE if the mouse events are enabled or @c EINA_FALSE otherwise 652 */ 653 EAPI Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object *o); 654 633 655 #ifdef __cplusplus 634 656 } -
trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp
r127823 r127842 25 25 #include <EWebKit2.h> 26 26 #include <Ecore.h> 27 #include <Eina.h> 27 28 #include <gtest/gtest.h> 28 29 #include <wtf/OwnPtr.h> … … 288 289 waitUntilTitleChangedTo("299"); // button of big button theme has 299px as padding (150 to -150) 289 290 } 291 292 TEST_F(EWK2UnitTestBase, ewk_view_mouse_events_enabled) 293 { 294 ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), EINA_TRUE)); 295 ASSERT_TRUE(ewk_view_mouse_events_enabled_get(webView())); 296 297 ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), 2)); 298 ASSERT_TRUE(ewk_view_mouse_events_enabled_get(webView())); 299 300 ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), EINA_FALSE)); 301 ASSERT_FALSE(ewk_view_mouse_events_enabled_get(webView())); 302 }
Note: See TracChangeset
for help on using the changeset viewer.