paint: Unify scrolling/pinch zoom behaviour across platforms#42387
paint: Unify scrolling/pinch zoom behaviour across platforms#42387yezhizhen merged 3 commits intoservo:mainfrom
Conversation
|
🔨 Triggering try run (#21739616810) for Linux (WPT) |
|
Test results for linux-wpt from try job (#21739616810): Flaky unexpected result (32)
Stable unexpected results that are known to be intermittent (33)
|
|
✨ Try run (#21739616810) succeeded. |
|
Will add a crash test. |
|
While trying to add a testdriver test so that we do not interfere with Python WebDriver conformance, I find another really interesting (well painful as I went nuts in past few hours why it keeps TIMEOUT but python conformance won't..) bug, which if solved can help us unblock many pinch zoom tests: This thing keeps timeout. It seems we never sent back crossbeam response to server for some touchup actions. |
It also means we cannot use the existing servo/components/webdriver_server/actions.rs Lines 521 to 523 in 10209cc We want something with 0 duration. This is very subtle, I believe no other tests have ever tried this. |
|
Another bug in testdriver harness: .pointerMove(x - 150, y - 150, {origin: "viewport", sourceName: "f1", duration: 0.0})It seems 0 duration is regarded as servo/tests/wpt/tests/resources/testdriver-actions.js Lines 547 to 549 in 10209cc |
…s-video_touch.html` (#42405) The syntax is wrong. We cannot pass an Element as duration. Only Firefox [was passing this](https://wpt.fyi/results/pointerevents/pointerevent_touch-propagates-when-target-is-video_touch.html?run_id=5098406608633856&run_id=5170937667518464&run_id=4715813002280960&run_id=5136051728547840), which is a bug of geckodriver: Testing: Updated expectation of existing tests. This blocks #42398, #42387. Signed-off-by: Euclid Ye <[email protected]>
Previously, even if you explicitly set duration 0, it still ends up with `None`. But you can set duration 0 in wdspec python tests. This complies with [spec](https://w3c.github.io/webdriver/#dfn-process-a-wheel-action:~:text=If%20duration%20is%20not%20undefined%20and%20duration%20is%20not%20an%20Integer%20greater%20than%20or%20equal%20to%200%2C%20return%20error%20with%20error%20code%20invalid%20argument%2E): duration can be greater than or equal to 0. Testing: There is no existing testdriver tests that use duration 0. Fixes: web-platform-tests/wpt#57606 Found in: #42387 (comment) --------- Signed-off-by: Euclid Ye <[email protected]>
Signed-off-by: Euclid Ye <[email protected]>
Signed-off-by: Euclid Ye <[email protected]>
f854a16 to
f60e564
Compare
|
🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#57642) with upstreamable changes. |
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#57642) title and body. |
Signed-off-by: Euclid Ye <[email protected]>
f60e564 to
87e485b
Compare
|
@TimvdLippe Would you like to review the newly added test too? Thanks. |
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#57642). |
There has been a weird discrepancy between headed/headless test automation,
as stated in #42386 and #42320 (comment).
The problem identified is more general than the intial issue:
we need to use CSS Pixel and Device Pixel consistently in these cases.
TOUCH_PAN_MIN_SCREEN_PX: this is tested on Android/Ohos,to match the pinch/scrolling threshold of Firefox/Chrome.
This is critical for test automation which always relies on CSS pixel.
Testing: Added which ensures pinch zoom does happen, and there is no crash for #42320.
Fixes: #42386