Unable to scroll product's carousel if swiping over a video that plays on aliexpress.com
Categories
(Core :: DOM: Events, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox145 | --- | fixed |
People
(Reporter: ctanase, Assigned: sefeng211)
References
()
Details
(Keywords: webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat:sightline], [wptsync upstream])
User Story
platform:android impact:feature-broken affects:all configuration:general branch:release diagnosis-team:dom user-impact-score:450
Attachments
(3 files)
Environment:
Operating system: OnePlus 6 A6000 (Android 11)
Firefox version: Nightly 121.0a1-20231107214948
Steps to reproduce:
- Go to any product that has videos in the carousel on aliexpress.com
- Play the video.
- Try scrolling the corousel by swiping over the video.
Expected Behaviour:
The carousel can be scrolled.
Actual Behaviour:
The carousel cannot be scrolled while swiping over a video that plays.
Notes:
- Screen rec provided
- Reproducible on Firefox Release as well
- Not reproducible on Chrome
- Issue found during WebCompat team [Top100] websites testing
Comment 1•2 years ago
|
||
Verified this issue and still reproduces on Firefox 123 and 125.
Tested with:
Browser / Version: Firefox Release 122.1.0 (2016001831-🦎122.0.1-20240205133611🦎)/ Firefox Nightly 125.0a1 (2016004775-🦎125.0a1-20240220212334🦎)/ Firefox Beta 123.0b9 (2016002567-🦎123.0-20240209102425🦎)/ Chrome Mobile Version 121.0.6167.164
Operating System: Google Pixel 3 (Android 12) -1080 x 2160 pixels, 18:9 ratio (~443 ppi density)
Operating System: Oppo Find X5 (Android 13) - 1080 x 2400 pixels, 20:9 ratio (~402 ppi density)
Updated•2 years ago
|
Updated•2 years ago
|
Comment 2•1 year ago
|
||
Comment 3•1 year ago
|
||
It looks like touch events get swallowed by the video event as long as video controls are present (controls attribute is set on <video>) in Firefox. It doesn't happen in Chrome, and the site is relying on that. Not sure which behaviour is correct.
Hi Sean, wonder if you have any thoughts on this? I've attached a testcase above.
| Assignee | ||
Comment 4•1 year ago
|
||
Thanks Ksenia, that example is really helpful. Looks like we stops the event bubbling at https://searchfox.org/mozilla-central/rev/faa7b1b2a7b509df04a8bafbf8520fc162ad1363/dom/html/HTMLMediaElement.cpp#4859-4863, so that the parent element (which is the slider this case) can't receive those events.
I checked bug 1327097 which introduced this change. So the motivation was to trap those events within the media elements to make them handled solely by controls. However, it looks like we don't check whether the controls are visible or not.
I wonder if we should only apply these logic when the controls are visible to the user. Olli, what do you think?
Comment 5•1 year ago
|
||
There is !this->Controls() check. But if that doesn't catch some case when controls aren't visible, then sure, we should add some extra check.
| Assignee | ||
Comment 6•1 year ago
|
||
Thanks.
/me working this bug now
| Assignee | ||
Comment 7•1 year ago
|
||
Bug 1327097 introduced the original change to trap all these events
because we only wanted the controls to handle them. However, this
should only happen when controls is visible.
This patch allows those event still propagates when controlBar
is transparent.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•11 months ago
|
| Assignee | ||
Comment 9•11 months ago
|
||
er I can't remember why I put it aside, I'll start finishing off the patch.
Comment 10•10 months ago
|
||
Hi Sean! Do you still plan to drive this cross the completion line? I talked with Masayuki, who is willing to try helping out, if you'd like assistance from others. :)
| Assignee | ||
Comment 11•10 months ago
|
||
Sure! though I'll be a bit slow :)
| Assignee | ||
Comment 12•9 months ago
|
||
Here's what Chrome did https://codereview.chromium.org/406213002
Seems like they stop the events when the slider is the target https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/media_controls/elements/media_control_volume_slider_element.cc;l=177;drc=877c4eff05eee91a64ab498b2f02928fe718278b;bpv=1;bpt=1
and something similar for the Play button https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/media_controls/elements/media_control_overlay_play_button_element.cc;l=99;drc=877c4eff05eee91a64ab498b2f02928fe718278b;bpv=1;bpt=1
Updated•8 months ago
|
Updated•8 months ago
|
Updated•8 months ago
|
Updated•8 months ago
|
Comment 13•7 months ago
|
||
Comment 15•7 months ago
|
||
| bugherder | ||
Updated•7 months ago
|
Updated•7 months ago
|
Description
•