www.wetter.com - The video is stuck in a loading state
Categories
(Web Compatibility :: Site Reports, defect, P3)
Tracking
(firefox130 affected, firefox132 affected)
People
(Reporter: rbucata, Unassigned)
References
()
Details
(Keywords: webcompat:needs-contact, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs])
User Story
platform:windows,mac,linux,android impact:annoyance configuration:general affects:all branch:release diagnosis-team:media
Environment:
Operating system: Windows 10
Firefox version: Firefox 130.0
Steps to reproduce:
- Navigate to: https://www.wetter.com/hd-live-webcams/deutschland/dresden-bruehlsche-terrasse-am-elbufer/60ca75ecb498f/
- Accept the cookie policy and observe
Expected Behavior:
The video plays
Actual Behavior:
The video is stuck in a loading state
Notes:
- Reproduces regardless of the status of ETP
- Reproduces in Firefox Nightly, and Firefox Release
- Does not reproduce in Chrome
Created from https://github.com/webcompat/web-bugs/issues/141719
Reporter | ||
Updated•2 months ago
|
Comment 1•2 months ago
|
||
This is likely related to autoplay blocking.
Comment 2•2 months ago
|
||
This video is playing for me on Windows.
Comment 3•1 months ago
|
||
(In reply to Jim Mathies [:jimm] from comment #2)
This video is playing for me on Windows.
Can you post your about:support
and a media profile? I can reproduce this issue on both my Windows 10 and 11, but if we play the video directly from its url, then the video is playing well. I will update more details later after finishing my investigation.
Comment 4•1 months ago
|
||
Okay, this is related with block autoplay. If I allow autoplay, then the video can start well. However, after clicking the cookie policy, the document should be allowed to autoplay. I noticed that the sticky activation changed to false
later (that shouldn't happen) which prevents video from starting. I will keep debugging this further tomorrow.
Comment 5•1 month ago
|
||
After clicking the accept button on the cookie policy, I can see the website first tried to play an inaudible media which seems being used to detect autoplay policy. We can see that the user gesture activation was true (due to clicking) on the top level window context 1e228927d00
.
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay topContext=1e228927d00, HasBeenUserGestureActivated=1
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay Allow autoplay as top-level context has been activated by user gesture.
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay IsWindowAllowedToPlayOverall (window=1e227071030), byGesture=1, byTraits=0
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay Use 'sticky-activation', isAllowed=1 in window 1e227071030
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay IsAllowedToPlayInternal, isInaudible=1,isUsingAutoplayModel=1, sitePermission=0, defaultBehaviour=1
2024-10-10 18:04:38.547000 UTC - [Child 16560: Main Thread]: D/Autoplay IsAllowedToPlay, mediaElement=1e228bcd800, isAllowToPlay=allowed
Later, the website started playing another autoplay media, which is the main video on the page. We can see the top level context became a different one, which didn't have user gesture activation.
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay topContext=1e22ebd6b00, HasBeenUserGestureActivated=0
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay IsWindowAllowedToPlayOverall (window=1e22f0c9030), byGesture=0, byTraits=0
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay Use 'sticky-activation', isAllowed=0 in window 1e22f0c9030
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay IsAllowedToPlayInternal, isInaudible=0,isUsingAutoplayModel=0, sitePermission=0, defaultBehaviour=1
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay IsAllowedToPlay, mediaElement=1e228bcf000, isAllowToPlay=blocked
2024-10-10 18:04:42.088000 UTC - [Child 16560: Main Thread]: D/Autoplay reject MediaElement 1e228bcf000 to play
Hi, Edgar,
I thought that there should only be only ONE top level window context within a tab? If I remember it correctly, even if there are multiple iframes from different origins, it should only be one top level window and we will use it for determining the result for behaviors requiring sticky activation.
In addition, I wonder what rule is for propagating the sticky activation nowaday? Will it still be propagated across different iframes? even if in different origins? Could you help me to answer these questions?
Thank you so much!
Updated•1 month ago
|
Comment 6•1 month ago
|
||
(In reply to Alastor Wu [:alwu] from comment #5)
I thought that there should only be only ONE top level window context within a tab?
Yes, that's right.
In addition, I wonder what rule is for propagating the sticky activation nowaday? Will it still be propagated across different iframes? even if in different origins? Could you help me to answer these questions?
The user activation is propagated to
- All ancestor frames of the activated frame.
- Same-origin descendant frames of the activated frame.
See https://searchfox.org/mozilla-central/rev/ec4996707f5aa721097183d6da6a9546e2fbec30/dom/base/Document.cpp#17347-17369, so yes, it is possible to propagate user activation across different cross-origin frames.
Comment 7•1 month ago
|
||
(In reply to Edgar Chen [:edgar] from comment #6)
Yes, that's right.
If so, could you help me investigate this issue? In Autoplay policy, we check this top level window context. However, in the comment 5, we can see that the top level window context became different (1e228927d00
v.s. 1e22ebd6b00
) when media was calling play. Maybe it's a bug in GetTopWindowContext()
?
Thanks!
Comment 8•1 month ago
|
||
I think they are not the same top-level window context because of the reload, I do see page calls location.reload()
after user clicks the cookie policy.
Comment 9•1 month ago
|
||
Thanks! Then this issue is website's problem, after calling reload, they should handle the player UI properly. If autoplay is not allowed, they should show a play icon, instead of showing loading.
Description
•