Closed
Bug 1288799
Opened 9 years ago
Closed 9 years ago
Clean up and fully automate W3C touch-action tests
Categories
(Core :: DOM: Events, defect)
Core
DOM: Events
Tracking
()
RESOLVED
FIXED
mozilla50
Tracking | Status | |
---|---|---|
firefox50 | --- | fixed |
People
(Reporter: kats, Assigned: kats)
References
Details
Attachments
(3 files, 3 obsolete files)
59.51 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
4.02 KB,
patch
|
botond
:
review+
|
Details | Diff | Splinter Review |
14.23 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
The W3C spec for pointer events has a bunch of touch-action tests that can be run manually. They live in our testing/web-platform/tests/pointerevents/ folder, but are not run in automation. Our WebDriver setup doesn't seem to support native event synthesization, and while I looked into it briefly, it seems nontrivial to add.
There is also a copy of the tests in dom/events/test/pointerevents/, which Maksim added. These are the same tests, but modified to run as mochitests. Except that they're all disabled, and the modifications don't make a lot of sense to me. They still don't use the native event synthesization APIs.
I would like to dust off these tests and get them working again, using native event synthesization so that they simulate what a user would do while running the test manually. I have a proof of concept working, so I'm fairly confident this can be done.
Assignee | ||
Updated•9 years ago
|
Summary: Clean up and fully automate touch-action tests → Clean up and fully automate W3C touch-action tests
Assignee | ||
Comment 1•9 years ago
|
||
Assignee | ||
Comment 2•9 years ago
|
||
Assignee | ||
Comment 3•9 years ago
|
||
Assignee | ||
Comment 4•9 years ago
|
||
The above pass for me locally on OS X (with the patches from bug 1278009 and bug 1288187 applied). Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=c1140e3f2a0f
Assignee | ||
Comment 5•9 years ago
|
||
Above try push shows failures on Linux, and I see similar failures when I run it locally on my Windows Surface device. I'll dig into it. Probably just a timing issue somewhere, it looks like some of the synthesized events are getting lost maybe.
Assignee | ||
Comment 6•9 years ago
|
||
There turned out to be a couple of issues. One was that the scroll amounts (10px) I was using were too small, so they were getting detected as taps/double-taps in some cases. Scrolling 50px fixed that. The other issue was a legitimate bug in the APZ code where we weren't handling "pan-x pan-y" properly. I have patches, just waiting for try runs to go green before I put them up.
Assignee | ||
Comment 7•9 years ago
|
||
The plan here is to remove the old (disabled, and not really working) mochitest version of the W3C touch-action tests, and replace it with something better. The final state will have the unmodified test files from the W3C suite, with a mochitest wrapper that loads those tests and simulates the touch input needed to exercise the tests. This patch just removes the old things, the new stuff will come in part 3.
Attachment #8774121 -
Attachment is obsolete: true
Attachment #8775835 -
Flags: review?(bugs)
Assignee | ||
Comment 8•9 years ago
|
||
Attachment #8774122 -
Attachment is obsolete: true
Attachment #8775836 -
Flags: review?(botond)
Assignee | ||
Comment 9•9 years ago
|
||
The try push at https://treeherder.mozilla.org/#/jobs?repo=try&revision=683069fe5e9c has these tests running and passing on Linux and OS X inside the M-e10s-2 job.
Attachment #8774123 -
Attachment is obsolete: true
Attachment #8775837 -
Flags: review?(bugs)
Comment 10•9 years ago
|
||
Comment on attachment 8775835 [details] [diff] [review]
Part 1 - Remove old test stuffs and import unmodified W3C files
rs+
Attachment #8775835 -
Flags: review?(bugs) → review+
Comment 11•9 years ago
|
||
Comment on attachment 8775837 [details] [diff] [review]
Part 3 - Add the new mochitest that runs the W3C touch action tests
Don't you need something for the case if apz isn't enabled.
Like, todo(); or so.
rs+
Attachment #8775837 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 12•9 years ago
|
||
(In reply to Olli Pettay [:smaug] from comment #11)
> Don't you need something for the case if apz isn't enabled.
> Like, todo(); or so.
It's a little sneaky but the isApzEnabled() check has that built-in. http://searchfox.org/mozilla-central/rev/1112b7a5222b71a3b5b68bd531f50ded6bcbc770/gfx/layers/apz/test/mochitest/apz_test_utils.js#263
Updated•9 years ago
|
Attachment #8775836 -
Flags: review?(botond) → review+
Comment 13•9 years ago
|
||
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/41f642c6793d
Delete the old mochitest wrappers for the touch-action mochitests, and copy over the unmodified W3C files. rs=smaug
https://hg.mozilla.org/integration/mozilla-inbound/rev/57a85939e44a
Add a hook to run a custom onload function in APZ group subtests, and a helper to inject scripts into documents. r=botond
https://hg.mozilla.org/integration/mozilla-inbound/rev/8fb07560ca17
Add a test_touch_action.html which runs all of the W3C touch-action tests as mochitests. rs=smaug
Comment 14•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/41f642c6793d
https://hg.mozilla.org/mozilla-central/rev/57a85939e44a
https://hg.mozilla.org/mozilla-central/rev/8fb07560ca17
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in
before you can comment on or make changes to this bug.
Description
•