Bug 99756 - [Qt] fast/events/touch/touch-slider.html is failing
Summary: [Qt] fast/events/touch/touch-slider.html is failing
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-18 14:02 PDT by Tony Chang
Modified: 2014-02-03 03:22 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tony Chang 2012-10-18 14:02:27 PDT
This started happening after I rewrote RenderSlider to use new flexbox.  After debugging, this is due to a difference between how Chromium and Qt handle eventSender.touch* events.

The problem is that on Qt, calling a eventSender.touch* doesn't send a layout. This matters for fast/events/touch/touch-slider.html because the position of the thumb is set during layout.  If I add document.body.offsetLeft between calls to eventSender.touch*, the test passes.

In Chromium's DRT, we explicitly do a layout before sending the touch event (see bug 49285).  Should we do the same for Qt?

Note that Chromium and Qt are the only ports that have touch events enabled.
Comment 1 Simon Hausmann 2012-10-19 04:28:53 PDT
(In reply to comment #0)
> This started happening after I rewrote RenderSlider to use new flexbox.  After debugging, this is due to a difference between how Chromium and Qt handle eventSender.touch* events.
> 
> The problem is that on Qt, calling a eventSender.touch* doesn't send a layout. This matters for fast/events/touch/touch-slider.html because the position of the thumb is set during layout.  If I add document.body.offsetLeft between calls to eventSender.touch*, the test passes.
> 
> In Chromium's DRT, we explicitly do a layout before sending the touch event (see bug 49285).  Should we do the same for Qt?

Sounds like a good idea. Does this belong into the DRT or into cross-platform WebKit code? Where is it handled in Chromium?
Comment 2 Tony Chang 2012-10-19 09:54:06 PDT
(In reply to comment #1)
> Does this belong into the DRT or into cross-platform WebKit code? Where is it handled in Chromium?

I think for DRT, this needs to happen in port specific code because ports don't share EventSender implementations.

For WTR, it might be possible to put layout calls in InjectedBundle/EventSendingController.cpp.

Here's the code in Chromium's DRT:
http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp#L1006
Comment 3 Jocelyn Turcotte 2014-02-03 03:22:59 PST
=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.