Changeset 74626 in webkit


Ignore:
Timestamp:
Dec 24, 2010 3:27:55 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Add option to enable Touch Events.
https://bugs.webkit.org/show_bug.cgi?id=49125

Add ENABLE_TOUCH_EVENTS option.

  • cmake/OptionsEfl.cmake:
  • cmakeconfig.h.cmake:

2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Add option to enable Touch Events.
https://bugs.webkit.org/show_bug.cgi?id=49125

Add files for EFL to support TOUCH_EVENTS.

  • CMakeLists.txt:
  • CMakeListsEfl.txt:
  • platform/PlatformTouchEvent.h: Add EFL related constructor.
  • platform/PlatformTouchPoint.h: ditto.
  • platform/efl/PlatformTouchEventEfl.cpp: Added. (WebCore::PlatformTouchEvent::PlatformTouchEvent):
  • platform/efl/PlatformTouchPointEfl.cpp: Added. (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Add option to enable Touch Events.
https://bugs.webkit.org/show_bug.cgi?id=49125

Implement ewk_frame_feed_touch_event to feed touch events. Because EFL
doesn't have touch events, Application should generate and pass it.

  • WebCoreSupport/ChromeClientEfl.h: (WebCore::ChromeClientEfl::needTouchEvents):
  • ewk/ewk_frame.cpp: (ewk_frame_feed_touch_event):
  • ewk/ewk_frame.h:
Location:
trunk
Files:
2 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r74618 r74626  
     12010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [EFL] Add option to enable Touch Events.
     6        https://bugs.webkit.org/show_bug.cgi?id=49125
     7
     8        Add ENABLE_TOUCH_EVENTS option.
     9
     10        * cmake/OptionsEfl.cmake:
     11        * cmakeconfig.h.cmake:
     12
    1132010-12-23  Adam Barth  <abarth@webkit.org>
    214
  • trunk/WebCore/CMakeLists.txt

    r74062 r74626  
    899899    dom/Text.cpp
    900900    dom/TextEvent.cpp
     901    dom/Touch.cpp
     902    dom/TouchEvent.cpp
     903    dom/TouchList.cpp
    901904    dom/TransformSourceLibxslt.cpp
    902905    dom/Traversal.cpp
  • trunk/WebCore/CMakeListsEfl.txt

    r74207 r74626  
    4040  platform/efl/PlatformMouseEventEfl.cpp
    4141  platform/efl/PlatformScreenEfl.cpp
     42  platform/efl/PlatformTouchEventEfl.cpp
     43  platform/efl/PlatformTouchPointEfl.cpp
    4244  platform/efl/PlatformWheelEventEfl.cpp
    4345  platform/efl/PopupMenuEfl.cpp
  • trunk/WebCore/ChangeLog

    r74625 r74626  
     12010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [EFL] Add option to enable Touch Events.
     6        https://bugs.webkit.org/show_bug.cgi?id=49125
     7
     8        Add files for EFL to support TOUCH_EVENTS.
     9
     10        * CMakeLists.txt:
     11        * CMakeListsEfl.txt:
     12        * platform/PlatformTouchEvent.h: Add EFL related constructor.
     13        * platform/PlatformTouchPoint.h: ditto.
     14        * platform/efl/PlatformTouchEventEfl.cpp: Added.
     15        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
     16        * platform/efl/PlatformTouchPointEfl.cpp: Added.
     17        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
     18
    1192010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    220
  • trunk/WebCore/platform/PlatformTouchEvent.h

    r68499 r74626  
    4242#endif
    4343
     44#if PLATFORM(EFL)
     45typedef struct _Eina_List Eina_List;
     46#endif
     47
    4448namespace WebCore {
    4549
     
    6670#elif PLATFORM(BREWMP)
    6771    PlatformTouchEvent(AEEEvent, uint16 wParam, uint32 dwParam);
     72#elif PLATFORM(EFL)
     73    PlatformTouchEvent(Eina_List*, const IntPoint, TouchEventType, int metaState);
    6874#endif
    6975
  • trunk/WebCore/platform/PlatformTouchPoint.h

    r74553 r74626  
    5252#elif PLATFORM(BREWMP)
    5353    PlatformTouchPoint(int id, const IntPoint& windowPos, State);
     54#elif PLATFORM(EFL)
     55    PlatformTouchPoint(unsigned id, const IntPoint& windowPos, State);
    5456#endif
    5557
  • trunk/WebKit/efl/ChangeLog

    r74571 r74626  
     12010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [EFL] Add option to enable Touch Events.
     6        https://bugs.webkit.org/show_bug.cgi?id=49125
     7
     8        Implement ewk_frame_feed_touch_event to feed touch events. Because EFL
     9        doesn't have touch events, Application should generate and pass it.
     10
     11        * WebCoreSupport/ChromeClientEfl.h:
     12        (WebCore::ChromeClientEfl::needTouchEvents):
     13        * ewk/ewk_frame.cpp:
     14        (ewk_frame_feed_touch_event):
     15        * ewk/ewk_frame.h:
     16
    1172010-12-22  Sam Weinig  <sam@webkit.org>
    218
  • trunk/WebKit/efl/WebCoreSupport/ChromeClientEfl.h

    r71541 r74626  
    121121#endif
    122122
     123#if ENABLE(TOUCH_EVENTS)
     124    virtual void needTouchEvents(bool) { }
     125#endif
     126
    123127    virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
    124128    virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);
  • trunk/WebKit/efl/ewk/ewk_frame.cpp

    r71217 r74626  
    3737#include "PlatformKeyboardEvent.h"
    3838#include "PlatformMouseEvent.h"
     39#include "PlatformTouchEvent.h"
    3940#include "PlatformWheelEvent.h"
    4041#include "ProgressTracker.h"
     
    14731474    WebCore::PlatformMouseEvent event(ev, WebCore::IntPoint(x, y));
    14741475    return sd->frame->eventHandler()->mouseMoved(event);
     1476}
     1477
     1478Eina_Bool ewk_frame_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type action, Eina_List* points, int metaState)
     1479{
     1480    Eina_Bool ret = EINA_FALSE;
     1481
     1482#if ENABLE(TOUCH_EVENTS)
     1483    EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
     1484    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
     1485    EINA_SAFETY_ON_NULL_RETURN_VAL(points, EINA_FALSE);
     1486
     1487    Evas_Coord x, y;
     1488    evas_object_geometry_get(sd->view, &x, &y, 0, 0);
     1489
     1490    WebCore::TouchEventType type = WebCore::TouchStart;
     1491    switch (action) {
     1492    case EWK_TOUCH_START:
     1493        type = WebCore::TouchStart;
     1494        break;
     1495    case EWK_TOUCH_END:
     1496        type = WebCore::TouchEnd;
     1497        break;
     1498    case EWK_TOUCH_MOVE:
     1499        type = WebCore::TouchMove;
     1500        break;
     1501    case EWK_TOUCH_CANCEL:
     1502        type = WebCore::TouchCancel;
     1503        break;
     1504    default:
     1505        return EINA_FALSE;
     1506    }
     1507
     1508    WebCore::PlatformTouchEvent te(points, WebCore::IntPoint(x, y), type, metaState);
     1509    ret = sd->frame->eventHandler()->handleTouchEvent(te);
     1510#endif
     1511    return ret;
    14751512}
    14761513
  • trunk/WebKit/efl/ewk/ewk_frame.h

    r68154 r74626  
    131131};
    132132
     133typedef enum {
     134    EWK_TOUCH_START,
     135    EWK_TOUCH_END,
     136    EWK_TOUCH_MOVE,
     137    EWK_TOUCH_CANCEL
     138} Ewk_Touch_Event_Type;
     139
     140typedef enum {
     141    EWK_TOUCH_POINT_PRESSED,
     142    EWK_TOUCH_POINT_RELEASED,
     143    EWK_TOUCH_POINT_MOVED,
     144    EWK_TOUCH_POINT_CANCELLED
     145} Ewk_Touch_Point_Type;
     146
     147typedef struct _Ewk_Touch_Point Ewk_Touch_Point;
     148struct _Ewk_Touch_Point {
     149    unsigned int id;
     150    int x, y;
     151    Ewk_Touch_Point_Type state;
     152};
    133153
    134154EAPI Evas_Object *ewk_frame_view_get(const Evas_Object *o);
     
    201221EAPI Eina_Bool    ewk_frame_feed_mouse_up(Evas_Object *o, const Evas_Event_Mouse_Up *ev);
    202222EAPI Eina_Bool    ewk_frame_feed_mouse_move(Evas_Object *o, const Evas_Event_Mouse_Move *ev);
     223EAPI Eina_Bool    ewk_frame_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type action, Eina_List* points, int metaState);
    203224EAPI Eina_Bool    ewk_frame_feed_key_down(Evas_Object *o, const Evas_Event_Key_Down *ev);
    204225EAPI Eina_Bool    ewk_frame_feed_key_up(Evas_Object *o, const Evas_Event_Key_Up *ev);
  • trunk/cmake/OptionsEfl.cmake

    r74556 r74626  
    9191WEBKIT_FEATURE(ENABLE_SVG_FOREIGN_OBJECT "Enable SVG foreign object" DEFAULT ON SVG)
    9292WEBKIT_FEATURE(ENABLE_SVG_USE "Enable SVG use" DEFAULT ON SVG)
     93WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable Touch Events" DEFAULT OFF)
    9394WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT ON HTML)
    9495WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT OFF)
  • trunk/cmakeconfig.h.cmake

    r74467 r74626  
    3434#define ENABLE_SVG_FOREIGN_OBJECT @ENABLE_SVG_FOREIGN_OBJECT_VALUE@
    3535#define ENABLE_SVG_USE @ENABLE_SVG_USE_VALUE@
     36#define ENABLE_TOUCH_EVENTS @ENABLE_TOUCH_EVENTS_VALUE@
    3637#define ENABLE_VIDEO @ENABLE_VIDEO_VALUE@
    3738#define ENABLE_WEB_SOCKETS @ENABLE_WEB_SOCKETS_VALUE@
Note: See TracChangeset for help on using the changeset viewer.