Closed Bug 1323984 Opened 7 years ago Closed 7 years ago

"Full Screen" button is inactive

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID
Tracking Status
firefox51 blocking wontfix
firefox52 --- unaffected
firefox53 --- unaffected

People

(Reporter: ccomorasu, Unassigned)

References

()

Details

[Affected versions]:
 Fx 51.0b8 

[Affected platforms]:
 Windows 10 x64
 Windows 7 x64
 Ubuntu 16.04 LTS
 Mac OS X 10.10.5

[Steps to reproduce]:
 1. Open Firefox.
 2. Go to "http://toji.github.io/webgl2-particles-2/".
 3. Minimize the window until the "FULLSCREEN" button is displayed.
 4. Click the "FULLSCREEN" button.

[Expected result]:
The browser goes in Full screen mode.

[Actual result]:
The button is inactive.

[Regression range]:
No regression, it only affects the beta channel.
For clarity, this is reproducible on all beta builds, since the feature landed on 51.
The event handler for the button is doing:
function() {
  if (renderer.domElement.requestFullscreen) {
    renderer.domElement.requestFullscreen();
  } else if (renderer.domElement.webkitRequestFullscreen) {
    renderer.domElement.webkitRequestFullscreen();
  } else if (renderer.domElement.mozRequestFullscreen) {
    renderer.domElement.mozRequestFullscreen();
  }
}

So it looks like requestFullscreen is failing somehow.
Jeff, looks like a webgl2 issue for you here. Can you help find an owner for this issue?
Flags: needinfo?(jgilbert)
While we did not consider this bug blocking for the 51.0b8 push, this seems like a release blocker for Fx51. I hope we get a fix landed on m-b soon. Gerry, just fyi.
Flags: needinfo?(gchang)
Assign myself to check first.
Assignee: nobody → howareyou322
(In reply to Marco Castelluccio [:marco] from comment #2)
> The event handler for the button is doing:
> function() {
>   if (renderer.domElement.requestFullscreen) {
>     renderer.domElement.requestFullscreen();
>   } else if (renderer.domElement.webkitRequestFullscreen) {
>     renderer.domElement.webkitRequestFullscreen();
>   } else if (renderer.domElement.mozRequestFullscreen) {
>     renderer.domElement.mozRequestFullscreen();
>   }
> }

The issue here is that, our prefixed API is called "mozRequestFullScreen" not "mozRequestFullscreen", so this function would not work.

The reason it works on aurora and nightly is that, on non-release builds, we enable the unprefixed Fullscreen API by default (see pref "full-screen-api.unprefix.enabled"). This hasn't been enabled on beta and release yet because that could potentially break some websites. Microsoft Edge enabled unprefixed Fullscreen API for a while, but they decided to step back after seeing various webcompat issues, so we are not going to take that risk at the moment.

We are going to coordinate enabling the unprefixed API with Blink and probably Edge, hopefully soonish.

Given that we will eventually enable the unprefixed API, I'm not very willing to add another prefixed API for now.

So I'd say this bug is invalid, because it is an issue of the website.
Assignee: howareyou322 → nobody
Status: NEW → RESOLVED
Closed: 7 years ago
Component: Canvas: WebGL → DOM
Flags: needinfo?(jgilbert)
Flags: needinfo?(gchang)
Resolution: --- → INVALID
Per comment #7, this is the issue of website. Mark 51 as won't fix.
I've submitted a PR to fix it on the website's side: https://github.com/toji/webgl2-particles-2/pull/9.
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.