Closed Bug 1233073 Opened 4 years ago Closed 3 years ago

[Linux] Youtube videos have a short flicker while going into fullscreen

Categories

(Core :: Audio/Video: Playback, defect, P1)

45 Branch
x86
Linux
defect

Tracking

()

VERIFIED FIXED
mozilla52
Tracking Status
platform-rel --- +
firefox45 --- wontfix
firefox46 --- wontfix
firefox49 --- wontfix
firefox50 --- verified
firefox51 --- verified
firefox52 --- verified

People

(Reporter: cbadau, Assigned: xidorn)

References

Details

(Whiteboard: [platform-rel-Youtube])

Attachments

(1 file)

Reproducible with:
- latest DevEdition 45.0a2 (buildID: 20151215004011)
- latest Nightly 46.0a1 (buildID: 20151215030221)

Not reproducible with:
- Firefox 43 RC 

Reproduced on: Ubuntu 13.10 x86 (Graphics: GeForce 210)

Steps to reproduce: 
1. Open Firefox and go to youtube.
2. Select a video (e.g: https://www.youtube.com/watch?v=MiKw3uPGHB4).
3. Start the video and enter fullscreen (click on the fullscreen button). 

Expected Results:
The video correctly switches to fullscreen. 

Actual results: The video has a short flickering while going into fullscreen mode.

Note: This could be a graphics related issue, since I've reproduced it on a machine with GeForce 210 graphics but I could not reproduce it on another machine with Intel HD 2500 grapics.

Graphics details: 

Adapter Description	NVIDIA Corporation -- GeForce 210/PCIe/SSE2
Asynchronous Pan/Zoom	none
Device ID	GeForce 210/PCIe/SSE2
Driver Version	3.3.0 NVIDIA 340.93
GPU Accelerated Windows	0/1 Basic (OMTC)
Supports Hardware H264 Decoding	No;
Vendor ID	NVIDIA Corporation
WebGL Renderer	NVIDIA Corporation -- GeForce 210/PCIe/SSE2
windowLayerManagerRemote	true
AzureCanvasBackend	cairo
AzureContentBackend	cairo
AzureFallbackCanvasBackend	none
AzureSkiaAccelerated	0
CairoUseXRender	1
Hmm. We try to blank the screen while we transition to fullscreen. Does that not happen? Can you please record and attach a video of what happens?
Flags: needinfo?(camelia.badau)
Priority: -- → P2
Here is a video describing the problem: https://www.dropbox.com/s/j83mtgjc328avx3/VIDEO0107.mp4?dl=0
Flags: needinfo?(camelia.badau)
platform-rel: --- → ?
Whiteboard: [platform-rel-Youtube]
Mass change P2 -> P3
Priority: P2 → P3
platform-rel: ? → +
Xidorn, have you seen this bug?
Flags: needinfo?(xidorn+moz)
It seems the transition doesn't work completely as expected... I don't know what happens there.

Did you touch the value of pref full-screen-api.transition-duration.enter and full-screen-api.transition-duration.leave? If you set them to larger numbers, e.g. "1000 1000", what would happen?
Flags: needinfo?(xidorn+moz) → needinfo?(camelia.badau)
I didn't touch the value of pref full-screen-api.transition-duration.enter and full-screen-api.transition-duration.leave. 

If I set them to "1000 1000", I have the following result: https://www.dropbox.com/s/qf7pcp6xpw3pzj8/WP_20160715_16_29_05_Pro.mp4?dl=0 . I still reproduce the issue. 

Note: I've tested on Ubuntu 13.10 32bit using latest Nightly 50.0a1 (buildID: 20160714030208).
Flags: needinfo?(camelia.badau)
Hmmm, so the screen becomes completely black before starting the transition...

The related code should be: https://dxr.mozilla.org/mozilla-central/rev/88bebcaca249aeaca9197382e89d35b02be8292e/widget/gtk/nsWindow.cpp#4963-4984 not sure why the window is shown opaque for a moment.

Karl, do you have any suggestion?
Flags: needinfo?(karlt)
In the video of comment 2, the desktop fades out and in and out, and then the
contents of the non-fullscreen firefox window are faded in to fullscreen, and
then the fullscreen version of the firefox window shows immediately.

There seem to be two issues:
1. The double fade through black.
2. The non-fullscreen window is shown fullscreen.

In the video of comment 6, I see only issue 1.  The desktop fades out and in
and out, and then the fullscreen version of the firefox window is faded in.

For issue 2, does something ensure that Gecko's compositor paints the fullscreen
layout before the fade in transition with eAfterFullscreenToggle?

I guess that doesn't happen before the window is resized, so perhaps the window
manager is still performing a switch-to-fullscreen animation with the old
non-fullscreen layout.

I haven't thought of any possible explanation for two black phases.
Perhaps a window manager animation could be involved there.
Flags: needinfo?(karlt)
(In reply to Karl Tomlinson (:karlt) from comment #8)
> I haven't thought of any possible explanation for two black phases.
> Perhaps a window manager animation could be involved there.

There doesn't seem to be a window manager animation involed. For testing purposes I disabled all animations and the bug still shows up.

System:
Fedora 24 with Gnome Shell 3.20.2
Rank: 20
Priority: P3 → P1
I pretty much want to disable fullscreen transition for Linux completely... It seems to me it is pretty hard to make it work consistently everywhere, given varied configurations.

(FWIW, the transition doesn't work at all for Arch Linux with Gnome shell in my VM. It just shows a black screen for a short period then disappear, no transition animation at all.)
The main reason of having a transition animation was for security against spoofing while keeping reasonable user experience. However, its being so broken significantly affects user experience without a matching improvement on security.  I also expect Linux users are generally more cautious and wouldn't easily be swindled. So let's disable transition by default on Linux.
Comment on attachment 8795167 [details]
Bug 1233073 - Disable fullscreen transition on Linux.

https://reviewboard.mozilla.org/r/81292/#review81162

Yes, I agree there are so many different configurations on Linux that getting something to look consistently smooth would be difficult or impossible.
Attachment #8795167 - Flags: review?(karlt) → review+
Assignee: nobody → xidorn+moz
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d856f453dcd6
Disable fullscreen transition on Linux. r=karlt
https://hg.mozilla.org/mozilla-central/rev/d856f453dcd6
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Duplicate of this bug: 1305736
Is this something that we would like to uplift? Please fill the uplift request if yes.
Comment on attachment 8795167 [details]
Bug 1233073 - Disable fullscreen transition on Linux.

Approval Request Comment
[Feature/regressing bug #]: fullscreen transition was a feature introduced in bug 1160014
[User impact if declined]: user may see undesired effect when using fullscreen
[Describe test coverage new/current, TreeHerder]: actually most of fullscreen tests are currently using this setting rather than our default setting
[Risks and why]: low risk, as it simply disable the transition.
[String/UUID change made/needed]: n/a
Attachment #8795167 - Flags: approval-mozilla-beta?
Attachment #8795167 - Flags: approval-mozilla-aurora?
Comment on attachment 8795167 [details]
Bug 1233073 - Disable fullscreen transition on Linux.

Improve the situation on GNU/Linux, taking it.
Should be in 50 beta 5
Attachment #8795167 - Flags: approval-mozilla-beta?
Attachment #8795167 - Flags: approval-mozilla-beta+
Attachment #8795167 - Flags: approval-mozilla-aurora?
Attachment #8795167 - Flags: approval-mozilla-aurora+
I've tested on Ubuntu 13.10 32bit using latest Nightly 52.0a1 (2016-10-25), latest Aurora 51.0a2 (2016-10-25) and Firefox 50 Beta 10 (buildID: 20161024172922) and the full screen transition is now disabled, but it looks a little bit weird, is not quite smooth - please see how the page looks when you enter in full screen: https://www.dropbox.com/s/kmby0ikl68ls3xm/MOV_0006.mp4?dl=0

It is expected behaviour?
Flags: needinfo?(xidorn+moz)
Yes, that is something expected, though undesired. I guess when fullscreen transition is disabled, you can see similiar issue on other platforms as well, but Linux is probably the worst on this, because we cannot guarantee an atomic content change on Linux (bug 1254448 which I've spent lots of time but gave up eventually), and consequently it has more visible steps and takes longer to reflow.
Flags: needinfo?(xidorn+moz)
Thank you for your answer!

Marking the issue as Verified Fixed. 

(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #23)
> Yes, that is something expected, though undesired. I guess when fullscreen
> transition is disabled, you can see similiar issue on other platforms as
> well, but Linux is probably the worst on this, because we cannot guarantee
> an atomic content change on Linux (bug 1254448 which I've spent lots of time
> but gave up eventually), and consequently it has more visible steps and
> takes longer to reflow.
You need to log in before you can comment on or make changes to this bug.