Created attachment 44226 [details] Platform touch event Platform independent touch events with refence implementation to Qt4.6 backend. Documentation to IDL file can be found here http://www.starlight-webkit.org/documentation/multitouch Working pre-compiled binaries for testing the multitouch dom events with supported Windows 7 hardware can be found here: http://www.opensource.nokia.com/Starlight Layout test, manipulate and gesture engine patches will be added soon to this bug or followup bug report. Patches have been divided in smaller chunks, so they can be reviewed better. Patches need to be applied in right order, 1 + 12 + 13.
Created attachment 44227 [details] touch12-touch-dom-event
Created attachment 44228 [details] touch13-qtimplementation
style-queue ran check-webkit-style on attachment 44226 [details] without any errors.
style-queue ran check-webkit-style on attachment 44228 [details] without any errors.
style-queue ran check-webkit-style on attachment 44227 [details] without any errors.
Comment on attachment 44226 [details] Platform touch event > + bool areStates(PlatformTouchState state) const I found this method a bit strange. areStates? I guess it is meant for knowing whether all points are in the same state? What about something more descriptive like allTouchPointsAreInState() or allHasState()? > + bool hasState(PlatformTouchState state) const someHasState()? Maybe combine the two methods and use an enum to separate them? > + PlatformTouchMoved, > + PlatformTouchStationary Stationary means that it didn't change ? or ? > + float pressure() const; is this in percentage? > + IntRect rect() const; is this the boundingRect?
Comment on attachment 44228 [details] touch13-qtimplementation > +#if PLATFORM(QT) > + // Qt implementation of touch point > + QTouchEvent::TouchPoint m_touchPoint; > +#endif That is a kind of useless comment :-) Btw, you miss an implementation for QGraphicsWebView it seems.
Created attachment 44234 [details] touch12-touch-dom-event fix to original patch which was missing some files.
style-queue ran check-webkit-style on attachment 44234 [details] without any errors.
From what I can see, there are three versions of WebKit out there on devices today that support handling touch events with Javascript: The version of WebKit that comes with the iPhone, the version that comes with Android (2.0/eclair in particular) and the version that Palm ships in WebOS. As far as I can see they are basically compatible with each other, but neither implementation is upstream here on webkit.org. However there is web content out there today that relies on these interfaces, and given the popularity of these platforms I'm inclined to say that these interfaces have become a de-facto standard. I believe touch interfaces for inclusion in webkit.org should be compatible (identical?) to this "standard".
A slightly more Qt implementation specific comment: The touch event interface in Qt (QTouchEvent) is based on the concept that one event provides information of all the touch points. It appears that the aforementioned existing JS interface for touch interaction use the same model, therefore making the mapping from QTouchEvent to the JS interface a really simple translation of data structures.
Created attachment 44570 [details] Added interfaces for touch event support in JavaScript.
Created attachment 44571 [details] https://bugs.webkit.org/show_bug.cgi?id=32114
Created attachment 44572 [details] https://bugs.webkit.org/show_bug.cgi?id=32114
style-queue ran check-webkit-style on attachment 44570 [details] without any errors.
Comment on attachment 44570 [details] Added interfaces for touch event support in JavaScript. Looks good, r=me
Created attachment 44676 [details] Patch
Comment on attachment 44572 [details] https://bugs.webkit.org/show_bug.cgi?id=32114 Obsoleted by new patch that has a merge conflict with the mac/Skipped file fixed
style-queue ran check-webkit-style on attachment 44676 [details] without any errors.
Comment on attachment 44570 [details] Added interfaces for touch event support in JavaScript. Clearing flags on attachment: 44570 Committed r51981: <http://trac.webkit.org/changeset/51981>
Comment on attachment 44676 [details] Patch Clearing flags on attachment: 44676 Committed r51982: <http://trac.webkit.org/changeset/51982>
All reviewed patches have been landed. Closing bug.