The page is visible behind fullscreen element after displayport expires
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
People
(Reporter: csheany, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: regression, Whiteboard: [geckoview:p2])
Attachments
(4 files)
User Agent: Mozilla/5.0 (Android 7.1.1; Tablet; rv:65.0) Gecko/65.0 Firefox/65.0 Steps to reproduce: 1. Open YouTube 2. Request desktop site 3. Play a video 4. Enter fullscreen Actual results: With the video in portrait mode the page the appears underneath. Landscape doesn't seem to be affected. Expected results: The screen should remain as it was when fullscreen was first entered.
Comment 3•2 years ago
|
||
Thanks for the report! Tried to reproduce this issue following the steps from comment 0 with Sony Xperia Z2(Android 6.0.1) and Samsung Galaxy Tab S3(Android 8.0) and the video performed well in fullscreen, no visual issues was displayed. I did find the bug 1377873 while testing. Could you please make a video to see if there are some additionals steps? Is reproducible all the time? Thanks again!
Thank your for looking into it. It seems to happen on a consistent basis. Can you confirm that the desktop site was tested? Did you have any issues with the controls?
Comment 5•2 years ago
|
||
Hi csheany, I tried to reproduce your issue using your steps from comment 0 and I can confirm this issue on all branches: Nightly 65.0a1 (2018-11-25), Beta 64.0b12 and Release 63.0.2. It seems to be reproducible on both phone/tablet. After entering on the fullscreen, if I scroll the page, it seems to be scrollable. Devices: Nexus 5 (Android 6.0.1), OnePlus 5T(Android 8.1.0), Sony Xperia Z5 (Android 7.0), Samsung Galaxy Note 9 (Android 8.1), Samsung Galaxy Tab S3 (Android 8.0), Sony Xperia Z2(Android 6.0.1) and Nexus 9 (Android 6.0.1). Not reproducible on Google Pixel (Android 9). Based on that, I'll make the issue as New.
Thank you for looking into it. I believe the scrolling functionality is intended based on the hint in the controls. This is referring to more of a flicker.
To reproduce without the scrolling element: 1. Open https://www.youtube.com/embed/09XmbByy6Sk 2. Request desktop site 3. Play the video 4. Enter fullscreen
The issue is that a backward L chunk is removed. In the case above the "page" is a black background not to be confused with the standard placeholder above and below.
Reporter | ||
Comment 10•2 years ago
|
||
For a non YouTube example https://introducinghtml5.com/examples/ch04/ch4-full-fallback.html This uses the native controls.
Reporter | ||
Comment 11•2 years ago
|
||
Comment 12•2 years ago
|
||
Hi, I can confirm the second scenario on both portrait/landscape mode using your links. The issue occurs only after few seconds after putting the video in fullscreen mode. Reproducible on all branches(Nightly, Beta, Release) with: OnePlus 5T (Android 8.1.0) and Nokia 6 (Android 7.1.1) Note: Not reproducible on Chrome.
Comment 13•2 years ago
|
||
Over to media for more triage.
Comment 14•2 years ago
|
||
I think Randall has additional context for this bug.
Comment 15•2 years ago
|
||
We see this same issue in Firefox Reality when requesting a desktop version of a site. I believe it may have something to do with the desktop viewport[1]. What seems to be happening is the element going fullscreen doesn't actually cover the entire screen and the page behind is visible. One possible cause is the screen size which is only reported at start up for android, but can actually change if the device is switched from portrait to landscape mode. [1] https://searchfox.org/mozilla-central/source/mobile/android/chrome/geckoview/GeckoViewSettingsChild.js#72
Reporter | ||
Comment 16•2 years ago
|
||
In my experience it is covered initially and occurs after a few seconds. I wonder if... The video format itself could be a factor? The metadata hasn't loaded? Maybe it wants to switch to landscape when in portrait?
Comment 18•2 years ago
|
||
If it's an media codec issue, it should be reproducible on the desktop. I couldn't reproduce it on the desktop, so I guess the problem might be in requestFullscreen API or on the front-end side.
Comment 19•2 years ago
|
||
Hi Imanol, is it possibly related to the change of bug 1498246 ?
Comment 20•2 years ago
|
||
Hi Chun, it shouldn't be related to bug 1498246. That API only listens to media events, but doesn't mutate anything, and is probably is disabled (we only use it in Firefox Reality AFAIK).
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Reporter | ||
Comment 21•2 years ago
|
||
I also reproduce this on the test page from Bug 1500719. https://bug1493976.bmoattachments.org/attachment.cgi?id=9018847 Xidorn, do you have any thoughts?
Reporter | ||
Comment 22•2 years ago
|
||
Updated•2 years ago
|
Comment 23•2 years ago
|
||
I cannot reproduce it on my Android phone with Beta following steps in comment 0. Is this reproducible without any addons? Looking at the screenshot, this may not be a GeckoView issue, but more likely a graphics issue or a layout issue. For people who can reproduce, it's worth using remote debugging tool to check the geometry of the video element to see what's happening on the page.
Comment 24•2 years ago
|
||
If it's reliably reproducible with attachment 9018847 [details], it might be easiler to check this page, since it's much simpler than youtube.
Reporter | ||
Comment 25•2 years ago
|
||
What about with the example from Comment 10?
Comment 26•2 years ago
|
||
(In reply to Xidorn Quan [:xidorn] UTC+11 from comment #24) > If it's reliably reproducible with attachment 9018847 [details], it might be > easiler to check this page, since it's much simpler than youtube. I can reproduce this bug on my Moto G5 Plus in Fennec, but not Focus + GeckoView 64. I'm using that simpler test case, so this is not a video problem. Due to the consistent timing and shape of the white portion of the page, this feels like a graphics invalidation problem. In Fennec 65 Beta and 66 Nightly, the test enters full screen, all purple as expected. After about 10 seconds, the right and bottom halves of the page turn from purple to white. If I tap the page, the white portion turns purple again. After 10 more seconds, the white portion returns. In Fennec 64, the test enters full screen, but the address bar is still visible. After about 10 seconds, the address bar disappears. After about 5 more seconds, the right and bottom halves of the page turn from purple to white (as in Fennec 65 Beta and 66 Nightly). Did Fennec 65 change how the address bar works in full screen? It's interesting that the wait for the page to turn purple happens after the address bar disappears, not after the page first enters "full screen" (when the page is all purple but the address bar is still visible).
Comment 27•2 years ago
|
||
Oh, I can reproduce what is described in comment 26 that after waiting for 10s large portion of the page becomes white. This indeed feels like a graphics problem... so moving it there for now. I don't think in fullscreen related code should be changing anything after 10s. On my device (Xperia XZ), the purple area shrinks to 397x705 (from 1080x1920), which is a ratio of ~2.7x. It doesn't seem to match any number really...
Comment 28•2 years ago
|
||
This seems to be related to the displayport expiry. (That's the 15-second delay before the issue occurs)
Comment 30•2 years ago
|
||
It's something I can investigate, but my queue is full with other higher-priority tasks, so it will be a while before I get to this.
Reporter | ||
Comment 31•2 years ago
|
||
I think I tracked down the regression.
The last good build was Nightly 54.0a1 (2017-02-02)
The first bad build was Nightly 54.0a1 (2017-02-03)
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f985243bb630&tochange=2aede0a97bc6
Would you mind taking a quick look?
Comment 32•2 years ago
|
||
Thanks for getting a regression window.
In that window, bug 1298218 jumps out as a potential regressing bug, as it is a significant change and has caused a number of other scrolling-related regressions over time. I'm tentatively marking this as blocking bug 1298218 and needinfoing Markus.
Reporter | ||
Comment 33•2 years ago
|
||
Matt or Timothy, would either of you mind taking a look?
Comment 34•2 years ago
|
||
Botond, are you able to check if this is fixed by containerless scrolling for Android?
Comment 35•2 years ago
|
||
Testing on https://bugzilla.mozilla.org/attachment.cgi?id=9018847, I can reproduce the issue in the latest nightly, and not with containerless scrolling, so yes, I would say this is potentially fixed by containerless scrolling.
Comment 36•2 years ago
|
||
Great, let's wait for that to land then, rather than investing time into debugging code we're trying to get rid of.
Updated•2 years ago
|
Reporter | ||
Comment 38•2 years ago
|
||
Restoring the flag to get your thoughts.
Comment 39•2 years ago
|
||
No thoughts needed. This is waiting for containerless scrolling.
Reporter | ||
Comment 40•2 years ago
|
||
I understand the logic.
I was just thinking about the releases without it while it rides the trains.
Also, what is the purpose of displayport expiration?
Comment 41•2 years ago
|
||
(In reply to csheany from comment #40)
I was just thinking about the releases without it while it rides the trains.
We're not going to fix it in those releases. It's not a good use of time to try doing that, as we have a lot of other things that need fixing too.
Also, what is the purpose of displayport expiration?
To save memory when the user is not actively scrolling. Having a displayport on a scrollframe uses up a bunch of memory.
Reporter | ||
Comment 42•2 years ago
|
||
I guess a part of me wants to hear what he has to say.
Here's to Nightly 67.0a1 (2019-03-08) :)
Comment 43•2 years ago
|
||
I agree with kats, containerless scrolling is the "right" way to fix this, and it's happening.
Reporter | ||
Comment 44•2 years ago
|
||
Thank you Markus :)
Comment 45•2 years ago
|
||
As I mentioned in bug 1500719 comment 34, I tested layout.scroll.root-frame-containers
(flip it back and forth in nightly) and it seems to me that containerless scrolling does fix this issue.
Comment 46•2 years ago
|
||
(In reply to Xidorn Quan [:xidorn] UTC+11 from comment #45)
As I mentioned in bug 1500719 comment 34, I tested
layout.scroll.root-frame-containers
(flip it back and forth in nightly) and it seems to me that containerless scrolling does fix this issue.
Given that Containerless scrolling landed with 67, I am going to mark this bug as fixed.
Reporter | ||
Comment 47•2 years ago
|
||
I wish that were the case but unfortunately not yet.
Comment 48•2 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #35)
Testing on https://bugzilla.mozilla.org/attachment.cgi?id=9018847, I can reproduce the issue in the latest nightly, and not with containerless scrolling, so yes, I would say this is potentially fixed by containerless scrolling.
Re-testing on the same page, I can confirm that this still affects recent nightlies, even though we now have containerless scrolling.
It would be interesting to find out what regressed it with containerless scrolling enabled.
Happy to take a patch for 70 but since this is triaged and set to P3 priority I'm setting it as fix-optional.
That will remove the bug from weekly regression triage.
Updated•1 year ago
|
Description
•