WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
96906
[EFL][WK2] Process touch events using mouse and multi events of Evas.
https://bugs.webkit.org/show_bug.cgi?id=96906
Summary
[EFL][WK2] Process touch events using mouse and multi events of Evas.
Eunmi Lee
Reported
2012-09-17 04:32:21 PDT
The Evas creates mouse and multi event on the touch device when touching the screen. The mouse event occurs for first finger and multi event occurs for second and third finger, so we can process touch event using them.
Attachments
Patch
(9.45 KB, patch)
2012-09-20 20:26 PDT
,
Eunmi Lee
no flags
Details
Formatted Diff
Diff
Patch
(9.42 KB, patch)
2012-09-24 01:31 PDT
,
Eunmi Lee
no flags
Details
Formatted Diff
Diff
Patch
(12.91 KB, patch)
2012-09-25 00:16 PDT
,
Eunmi Lee
no flags
Details
Formatted Diff
Diff
Patch
(13.04 KB, patch)
2012-09-27 07:42 PDT
,
Eunmi Lee
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Eunmi Lee
Comment 1
2012-09-20 20:26:32 PDT
Created
attachment 165039
[details]
Patch
Eunmi Lee
Comment 2
2012-09-24 01:31:17 PDT
Created
attachment 165328
[details]
Patch
Mikhail Pozdnyakov
Comment 3
2012-09-24 04:32:23 PDT
Comment on
attachment 165328
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165328&action=review
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366 > +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView)
static inline ?
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:375 > + point = static_cast<Ewk_Touch_Point*>(calloc(1, sizeof(Ewk_Touch_Point)));
use 'new' please
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:394 > + free(point);
Coding style forbids using 'free', pls. use 'delete' instead
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:406 > + free(point);
ditto.
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410 > +{
All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it's worth creating one common aux function to be invoked from each of them.
Chris Dumez
Comment 4
2012-09-24 04:47:03 PDT
Comment on
attachment 165328
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165328&action=review
> Source/WebKit2/ChangeLog:8 > + Provide default behaivor for processing touch event in the ewk_view if
"behavior", "touch events"
> Source/WebKit2/ChangeLog:10 > + We can to process touch event using mouse and multi event because the
"touch events"
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366 >> +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView) > > static inline ?
const Evas_Object* ?
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:372 > + int count = evas_touch_point_list_count(smartData->base.evas);
unsigned count = ...; // evas_touch_point_list_count() returns an unsigned integer according to its doc.
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:373 > + Ewk_Touch_Point* point;
In wrong scope, please define point variable inside the for loop.
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410 >> +{ > > All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it's worth creating one common aux function to be invoked from each of them.
Completely agree with Mikhail here.
> Source/WebKit2/UIProcess/API/efl/ewk_view.h:714 > + * The ewk_view will support the touch events if EINA_TRUE or not support the
@c ?
> Source/WebKit2/UIProcess/API/efl/ewk_view.h:715 > + * touch events otherwise. The default value is EINA_TRUE.
@c ? You say here that the default value is true but you actually set if to false in the constructor. Am I missing something?
> Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:752 > +TEST_F(EWK2UnitTestBase, ewk_view_touch_events_enabled)
Is there any way we can test that enabling touch events actually works? e.g. check the view actually gets touch events if enabled?
> Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754 > + ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE));
Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get().
Gyuyoung Kim
Comment 5
2012-09-24 19:04:06 PDT
Comment on
attachment 165328
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165328&action=review
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:374 > + for (int i = 0; i < count; ++i) {
Use unsigned instead of int.
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1857 > + // FIXME: We have to connect touch callbacks with Mouse and Multi event
s/Mouse/mouse/g, s/Multi/multi/g
>> Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754 >> + ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE)); > > Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get().
Use standard boolean, in webkit-efl mailing list, we almost decided to use standard boolean for unit test.
Eunmi Lee
Comment 6
2012-09-24 19:39:02 PDT
Comment on
attachment 165328
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165328&action=review
>> Source/WebKit2/ChangeLog:8 >> + Provide default behaivor for processing touch event in the ewk_view if > > "behavior", "touch events"
oops, I will fix them.
>> Source/WebKit2/ChangeLog:10 >> + We can to process touch event using mouse and multi event because the > > "touch events"
ditto
>>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:366 >>> +static Eina_List* _ewk_view_touch_point_list_get_from_evas(Evas_Object* ewkView) >> >> static inline ? > > const Evas_Object* ?
OK, I will fix for them.
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:376 > + int count = evas_touch_point_list_count(smartData->base.evas); > + Ewk_Touch_Point* point; > + for (int i = 0; i < count; ++i) { > + point = static_cast<Ewk_Touch_Point*>(calloc(1, sizeof(Ewk_Touch_Point))); > + point->id = evas_touch_point_list_nth_id_get(smartData->base.evas, i);
Thanks for your comments. I will fix for them.
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:394 >> + free(point); > > Coding style forbids using 'free', pls. use 'delete' instead
ok
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:406 >> + free(point); > > ditto.
ok
>>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:410 >>> +{ >> >> All 3 functions _ewk_view_on_touch_(up, down, move) seem to do the same except passing of different Ewk_Touch_Event_Type argument for ewk_view_feed_touch_event, so think it's worth creating one common aux function to be invoked from each of them. > > Completely agree with Mikhail here.
ok, I will change to reduce duplicated codes.
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1857 >> + // FIXME: We have to connect touch callbacks with Mouse and Multi event > > s/Mouse/mouse/g, s/Multi/multi/g
ok
>> Source/WebKit2/UIProcess/API/efl/ewk_view.h:715 >> + * touch events otherwise. The default value is EINA_TRUE. > > @c ? > You say here that the default value is true but you actually set if to false in the constructor. Am I missing something?
oops, it is my mistake. the default value is EINA_FALSE. I will fix it.
>> Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:752 >> +TEST_F(EWK2UnitTestBase, ewk_view_touch_events_enabled) > > Is there any way we can test that enabling touch events actually works? e.g. check the view actually gets touch events if enabled?
ok, I will prepare test codes to check that touch events really work.
>>> Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:754 >>> + ASSERT_TRUE(ewk_view_touch_events_enabled_set(webView(), EINA_TRUE)); >> >> Before setting the value, you should test the default value returned by ewk_view_touch_events_enabled_get(). > > Use standard boolean, in webkit-efl mailing list, we almost decided to use standard boolean for unit test.
ok, I will fix.
Eunmi Lee
Comment 7
2012-09-25 00:16:06 PDT
Created
attachment 165536
[details]
Patch
Kenneth Rohde Christiansen
Comment 8
2012-09-26 02:34:59 PDT
Comment on
attachment 165536
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1829 > +Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled)
any reason why this cannot always be one? like why would you ever turn touch support off?
> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 > + // FIXME: We have to connect touch callbacks with mouse and multi events > + // because the Evas creates mouse events for first touch and multi events > + // for second and third touches. Below codes should be fixed when the Evas > + // supports the touch events.
Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
Eunmi Lee
Comment 9
2012-09-26 04:03:12 PDT
Comment on
attachment 165536
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1829 >> +Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled) > > any reason why this cannot always be one? like why would you ever turn touch support off?
If I turn on the touch events, touch events will occur when we use mouse in the desktop because we generates touch event using Evas's mouse events. That means both touch and mouse events occur for one event from mouse device. I don't think that is right operation. so, I hope that enabling mouse events and disabling touch events for desktop environment (with mouse device), and disabling mouse events and enabling touch events for touch device.
>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 >> + // supports the touch events. > > Oh really? EFL seems so broken. So noone can use mouse and touch together... just great
Yes, I hope that EFL supports touch events later.
Laszlo Gombos
Comment 10
2012-09-26 07:31:25 PDT
(In reply to
comment #9
)
> > Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > Yes, I hope that EFL supports touch events later.
Is there a bugID/issueID for EFL where this could be tracked ?
Gyuyoung Kim
Comment 11
2012-09-26 17:39:58 PDT
Comment on
attachment 165536
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
>>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 >>> + // supports the touch events. >> >> Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > Yes, I hope that EFL supports touch events later.
As Gombos said, I think it is better to write bug url you create for this as well.
Eunmi Lee
Comment 12
2012-09-26 18:54:50 PDT
(In reply to
comment #11
)
> (From update of
attachment 165536
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
> > >>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 > >>> + // supports the touch events. > >> > >> Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > > > Yes, I hope that EFL supports touch events later. > > As Gombos said, I think it is better to write bug url you create for this as well.
unfortunately, we don't have any bug or issue id for that in the EFL.
Eunmi Lee
Comment 13
2012-09-26 19:55:06 PDT
(In reply to
comment #12
)
> (In reply to
comment #11
) > > (From update of
attachment 165536
[details]
[details]) > > View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
> > > > >>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 > > >>> + // supports the touch events. > > >> > > >> Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > > > > > Yes, I hope that EFL supports touch events later. > > > > As Gombos said, I think it is better to write bug url you create for this as well. > > unfortunately, we don't have any bug or issue id for that in the EFL.
Even though there is no bug id to track in the EFL, I will create new bug in the WebKit to record this issue.
Raphael Kubo da Costa (:rakuco)
Comment 14
2012-09-27 01:29:56 PDT
(In reply to
comment #12
)
> (In reply to
comment #11
) > > (From update of
attachment 165536
[details]
[details]) > > View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
> > > > >>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 > > >>> + // supports the touch events. > > >> > > >> Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > > > > > Yes, I hope that EFL supports touch events later. > > > > As Gombos said, I think it is better to write bug url you create for this as well. > > unfortunately, we don't have any bug or issue id for that in the EFL.
FWIW, anyone is free to create a ticket in <
http://trac.enlightenment.org/e/newticket
> :-)
Eunmi Lee
Comment 15
2012-09-27 07:25:38 PDT
(In reply to
comment #14
)
> (In reply to
comment #12
) > > (In reply to
comment #11
) > > > (From update of
attachment 165536
[details]
[details] [details]) > > > View in context:
https://bugs.webkit.org/attachment.cgi?id=165536&action=review
> > > > > > >>> Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1844 > > > >>> + // supports the touch events. > > > >> > > > >> Oh really? EFL seems so broken. So noone can use mouse and touch together... just great > > > > > > > > Yes, I hope that EFL supports touch events later. > > > > > > As Gombos said, I think it is better to write bug url you create for this as well. > > > > unfortunately, we don't have any bug or issue id for that in the EFL. > > FWIW, anyone is free to create a ticket in <
http://trac.enlightenment.org/e/newticket
> :-)
Thanks, I will discuss in the efl mailinglist and then create new ticket. :)
Eunmi Lee
Comment 16
2012-09-27 07:42:26 PDT
Created
attachment 165997
[details]
Patch
WebKit Review Bot
Comment 17
2012-09-27 08:07:58 PDT
Comment on
attachment 165997
[details]
Patch Clearing flags on attachment: 165997 Committed
r129765
: <
http://trac.webkit.org/changeset/129765
>
WebKit Review Bot
Comment 18
2012-09-27 08:08:03 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug